runarorama/scala-machines

tests don't terminate

jedws opened this issue · 2 comments

TestRepeatedly ahem, tests repeatedly:

"pool-6-thread-3" prio=5 tid=102bec800 nid=0x11c901000 runnable [11c8ff000]
java.lang.Thread.State: RUNNABLE
at scala.collection.immutable.VectorIterator.display2(Vector.scala:642)
at scala.collection.immutable.VectorPointer$class.gotoNextBlockStart(Vector.scala:855)
at scala.collection.immutable.VectorIterator.gotoNextBlockStart(Vector.scala:642)
at scala.collection.immutable.VectorIterator.next(Vector.scala:666)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
at scala.collection.immutable.VectorBuilder.$plus$plus$eq(Vector.scala:716)
at scala.collection.immutable.VectorBuilder.$plus$plus$eq(Vector.scala:692)
at scala.collection.SeqLike$class.$colon$plus(SeqLike.scala:525)
at scala.collection.immutable.Vector.$colon$plus(Vector.scala:152)
at com.clarifi.machines.Process$.go$2(Process.scala:45)
at com.clarifi.machines.Process$.transduce(Process.scala:50)
at com.clarifi.machines.TestRepeatedly$$anonfun$1.apply$mcZ$sp(TestRepeatedly.scala:15)
at com.clarifi.machines.TestRepeatedly$$anonfun$1.apply(TestRepeatedly.scala:14)
at com.clarifi.machines.TestRepeatedly$$anonfun$1.apply(TestRepeatedly.scala:14)
at org.scalacheck.Prop$.secure(Prop.scala:404)
at com.clarifi.machines.TestRepeatedly$.(TestRepeatedly.scala:14)
at com.clarifi.machines.TestRepeatedly$.(TestRepeatedly.scala)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.scalacheck.ScalaCheckFramework$$anon$1.run(ScalaCheckFramework.scala:80)
at org.scalatools.testing.Runner2.run(Runner2.java:16)
at sbt.TestRunner.delegateRun(TestFramework.scala:57)
at sbt.TestRunner.run(TestFramework.scala:51)
at sbt.TestRunner.runTest$1(TestFramework.scala:71)
at sbt.TestRunner.run(TestFramework.scala:80)
at sbt.TestFramework$$anonfun$6$$anonfun$apply$8$$anonfun$7$$anonfun$apply$9.apply(TestFramework.scala:178)
at sbt.TestFramework$$anonfun$6$$anonfun$apply$8$$anonfun$7$$anonfun$apply$9.apply(TestFramework.scala:178)
at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:190)
at sbt.TestFramework$$anonfun$6$$anonfun$apply$8$$anonfun$7.apply(TestFramework.scala:178)
at sbt.TestFramework$$anonfun$6$$anonfun$apply$8$$anonfun$7.apply(TestFramework.scala:178)
at sbt.Tests$$anonfun$makeParallel$1$$anonfun$apply$7.apply(Tests.scala:119)
at sbt.Tests$$anonfun$makeParallel$1$$anonfun$apply$7.apply(Tests.scala:119)
at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:47)
at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:47)
at sbt.std.Transform$$anon$5.work(System.scala:71)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:238)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

Hah. Well, yes. Of course it does. I guess that test was designed to check if it overflows the stack, which it won't. But a "repeatedly" machine will just keep running :)

Thought you might say that… :-)