From 960d0bc2e3e7ba41f518719e3b202be4a5e82290 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 23 Jul 2011 23:07:54 -0400 Subject: [PATCH] clean up scripted error handling --- project/Sbt.scala | 3 ++- scripted/sbt/ScriptedTests.scala | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/project/Sbt.scala b/project/Sbt.scala index 6e79405e7..91008ded3 100644 --- a/project/Sbt.scala +++ b/project/Sbt.scala @@ -137,7 +137,8 @@ object Sbt extends Build val loader = classpath.ClasspathUtilities.toLoader(scriptedSbtClasspath.files, scriptedSbtInstance.loader) val m = ModuleUtilities.getObject("sbt.test.ScriptedTests", loader) val r = m.getClass.getMethod("run", classOf[File], classOf[Boolean], classOf[String], classOf[String], classOf[String], classOf[Array[String]], classOf[File]) - r.invoke(m, sourcePath, true: java.lang.Boolean, v, sv, ssv, args.toArray[String], launcher) + try { r.invoke(m, sourcePath, true: java.lang.Boolean, v, sv, ssv, args.toArray[String], launcher) } + catch { case ite: java.lang.reflect.InvocationTargetException => throw ite.getCause } } } diff --git a/scripted/sbt/ScriptedTests.scala b/scripted/sbt/ScriptedTests.scala index 62741dc57..7fd0e4200 100644 --- a/scripted/sbt/ScriptedTests.scala +++ b/scripted/sbt/ScriptedTests.scala @@ -66,10 +66,11 @@ final class ScriptedTests(resourceBaseDirectory: File, bufferLog: Boolean, sbtVe case e: xsbt.test.TestException => buffered.stop() buffered.error("x " + label) - if(e.getCause eq null) - buffered.error(" " + e.getMessage) - else - e.printStackTrace + e.getCause match + { + case null | _: java.net.SocketException => buffered.error(" " + e.getMessage) + case _ => e.printStackTrace + } throw e case e: Exception => buffered.stop()