diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-04 11:44:29 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-04 13:29:30 -0800 |
commit | f47697c1da18407374cf11372af36c4960d80576 (patch) | |
tree | 14dd0fe05a01eacd9b1ee8f655e7173410446aed | |
parent | 2536dc8c071c7c0fc41a0bd806d91ecad300f27c (diff) | |
download | mill-f47697c1da18407374cf11372af36c4960d80576.tar.gz mill-f47697c1da18407374cf11372af36c4960d80576.tar.bz2 mill-f47697c1da18407374cf11372af36c4960d80576.zip |
Fix tests
-rw-r--r-- | .travis.yml | 2 | ||||
-rwxr-xr-x | build.sc | 10 | ||||
-rwxr-xr-x | ci/test1.sh (renamed from ci/test.sh) | 0 | ||||
-rwxr-xr-x | ci/test4.sh | 16 | ||||
-rw-r--r-- | core/src/mill/main/RunScript.scala | 2 | ||||
-rw-r--r-- | core/test/src/mill/main/ParseArgsTest.scala | 42 | ||||
-rw-r--r-- | scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala | 2 | ||||
-rw-r--r-- | scalalib/test/src/mill/scalalib/HelloWorldTests.scala | 11 |
8 files changed, 49 insertions, 36 deletions
diff --git a/.travis.yml b/.travis.yml index bc67a572..02d43def 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ jdk: matrix: include: - stage: build - env: CI_SCRIPT=ci/test.sh + env: CI_SCRIPT=ci/test1.sh - stage: build env: CI_SCRIPT=ci/test2.sh - stage: build @@ -205,17 +205,21 @@ val isMasterCommit = { (sys.env.get("TRAVIS_BRANCH") == Some("master") || sys.env("TRAVIS_TAG") != "") } +def gitHead = T.input{ + sys.env.get("TRAVIS_COMMIT").getOrElse( + %%('git, "rev-parse", "head")(pwd).out.string.trim() + ) +} def publishVersion = T.input{ val tag = - try Option(%%('git, 'describe, "--exact-match", "--tags", 'HEAD)(pwd).out.string) + try Option(%%('git, 'describe, "--exact-match", "--tags", gitHead())(pwd).out.string) catch{case e => None} tag match{ case Some(t) => (t, t) case None => val timestamp = java.time.Instant.now().toString.replaceAll(":|\\.", "-") - val gitHash = %%('git, "rev-parse", "head")(pwd).out.string.trim() - ("unstable", timestamp + "-" + gitHash) + ("unstable", timestamp + "-" + gitHead()) } } diff --git a/ci/test.sh b/ci/test1.sh index f77456f7..f77456f7 100755 --- a/ci/test.sh +++ b/ci/test1.sh diff --git a/ci/test4.sh b/ci/test4.sh index fb3483e8..86e6ee29 100755 --- a/ci/test4.sh +++ b/ci/test4.sh @@ -12,15 +12,19 @@ git clean -xdf sbt bin/test:assembly # Build Mill using SBT -target/bin/mill --all _.publishLocal releaseAssembly +target/bin/mill --all \ + scalaworker.publishLocal \ + scalajslib.jsbridges[0.6].publishLocal \ + scalajslib.jsbridges[1.0].publishLocal \ + releaseAssembly -mv out/releaseAssembly ~/mill +mv out/releaseAssembly/dest/out.jar ~/mill-release git clean -xdf # Second build & run tests using Mill -~/mill --all {core,scalalib,scalajslib}.test devAssembly -~/mill integration.test mill.integration.AmmoniteTests -~/mill integration.test "mill.integration.{AcyclicTests,BetterFilesTests,JawnTests}" -~/mill devAssembly +~/mill-release --all {core,scalalib,scalajslib}.test devAssembly +~/mill-release integration.test mill.integration.AmmoniteTests +~/mill-release integration.test "mill.integration.{AcyclicTests,BetterFilesTests,JawnTests}" +~/mill-release devAssembly diff --git a/core/src/mill/main/RunScript.scala b/core/src/mill/main/RunScript.scala index 2efe0e97..4d74833e 100644 --- a/core/src/mill/main/RunScript.scala +++ b/core/src/mill/main/RunScript.scala @@ -142,8 +142,6 @@ object RunScript{ val moduleCls = evaluator.rootModule.getClass.getClassLoader.loadClass(scoping.render + "$") - pprint.log(moduleCls.getFields) - pprint.log(moduleCls.getMethods) val rootModule = moduleCls.getField("MODULE$").get(moduleCls).asInstanceOf[ExternalModule] (rootModule, rootModule.millDiscover) } diff --git a/core/test/src/mill/main/ParseArgsTest.scala b/core/test/src/mill/main/ParseArgsTest.scala index 2ef07d36..6678f12c 100644 --- a/core/test/src/mill/main/ParseArgsTest.scala +++ b/core/test/src/mill/main/ParseArgsTest.scala @@ -144,10 +144,14 @@ object ParseArgsTest extends TestSuite { 'apply - { def check(input: Seq[String], - expectedSelectors: List[List[Segment]], + expectedSelectors: List[(Option[List[Segment]], List[Segment])], expectedArgs: Seq[String]) = { - val Right((selectors, args)) = ParseArgs(input) + val Right((selectors0, args)) = ParseArgs(input) + val selectors = selectors0.map{ + case (Some(v1), v2) => (Some(v1.value), v2.value) + case (None, v2) => (None, v2.value) + } assert( selectors == expectedSelectors, args == expectedArgs @@ -160,53 +164,60 @@ object ParseArgsTest extends TestSuite { 'singleSelector - check( input = Seq("core.compile"), expectedSelectors = List( - List(Label("core"), Label("compile")) + None -> List(Label("core"), Label("compile")) + ), + expectedArgs = Seq.empty + ) + 'externalSelector - check( + input = Seq("foo.bar/core.compile"), + expectedSelectors = List( + Some(List(Label("foo"), Label("bar"))) -> List(Label("core"), Label("compile")) ), expectedArgs = Seq.empty ) 'singleSelectorWithArgs - check( input = Seq("application.run", "hello", "world"), expectedSelectors = List( - List(Label("application"), Label("run")) + None -> List(Label("application"), Label("run")) ), expectedArgs = Seq("hello", "world") ) 'singleSelectorWithCross - check( input = Seq("bridges[2.12.4,jvm].compile"), expectedSelectors = List( - List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("compile")) + None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("compile")) ), expectedArgs = Seq.empty ) 'multiSelectorsBraceExpansion - check( input = Seq("--all", "{core,application}.compile"), expectedSelectors = List( - List(Label("core"), Label("compile")), - List(Label("application"), Label("compile")) + None -> List(Label("core"), Label("compile")), + None -> List(Label("application"), Label("compile")) ), expectedArgs = Seq.empty ) 'multiSelectorsBraceExpansionWithArgs - check( input = Seq("--all", "{core,application}.run", "--", "hello", "world"), expectedSelectors = List( - List(Label("core"), Label("run")), - List(Label("application"), Label("run")) + None -> List(Label("core"), Label("run")), + None -> List(Label("application"), Label("run")) ), expectedArgs = Seq("hello", "world") ) 'multiSelectorsBraceExpansionWithCross - check( input = Seq("--all", "bridges[2.12.4,jvm].{test,jar}"), expectedSelectors = List( - List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("test")), - List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("jar")) + None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("test")), + None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("jar")) ), expectedArgs = Seq.empty ) 'multiSelectorsBraceExpansionInsideCross - check( input = Seq("--all", "bridges[{2.11.11,2.11.8}].jar"), expectedSelectors = List( - List(Label("bridges"), Cross(Seq("2.11.11")), Label("jar")), - List(Label("bridges"), Cross(Seq("2.11.8")), Label("jar")) + None -> List(Label("bridges"), Cross(Seq("2.11.11")), Label("jar")), + None -> List(Label("bridges"), Cross(Seq("2.11.8")), Label("jar")) ), expectedArgs = Seq.empty ) @@ -216,10 +227,11 @@ object ParseArgsTest extends TestSuite { "Please use --all flag to run multiple tasks") ) } - 'multiSelectorsWithoutAllAsSingle - check( // this is how it works when we pass multiple tasks without --all flag + 'multiSelectorsWithoutAllAsSingle - check( + // this is how it works when we pass multiple tasks without --all flag input = Seq("core.compile", "application.compile"), expectedSelectors = List( - List(Label("core"), Label("compile")) + None -> List(Label("core"), Label("compile")) ), expectedArgs = Seq("application.compile") ) diff --git a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala index cc44b7c8..e1ab3509 100644 --- a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala +++ b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala @@ -19,7 +19,7 @@ import scala.collection.JavaConverters._ object HelloJSWorldTests extends TestSuite { val workspacePath = TestUtil.getOutPathStatic() / "hello-js-world" - trait HelloJSWorldModule extends ScalaJSModule with PublishModule with CrossScalaModule{ + trait HelloJSWorldModule extends CrossScalaModule with ScalaJSModule with PublishModule { override def millSourcePath = workspacePath def publishVersion = "0.0.1-SNAPSHOT" override def mainClass = Some("Main") diff --git a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala index fd8517f3..6fc26b03 100644 --- a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala +++ b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala @@ -199,9 +199,8 @@ object HelloWorldTests extends TestSuite { 'failOnError - workspaceTest(HelloWorld){eval => write.append(HelloWorld.millSourcePath / 'core / 'src / "Main.scala", "val x: ") - val Left(Result.Exception(err, _)) = eval.apply(HelloWorld.core.compile) + val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorld.core.compile) -// assert(err.isInstanceOf[CompileFailed]) val paths = Evaluator.resolveDestPaths( eval.outPath, @@ -222,9 +221,8 @@ object HelloWorldTests extends TestSuite { } 'passScalacOptions - workspaceTest(HelloWorldFatalWarnings){ eval => // compilation fails because of "-Xfatal-warnings" flag - val Left(Result.Exception(err, _)) = eval.apply(HelloWorldFatalWarnings.core.compile) + val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorldFatalWarnings.core.compile) -// assert(err.isInstanceOf[CompileFailed]) } } 'runMain - { @@ -273,11 +271,8 @@ object HelloWorldTests extends TestSuite { 'notRunWhenCompileFailed - workspaceTest(HelloWorld){eval => write.append(HelloWorld.millSourcePath / 'core / 'src / "Main.scala", "val x: ") - val Left(Result.Exception(err, _)) = eval.apply(HelloWorld.core.runMain("Main")) + val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorld.core.runMain("Main")) -// assert( -// err.isInstanceOf[CompileFailed] -// ) } } |