diff options
Diffstat (limited to 'scalalib/src')
-rw-r--r-- | scalalib/src/mill/scalalib/ScalaModule.scala | 4 | ||||
-rw-r--r-- | scalalib/src/mill/scalalib/ScalaWorkerApi.scala | 2 | ||||
-rw-r--r-- | scalalib/src/mill/scalalib/TestRunner.scala | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/scalalib/src/mill/scalalib/ScalaModule.scala b/scalalib/src/mill/scalalib/ScalaModule.scala index b79b32dc..8f635906 100644 --- a/scalalib/src/mill/scalalib/ScalaModule.scala +++ b/scalalib/src/mill/scalalib/ScalaModule.scala @@ -323,7 +323,7 @@ trait TestModule extends ScalaModule with TaskModule { val outputPath = T.ctx().dest/"out.json" mill.scalalib.ScalaWorkerApi.scalaWorker().apply( - testFramework(), + TestRunner.framework(testFramework()), runClasspath().map(_.path), Agg(compile().classes.path), args @@ -334,4 +334,4 @@ trait TestModule extends ScalaModule with TaskModule { TestModule.handleResults(doneMsg, results) } -}
\ No newline at end of file +} diff --git a/scalalib/src/mill/scalalib/ScalaWorkerApi.scala b/scalalib/src/mill/scalalib/ScalaWorkerApi.scala index 8ff45a48..21ba45e1 100644 --- a/scalalib/src/mill/scalalib/ScalaWorkerApi.scala +++ b/scalalib/src/mill/scalalib/ScalaWorkerApi.scala @@ -52,7 +52,7 @@ trait ScalaWorkerApi { upstreamCompileOutput: Seq[CompilationResult]) (implicit ctx: mill.util.Ctx): CompilationResult - def apply(frameworkName: String, + def apply(frameworkInstance: ClassLoader => sbt.testing.Framework, entireClasspath: Agg[Path], testClassfilePath: Agg[Path], args: Seq[String]) diff --git a/scalalib/src/mill/scalalib/TestRunner.scala b/scalalib/src/mill/scalalib/TestRunner.scala index 025364be..e7521989 100644 --- a/scalalib/src/mill/scalalib/TestRunner.scala +++ b/scalalib/src/mill/scalalib/TestRunner.scala @@ -2,6 +2,11 @@ package mill.scalalib import mill.util.JsonFormatters._ object TestRunner { + def framework(frameworkName: String)(cl: ClassLoader): sbt.testing.Framework = { + cl.loadClass(frameworkName) + .newInstance() + .asInstanceOf[sbt.testing.Framework] + } case class Result(fullyQualifiedName: String, selector: String, |