diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-17 17:07:51 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-17 17:07:51 -0700 |
commit | 5314da0e2dea8d61400241d6c9899ea9077fff8d (patch) | |
tree | 0c3df1452287f0f56256fe3681b4b346806fa5f3 /scalalib | |
parent | 52c3b417031ec7ebcecd68f7b9f875a5510a9b0b (diff) | |
download | mill-5314da0e2dea8d61400241d6c9899ea9077fff8d.tar.gz mill-5314da0e2dea8d61400241d6c9899ea9077fff8d.tar.bz2 mill-5314da0e2dea8d61400241d6c9899ea9077fff8d.zip |
don't show subprocess-call stack trace if test result reporting fails
Diffstat (limited to 'scalalib')
-rw-r--r-- | scalalib/src/mill/scalalib/JavaModule.scala | 22 |
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{ |