diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-01 02:12:36 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-01 10:10:19 -0800 |
commit | ffce2f26e02997546511e258f45f1a4554a882ca (patch) | |
tree | 36c0df1a902020216c66be110a8778aeb3ae353a | |
parent | cb5e3291155ba0d29c1a530d6c217d22a3a743f4 (diff) | |
download | mill-ffce2f26e02997546511e258f45f1a4554a882ca.tar.gz mill-ffce2f26e02997546511e258f45f1a4554a882ca.tar.bz2 mill-ffce2f26e02997546511e258f45f1a4554a882ca.zip |
Properly handle `isModule` flag on `sbt.testing.FingerPrint`
-rw-r--r-- | integration/src/test/resource/jawn/build.sc | 5 | ||||
-rw-r--r-- | integration/src/test/scala/mill/integration/JawnTests.scala | 2 | ||||
-rw-r--r-- | scalalib/src/main/scala/mill/scalalib/TestRunner.scala | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/integration/src/test/resource/jawn/build.sc b/integration/src/test/resource/jawn/build.sc index 167407bd..c23a4ec7 100644 --- a/integration/src/test/resource/jawn/build.sc +++ b/integration/src/test/resource/jawn/build.sc @@ -2,8 +2,9 @@ import mill.scalalib import mill.define.Cross import mill.scalalib.{Dep, TestModule, Module} -val jawn = Cross("2.10.6", "2.11.11", "2.12.3").map(new Jawn(_)) -class Jawn(crossVersion: String) extends mill.Module{ +val jawn = for{ + crossVersion <- Cross("2.10.6", "2.11.11", "2.12.3") +} yield new mill.Module{ trait JawnModule extends scalalib.SbtModule{ outer => def scalaVersion = crossVersion def scalacOptions = Seq( diff --git a/integration/src/test/scala/mill/integration/JawnTests.scala b/integration/src/test/scala/mill/integration/JawnTests.scala index adf6e688..6071113d 100644 --- a/integration/src/test/scala/mill/integration/JawnTests.scala +++ b/integration/src/test/scala/mill/integration/JawnTests.scala @@ -16,8 +16,6 @@ object JawnTests extends IntegrationTestSuite("MILL_JAWN_REPO", "jawn") { ls.rec(workspacePath).exists(_.last == "CharBuilderSpec.class") ) - pprint.log(ls.rec(workspacePath).map(_.toString), height=9999) - pprint.log(ls.rec(workspacePath).find(_.ext == "scala")) for(scalaFile <- ls.rec(workspacePath).filter(_.ext == "scala")){ write.append(scalaFile, "\n}") } diff --git a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala index 7fd6079e..b734273f 100644 --- a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala +++ b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala @@ -30,8 +30,11 @@ object TestRunner { val cls = cl.loadClass(path.stripSuffix(".class").replace('/', '.')) fingerprints.find { case f: SubclassFingerprint => + + (f.isModule == cls.getName.endsWith("$")) && cl.loadClass(f.superclassName()).isAssignableFrom(cls) case f: AnnotatedFingerprint => + (f.isModule == cls.getName.endsWith("$")) && cls.isAnnotationPresent( cl.loadClass(f.annotationName()).asInstanceOf[Class[Annotation]] ) |