summaryrefslogtreecommitdiff
path: root/scalalib
diff options
context:
space:
mode:
authorNikolay Tatarinov <5min4eq.unity@gmail.com>2018-02-01 22:07:39 +0300
committerGitHub <noreply@github.com>2018-02-01 22:07:39 +0300
commit5be2c5aea4527cf637948e6bf2e4c56e3273fbd9 (patch)
tree38d9c675c68ac7505708f182170589119453db21 /scalalib
parentbc777b3c4e83149f45df7edda245868e22495eb3 (diff)
downloadmill-5be2c5aea4527cf637948e6bf2e4c56e3273fbd9.tar.gz
mill-5be2c5aea4527cf637948e6bf2e4c56e3273fbd9.tar.bz2
mill-5be2c5aea4527cf637948e6bf2e4c56e3273fbd9.zip
WIP: Scala js testing (#119)
fixes #102. Use scala js testing framework to launch tests
Diffstat (limited to 'scalalib')
-rw-r--r--scalalib/src/mill/scalalib/ScalaModule.scala4
-rw-r--r--scalalib/src/mill/scalalib/ScalaWorkerApi.scala2
-rw-r--r--scalalib/src/mill/scalalib/TestRunner.scala5
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,