diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-11 21:46:31 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-11 22:01:52 -0800 |
commit | 4014f989b5bbea2737bb2b7125410115041a6a6a (patch) | |
tree | 42296e94dc6886aedfcbaf0e6de219b8c9f0a7c0 | |
parent | fcbb9c9fd65211d6d5ac40333528fa059c947d0a (diff) | |
download | mill-4014f989b5bbea2737bb2b7125410115041a6a6a.tar.gz mill-4014f989b5bbea2737bb2b7125410115041a6a6a.tar.bz2 mill-4014f989b5bbea2737bb2b7125410115041a6a6a.zip |
- Fix UpickleTests' JS case when running forked
- Shard out forked/local integration tests over the different `test-mill-*.sh` scripts, to try and reduce test times while maintaining coverage
-rwxr-xr-x | ci/publish-local.sh | 11 | ||||
-rwxr-xr-x | ci/test-mill-built.sh | 6 | ||||
-rwxr-xr-x | ci/test-mill-release.sh | 11 | ||||
-rwxr-xr-x | ci/test-sbt-built.sh | 3 | ||||
-rwxr-xr-x | ci/test-sbt.sh | 2 | ||||
-rw-r--r-- | integration/test/src/mill/integration/UpickleTests.scala | 7 | ||||
-rw-r--r-- | scalajslib/src/mill/scalajslib/ScalaJSModule.scala | 6 |
7 files changed, 24 insertions, 22 deletions
diff --git a/ci/publish-local.sh b/ci/publish-local.sh new file mode 100755 index 00000000..a26a590d --- /dev/null +++ b/ci/publish-local.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -eux + +# First build using SBT +sbt bin/test:assembly + +# Build Mill using SBT +target/bin/mill all __.publishLocal releaseAssembly + +mv out/releaseAssembly/dest/out.jar ~/mill-release diff --git a/ci/test-mill-built.sh b/ci/test-mill-built.sh index 61fcf294..c63e9804 100755 --- a/ci/test-mill-built.sh +++ b/ci/test-mill-built.sh @@ -5,8 +5,7 @@ set -eux # Starting from scratch... git clean -xdf -# First build using SBT -sbt bin/test:assembly +ci/publish-local.sh # Build Mill using SBT target/bin/mill devAssembly @@ -14,6 +13,5 @@ target/bin/mill devAssembly # Second build & run tests using Mill out/devAssembly/dest/out.jar all {main,scalalib,scalajslib}.test devAssembly -out/devAssembly/dest/out.jar integration.test mill.integration.local.AmmoniteTests -out/devAssembly/dest/out.jar integration.test "mill.integration.local.{AcyclicTests,BetterFilesTests,JawnTests,UpickleTests}" +out/devAssembly/dest/out.jar integration.test "mill.integration.forked.{AmmoniteTests,BetterFilesTests}" out/devAssembly/dest/out.jar devAssembly diff --git a/ci/test-mill-release.sh b/ci/test-mill-release.sh index f8e27ed4..0b874d48 100755 --- a/ci/test-mill-release.sh +++ b/ci/test-mill-release.sh @@ -5,19 +5,12 @@ set -eux # Starting from scratch... git clean -xdf -# First build using SBT -sbt bin/test:assembly - -# Build Mill using SBT -target/bin/mill all __.publishLocal releaseAssembly - -mv out/releaseAssembly/dest/out.jar ~/mill-release +ci/publish-local.sh git clean -xdf # Second build & run tests using Mill ~/mill-release all {main,scalalib,scalajslib}.test -~/mill-release integration.test mill.integration.forked.AmmoniteTests -~/mill-release integration.test "mill.integration.forked.{AcyclicTests,BetterFilesTests,JawnTests,UpickleTests}" +~/mill-release integration.test "mill.integration.forked.{AcyclicTests,JawnTests,UpickleTests}" ~/mill-release devAssembly diff --git a/ci/test-sbt-built.sh b/ci/test-sbt-built.sh index b27be37f..e93eb4fc 100755 --- a/ci/test-sbt-built.sh +++ b/ci/test-sbt-built.sh @@ -9,6 +9,5 @@ sbt bin/test:assembly # Run tests using Mill built using SBT target/bin/mill all {main,scalalib,scalajslib}.test -target/bin/mill integration.test mill.integration.local.AmmoniteTests -target/bin/mill integration.test "mill.integration.local.{AcyclicTests,BetterFilesTests,JawnTests,UpickleTests}" +target/bin/mill integration.test "mill.integration.local.{AcyclicTests,JawnTests,UpickleTests}" target/bin/mill devAssembly diff --git a/ci/test-sbt.sh b/ci/test-sbt.sh index b54b39e1..8b728916 100755 --- a/ci/test-sbt.sh +++ b/ci/test-sbt.sh @@ -7,5 +7,5 @@ git clean -xdf # First build & run tests using SBT sbt core/test main/test scalalib/test scalajslib/test -sbt "integration/test-only -- mill.integration.local" +sbt "integration/test-only -- mill.integration.local.{AmmoniteTests,BetterFilesTests}" sbt bin/test:assembly diff --git a/integration/test/src/mill/integration/UpickleTests.scala b/integration/test/src/mill/integration/UpickleTests.scala index b8aa4865..dba6488d 100644 --- a/integration/test/src/mill/integration/UpickleTests.scala +++ b/integration/test/src/mill/integration/UpickleTests.scala @@ -6,14 +6,15 @@ import utest._ class UpickleTests(fork: Boolean) extends IntegrationTestSuite("MILL_UPICKLE_REPO", "upickle", fork) { val tests = Tests{ initWorkspace() - 'test - { + 'jvm - { assert(eval("upickleJvm[2.11.11].test")) - assert(eval("upickleJs[2.12.4].test")) - val jvmMeta = meta("upickleJvm[2.11.11].test.test") assert(jvmMeta.contains("example.ExampleTests.simple")) assert(jvmMeta.contains("upickle.MacroTests.commonCustomStructures.simpleAdt")) + } + 'js - { + assert(eval("upickleJs[2.12.4].test")) val jsMeta = meta("upickleJs[2.12.4].test.test") assert(jsMeta .contains("example.ExampleTests.simple")) assert(jsMeta .contains("upickle.MacroTests.commonCustomStructures.simpleAdt")) diff --git a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala index e3c04c55..a94b287d 100644 --- a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala +++ b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala @@ -37,14 +37,14 @@ trait ScalaJSModule extends scalalib.ScalaModule { outer => val jsBridgeKey = "MILL_SCALAJS_BRIDGE_" + scalaJSBridgeVersion().replace('.', '_') val jsBridgePath = sys.props(jsBridgeKey) if (jsBridgePath != null) Success( - PathRef(Path(jsBridgePath), quick = true) + Agg(PathRef(Path(jsBridgePath), quick = true)) ) else resolveDependencies( Seq(Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2")), "2.12.4", Seq( ivy"com.lihaoyi::mill-scalajslib-jsbridges-${scalaJSBridgeVersion()}:${sys.props("MILL_VERSION")}" ) - ).map(_.find(_.path.toString.contains("mill-scalajslib-jsbridges")).get) + ).map(_.filter(_.path.toString.contains("mill-scalajslib-jsbridges"))) } def scalaJSLinkerClasspath: T[Loose.Agg[PathRef]] = T{ @@ -63,7 +63,7 @@ trait ScalaJSModule extends scalalib.ScalaModule { outer => ) } - def toolsClasspath = T { Agg(sjsBridgeClasspath()) ++ scalaJSLinkerClasspath() } + def toolsClasspath = T { sjsBridgeClasspath() ++ scalaJSLinkerClasspath() } def fastOpt = T { link( |