summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-04-17 17:07:51 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2018-04-17 17:07:51 -0700
commit5314da0e2dea8d61400241d6c9899ea9077fff8d (patch)
tree0c3df1452287f0f56256fe3681b4b346806fa5f3
parent52c3b417031ec7ebcecd68f7b9f875a5510a9b0b (diff)
downloadmill-5314da0e2dea8d61400241d6c9899ea9077fff8d.tar.gz
mill-5314da0e2dea8d61400241d6c9899ea9077fff8d.tar.bz2
mill-5314da0e2dea8d61400241d6c9899ea9077fff8d.zip
don't show subprocess-call stack trace if test result reporting fails
-rw-r--r--scalalib/src/mill/scalalib/JavaModule.scala22
1 files changed, 13 insertions, 9 deletions
diff --git a/scalalib/src/mill/scalalib/JavaModule.scala b/scalalib/src/mill/scalalib/JavaModule.scala
index 0a396a53..4b90331c 100644
--- a/scalalib/src/mill/scalalib/JavaModule.scala
+++ b/scalalib/src/mill/scalalib/JavaModule.scala
@@ -307,18 +307,22 @@ trait TestModule extends JavaModule with TaskModule {
envArgs = forkEnv(),
mainArgs =
Seq(testFrameworks().length.toString) ++
- testFrameworks() ++
- Seq(runClasspath().length.toString) ++
- runClasspath().map(_.path.toString) ++
- Seq(args.length.toString) ++
- args ++
- Seq(outputPath.toString, T.ctx().log.colored.toString, compile().classes.path.toString, T.ctx().home.toString),
+ testFrameworks() ++
+ Seq(runClasspath().length.toString) ++
+ runClasspath().map(_.path.toString) ++
+ Seq(args.length.toString) ++
+ args ++
+ Seq(outputPath.toString, T.ctx().log.colored.toString, compile().classes.path.toString, T.ctx().home.toString),
workingDir = forkWorkingDir
)
- val jsonOutput = ujson.read(outputPath.toIO)
- val (doneMsg, results) = upickle.default.readJs[(String, Seq[TestRunner.Result])](jsonOutput)
- TestModule.handleResults(doneMsg, results)
+ try {
+ val jsonOutput = ujson.read(outputPath.toIO)
+ val (doneMsg, results) = upickle.default.readJs[(String, Seq[TestRunner.Result])](jsonOutput)
+ TestModule.handleResults(doneMsg, results)
+ }catch{case e: Throwable =>
+ Result.Failure("Test reporting failed: " + e)
+ }
}
def testLocal(args: String*) = T.command{