summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-02-11 21:46:31 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-02-11 22:01:52 -0800
commit4014f989b5bbea2737bb2b7125410115041a6a6a (patch)
tree42296e94dc6886aedfcbaf0e6de219b8c9f0a7c0
parentfcbb9c9fd65211d6d5ac40333528fa059c947d0a (diff)
downloadmill-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-xci/publish-local.sh11
-rwxr-xr-xci/test-mill-built.sh6
-rwxr-xr-xci/test-mill-release.sh11
-rwxr-xr-xci/test-sbt-built.sh3
-rwxr-xr-xci/test-sbt.sh2
-rw-r--r--integration/test/src/mill/integration/UpickleTests.scala7
-rw-r--r--scalajslib/src/mill/scalajslib/ScalaJSModule.scala6
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(