summaryrefslogtreecommitdiff
path: root/scalalib/src
diff options
context:
space:
mode:
Diffstat (limited to 'scalalib/src')
-rw-r--r--scalalib/src/mill/scalalib/Lib.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/scalalib/src/mill/scalalib/Lib.scala b/scalalib/src/mill/scalalib/Lib.scala
index 3eb2defd..07d88891 100644
--- a/scalalib/src/mill/scalalib/Lib.scala
+++ b/scalalib/src/mill/scalalib/Lib.scala
@@ -219,11 +219,12 @@ object Lib{
val tasks = runner.tasks(
for ((cls, fingerprint) <- testClasses.toArray)
- yield new TaskDef(cls.getName.stripSuffix("$"), fingerprint, true, Array(new SuiteSelector))
+ yield new TaskDef(cls.getName.stripSuffix("$"), fingerprint, true, Array(new SuiteSelector))
)
- for (t <- tasks) {
- t.execute(
+ val taskQueue = tasks.to[mutable.Queue]
+ while (taskQueue.nonEmpty){
+ val next = taskQueue.dequeue().execute(
new EventHandler {
def handle(event: Event) = events.append(event)
},
@@ -242,6 +243,7 @@ object Lib{
def info(msg: String) = ctx.log.outputStream.println(msg)
})
)
+ taskQueue.enqueue(next:_*)
}
ctx.log.outputStream.println(runner.done())
}
@@ -299,7 +301,6 @@ object Lib{
cls.isAnnotationPresent(annotationCls) ||
cls.getDeclaredMethods.exists(_.isAnnotationPresent(annotationCls))
)
-
}.map { f => (cls, f) }
}
}