-
-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Class / object detection suppresses initialization errors #535
Comments
Can you please try a more recent version of specs2, like [error]
[error] cannot create an instance for class user.FooSpec
[error] caused by scala.NotImplementedError: an implementation is missing
[error]
[error] STACKTRACE
[error] sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[error] sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[error] sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[error] java.lang.reflect.Constructor.newInstance(Constructor.java:422)
[error] org.specs2.reflect.Classes.$anonfun$createInstanceForConstructor$1(Classes.scala:61)
[error] org.specs2.reflect.Classes.newInstance(Classes.scala:83)
[error] org.specs2.reflect.Classes.createInstanceForConstructor(Classes.scala:61)
[error] org.specs2.reflect.Classes.findInstance(Classes.scala:47)
[error] org.specs2.reflect.Classes.createInstanceFromClass(Classes.scala:29)
[error] org.specs2.reflect.Classes.createInstanceFromClass$(Classes.scala:28)
[error] org.specs2.reflect.Classes$.createInstanceFromClass(Classes.scala:109)
[error] org.specs2.reflect.Classes.$anonfun$createInstance$1(Classes.scala:25)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:379)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.IntoPolyLower2$$anon$3.$anonfun$apply$8(IntoPoly.scala:60)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Interpret.$anonfun$interpretLoop$11(Interpret.scala:197)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.CollectedUnions.$anonfun$othersEff$1(Unions.scala:97)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:379)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:341)
[error] org.specs2.control.eff.CollectedUnions.$anonfun$continuation$1(Unions.scala:84)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Interpret$$anon$1.$anonfun$onEffect$1(Interpret.scala:52)
[error] scalaz.std.EitherInstances$$anon$13.bimap(Either.scala:54)
[error] scalaz.std.EitherInstances$$anon$13.bimap(Either.scala:51)
[error] scalaz.syntax.BifunctorOps.bimap(BifunctorSyntax.scala:9)
[error] org.specs2.control.eff.Interpret$$anon$1.onEffect(Interpret.scala:52)
[error] org.specs2.control.eff.Interpret$$anon$1.onApplicativeEffect(Interpret.scala:60)
[error] org.specs2.control.eff.Interpret$$anon$1.onApplicativeEffect(Interpret.scala:44)
[error] org.specs2.control.eff.Interpret.go$1(Interpret.scala:199)
[error] org.specs2.control.eff.Interpret.interpretLoop(Interpret.scala:206)
[error] org.specs2.control.eff.Interpret.interpretLoop$(Interpret.scala:141)
[error] org.specs2.control.eff.Interpret$.interpretLoop(Interpret.scala:586)
[error] org.specs2.control.eff.Interpret.interpret(Interpret.scala:70)
[error] org.specs2.control.eff.Interpret.interpret$(Interpret.scala:43)
[error] org.specs2.control.eff.Interpret$.interpret(Interpret.scala:586)
[error] org.specs2.control.eff.Interpret.interpret1(Interpret.scala:77)
[error] org.specs2.control.eff.Interpret.interpret1$(Interpret.scala:76)
[error] org.specs2.control.eff.Interpret$.interpret1(Interpret.scala:586)
[error] org.specs2.control.eff.ErrorInterpretation.runError(ErrorEffect.scala:86)
[error] org.specs2.control.eff.ErrorInterpretation.runError$(ErrorEffect.scala:67)
[error] org.specs2.control.eff.ErrorEffect$.runError(ErrorEffect.scala:201)
[error] org.specs2.control.eff.syntax.error$ErrorEffectOps.runError(error.scala:15)
[error] org.specs2.control.package$.executeAction(package.scala:66)
[error] org.specs2.runner.SbtRunner$$anon$4.specStructure$lzycompute(SbtRunner.scala:42)
[error] org.specs2.runner.SbtRunner$$anon$4.specStructure(SbtRunner.scala:39)
[error] org.specs2.runner.SbtRunner$$anon$4.execute(SbtRunner.scala:53)
[error] sbt.ForkMain$Run$2.call(ForkMain.java:296)
[error] sbt.ForkMain$Run$2.call(ForkMain.java:286)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[error] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[error] java.lang.Thread.run(Thread.java:745)
[error]
[error] CAUSED BY scala.NotImplementedError: an implementation is missing
[error] scala.Predef$.$qmark$qmark$qmark(Predef.scala:284)
[error] user.FooSpec.<init>(TestSpec.scala:22)
[error] sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[error] sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[error] sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[error] java.lang.reflect.Constructor.newInstance(Constructor.java:422)
[error] org.specs2.reflect.Classes.$anonfun$createInstanceForConstructor$1(Classes.scala:61)
[error] org.specs2.reflect.Classes.newInstance(Classes.scala:83)
[error] org.specs2.reflect.Classes.createInstanceForConstructor(Classes.scala:61)
[error] org.specs2.reflect.Classes.findInstance(Classes.scala:47)
[error] org.specs2.reflect.Classes.createInstanceFromClass(Classes.scala:29)
[error] org.specs2.reflect.Classes.createInstanceFromClass$(Classes.scala:28)
[error] org.specs2.reflect.Classes$.createInstanceFromClass(Classes.scala:109)
[error] org.specs2.reflect.Classes.$anonfun$createInstance$1(Classes.scala:25)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:379)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.IntoPolyLower2$$anon$3.$anonfun$apply$8(IntoPoly.scala:60)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Interpret.$anonfun$interpretLoop$11(Interpret.scala:197)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.CollectedUnions.$anonfun$othersEff$1(Unions.scala:97)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:379)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:341)
[error] org.specs2.control.eff.CollectedUnions.$anonfun$continuation$1(Unions.scala:84)
[error] org.specs2.control.eff.Arrs.go$1(Eff.scala:376)
[error] org.specs2.control.eff.Arrs.apply(Eff.scala:392)
[error] org.specs2.control.eff.Interpret$$anon$1.$anonfun$onEffect$1(Interpret.scala:52)
[error] scalaz.std.EitherInstances$$anon$13.bimap(Either.scala:54)
[error] scalaz.std.EitherInstances$$anon$13.bimap(Either.scala:51)
[error] scalaz.syntax.BifunctorOps.bimap(BifunctorSyntax.scala:9)
[error] org.specs2.control.eff.Interpret$$anon$1.onEffect(Interpret.scala:52)
[error] org.specs2.control.eff.Interpret$$anon$1.onApplicativeEffect(Interpret.scala:60)
[error] org.specs2.control.eff.Interpret$$anon$1.onApplicativeEffect(Interpret.scala:44)
[error] org.specs2.control.eff.Interpret.go$1(Interpret.scala:199)
[error] org.specs2.control.eff.Interpret.interpretLoop(Interpret.scala:206)
[error] org.specs2.control.eff.Interpret.interpretLoop$(Interpret.scala:141)
[error] org.specs2.control.eff.Interpret$.interpretLoop(Interpret.scala:586)
[error] org.specs2.control.eff.Interpret.interpret(Interpret.scala:70)
[error] org.specs2.control.eff.Interpret.interpret$(Interpret.scala:43)
[error] org.specs2.control.eff.Interpret$.interpret(Interpret.scala:586)
[error] org.specs2.control.eff.Interpret.interpret1(Interpret.scala:77)
[error] org.specs2.control.eff.Interpret.interpret1$(Interpret.scala:76)
[error] org.specs2.control.eff.Interpret$.interpret1(Interpret.scala:586)
[error] org.specs2.control.eff.ErrorInterpretation.runError(ErrorEffect.scala:86)
[error] org.specs2.control.eff.ErrorInterpretation.runError$(ErrorEffect.scala:67)
[error] org.specs2.control.eff.ErrorEffect$.runError(ErrorEffect.scala:201)
[error] org.specs2.control.eff.syntax.error$ErrorEffectOps.runError(error.scala:15)
[error] org.specs2.control.package$.executeAction(package.scala:66)
[error] org.specs2.runner.SbtRunner$$anon$4.specStructure$lzycompute(SbtRunner.scala:42)
[error] org.specs2.runner.SbtRunner$$anon$4.specStructure(SbtRunner.scala:39)
[error] org.specs2.runner.SbtRunner$$anon$4.execute(SbtRunner.scala:53)
[error] sbt.ForkMain$Run$2.call(ForkMain.java:296)
[error] sbt.ForkMain$Run$2.call(ForkMain.java:286)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[error] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[error] java.lang.Thread.run(Thread.java:745)
[error]
[error] Error: Total 1, Failed 0, Errors 1, Passed 0
[error] Error during tests:
[error] user.FooSpec
[error] (tests/test:testOnly) sbt.TestsFailedException: Tests unsuccessful |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If I have a spec like:
When I execute this, I get a
ClassNotFoundException: FooSpec$
:The reason AFAICT is that the "detect FooSpec or FooSpec$" logic treats any initialization failure for
FooSpec
as "well, guess I should tryFooSpec$
", which also fails, but in the process ends up completely suppressing the real failure.(Disclaimer, I'm using specs 3.6 and haven't technically tried the above reproduction in a clean/minimal project, but it matches what I've seen in my codebase.)
The text was updated successfully, but these errors were encountered: