diff --git a/build.sbt b/build.sbt index b846dc9..7cc6b94 100644 --- a/build.sbt +++ b/build.sbt @@ -4,9 +4,9 @@ scalaModuleSettings name := "scala-partest" -version := "1.0.6-SNAPSHOT" +version := "1.0.7-SNAPSHOT" -scalaVersion := "2.11.5" +scalaVersion := "2.11.6" scalaXmlVersion := "1.0.3" diff --git a/src/main/scala/scala/tools/partest/PartestDefaults.scala b/src/main/scala/scala/tools/partest/PartestDefaults.scala index 828f74a..1cf5137 100644 --- a/src/main/scala/scala/tools/partest/PartestDefaults.scala +++ b/src/main/scala/scala/tools/partest/PartestDefaults.scala @@ -2,20 +2,20 @@ package scala.tools package partest import scala.concurrent.duration.Duration -import scala.tools.nsc.Properties.{ propOrElse, propOrNone, propOrEmpty } +import scala.tools.nsc.Properties.{ propOrNone => prop } import java.lang.Runtime.{ getRuntime => runtime } object PartestDefaults { - def sourcePath = propOrElse("partest.srcdir", "files") - def javaCmd = propOrElse("partest.javacmd", "java") - def javacCmd = propOrElse("partest.javac_cmd", "javac") - def javaOpts = propOrElse("partest.java_opts", "") // opts when running java during tests - def scalacOpts = propOrElse("partest.scalac_opts", "") + def sourcePath = prop("partest.srcdir") getOrElse "files" + def javaCmd = prop("partest.javacmd") getOrElse "java" + def javacCmd = prop("partest.javac_cmd") getOrElse "javac" + def javaOpts = prop("partest.java_opts") getOrElse "" // opts when running java during tests + def scalacOpts = prop("partest.scalac_opts") getOrElse "" - def testBuild = propOrNone("partest.build") - def errorCount = propOrElse("partest.errors", "0").toInt - def numThreads = propOrNone("partest.threads") map (_.toInt) getOrElse runtime.availableProcessors - def waitTime = propOrNone("partest.timeout") map (Duration.apply) getOrElse Duration("4 hours") + def testBuild = prop("partest.build") + def errorCount = prop("partest.errors") map (_.toInt) getOrElse 0 + def numThreads = prop("partest.threads") map (_.toInt) getOrElse runtime.availableProcessors + def waitTime = Duration(prop("partest.timeout") getOrElse "4 hours") //def timeout = "1200000" // per-test timeout } diff --git a/src/main/scala/scala/tools/partest/nest/DirectCompiler.scala b/src/main/scala/scala/tools/partest/nest/DirectCompiler.scala index c63feb9..393a7b9 100644 --- a/src/main/scala/scala/tools/partest/nest/DirectCompiler.scala +++ b/src/main/scala/scala/tools/partest/nest/DirectCompiler.scala @@ -9,7 +9,6 @@ package nest import scala.tools.nsc.{ Global, Settings, CompilerCommand, FatalError } import scala.tools.nsc.reporters.{ Reporter, ConsoleReporter } import scala.tools.nsc.util.{ FakePos, stackTraceString } -import scala.tools.nsc.Properties.{ setProp, propOrEmpty } import scala.reflect.io.AbstractFile import scala.reflect.internal.util.Position import java.io.{ BufferedReader, PrintWriter, FileReader, Writer, FileWriter } diff --git a/src/main/scala/scala/tools/partest/nest/PathSettings.scala b/src/main/scala/scala/tools/partest/nest/PathSettings.scala index f20dbde..3f6e1d3 100644 --- a/src/main/scala/scala/tools/partest/nest/PathSettings.scala +++ b/src/main/scala/scala/tools/partest/nest/PathSettings.scala @@ -7,7 +7,7 @@ package nest import scala.tools.nsc.util.ClassPath import scala.tools.nsc.io.{ Path, File, Directory } -import scala.tools.nsc.Properties.{ propOrElse, propOrNone } +import scala.tools.nsc.Properties.{ propOrNone } import Path._ /** Get current value for path settings -- these depend on the mutable `testSourcePath`. diff --git a/src/main/scala/scala/tools/partest/nest/Runner.scala b/src/main/scala/scala/tools/partest/nest/Runner.scala index 8190895..dc13d76 100644 --- a/src/main/scala/scala/tools/partest/nest/Runner.scala +++ b/src/main/scala/scala/tools/partest/nest/Runner.scala @@ -16,7 +16,7 @@ import scala.io.Codec import scala.reflect.internal.FatalError import scala.reflect.internal.util.ScalaClassLoader import scala.sys.process.{ Process, ProcessLogger } -import scala.tools.nsc.Properties.{ envOrElse, isWin, jdkHome, javaHome, propOrElse, propOrEmpty, setProp, versionMsg, javaVmName, javaVmVersion, javaVmInfo } +import scala.tools.nsc.Properties.{ envOrNone, isWin, jdkHome, javaHome, propOrEmpty, setProp, versionMsg, javaVmName, javaVmVersion, javaVmInfo } import scala.tools.nsc.{ Settings, CompilerCommand, Global } import scala.tools.nsc.io.{ AbstractFile } import scala.tools.nsc.reporters.ConsoleReporter @@ -75,6 +75,9 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner) { lazy val outDir = { outFile.mkdirs() ; outFile } + // oh boy... + private lazy val antLauncher = SFile(Path(envOrNone("ANT_HOME") getOrElse "/opt/ant/") / "lib/ant-launcher.jar") + type RanOneTest = (Boolean, LogContext) def showCrashInfo(t: Throwable) { @@ -293,7 +296,7 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner) { def gitDiff(f1: File, f2: File): Option[String] = { try gitRunner map { git => val cmd = s"$git diff $gitDiffOptions $f1 $f2" - val diff = Process(cmd).lines_!.drop(4).map(_ + "\n").mkString + val diff = Process(cmd).lineStream_!.drop(4).map(_ + "\n").mkString "\n" + diff } @@ -510,16 +513,13 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner) { // Apache Ant 1.6 or newer def ant(args: Seq[String], output: File): Boolean = { - val antDir = Directory(envOrElse("ANT_HOME", "/opt/ant/")) - val antLibDir = Directory(antDir / "lib") - val antLauncherPath = SFile(antLibDir / "ant-launcher.jar").path val antOptions = if (NestUI._verbose) List("-verbose", "-noinput") else List("-noinput") val cmd = javaCmdPath +: ( PartestDefaults.javaOpts.split(' ').map(_.trim).filter(_ != "") ++ Seq( "-classpath", - antLauncherPath, + antLauncher.path, "org.apache.tools.ant.launch.Launcher" ) ++ antOptions ++ args )