scala-stm icon indicating copy to clipboard operation
scala-stm copied to clipboard

JavaAPITests - JUnit/ScalaTest configuration problem (prints 'key not found')

Open Sciss opened this issue 7 years ago • 0 comments

This suite produces the following exceptions:

Reporter completed abruptly with an exception after receiving event: TestStarting(Ordinal(0, 518),JavaAPITests,scala.concurrent.stm.JavaAPITests,Some(scala.concurrent.stm.JavaAPITests),atomicWithCallable,atomicWithCallable,Some(MotionToSuppress),Some(TopOfMethod(scala.concurrent.stm.JavaAPITests,public void scala.concurrent.stm.JavaAPITests.atomicWithCallable())),None,None,pool-6-thread-7,1521041705624).
java.util.NoSuchElementException: key not found: scala.concurrent.stm.JavaAPITests
	at scala.collection.MapLike.default(MapLike.scala:232)
	at scala.collection.MapLike.default$(MapLike.scala:231)
	at scala.collection.AbstractMap.default(Map.scala:59)
	at scala.collection.mutable.HashMap.apply(HashMap.scala:65)
	at org.scalatest.tools.SuiteSortingReporter.handleTestEvents(SuiteSortingReporter.scala:150)
	at org.scalatest.tools.SuiteSortingReporter.doApply(SuiteSortingReporter.scala:75)
	at org.scalatest.CatchReporter.apply(CatchReporter.scala:36)
	at org.scalatest.CatchReporter.apply$(CatchReporter.scala:34)
	at org.scalatest.tools.SuiteSortingReporter.apply(SuiteSortingReporter.scala:26)
	at org.scalatest.tools.Framework$SbtReporter.apply(Framework.scala:1111)
	at org.scalatest.junit.MyRunListener.testStarted(MyRunListener.scala:100)
	at org.junit.runner.notification.SynchronizedRunListener.testStarted(SynchronizedRunListener.java:49)
	at org.junit.runner.notification.RunNotifier$3.notifyListener(RunNotifier.java:121)
	at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
	at org.junit.runner.notification.RunNotifier.fireTestStarted(RunNotifier.java:118)
	at org.junit.internal.runners.model.EachTestNotifier.fireTestStarted(EachTestNotifier.java:42)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:323)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:105)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:94)
	at org.scalatest.junit.JUnitWrapperSuite.run(JUnitWrapperSuite.scala:75)
	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:314)
	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:507)
	at sbt.TestRunner.runTest$1(TestFramework.scala:76)
	at sbt.TestRunner.run(TestFramework.scala:85)
	at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
	at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
	at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:185)
	at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
	at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
	at sbt.TestFunction.apply(TestFramework.scala:207)
	at sbt.Tests$.sbt$Tests$$processRunnable$1(Tests.scala:239)
	at sbt.Tests$$anonfun$makeSerial$1.apply(Tests.scala:245)
	at sbt.Tests$$anonfun$makeSerial$1.apply(Tests.scala:245)
	at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
	at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
	at sbt.std.Transform$$anon$4.work(System.scala:63)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute.work(Execute.scala:237)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

I have no idea how ScalaTest and JUnit interact here, but it seems in SuiteSortingReporter, there is maintained a slotMap and it should have a put with "scala.concurrent.stm.JavaAPITests" (suiteId) somewhere, that is probably missing. Not sure what is causing this. Tests seems to run fine nevertheless.

Sciss avatar Mar 14 '18 15:03 Sciss