diff options
Diffstat (limited to 'src/partest')
-rw-r--r-- | src/partest/scala/tools/partest/nest/PathSettings.scala | 15 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/nest/SBTRunner.scala | 12 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/nest/Worker.scala | 2 |
3 files changed, 17 insertions, 12 deletions
diff --git a/src/partest/scala/tools/partest/nest/PathSettings.scala b/src/partest/scala/tools/partest/nest/PathSettings.scala index fd8eb4cdfa..5ae1ed05ce 100644 --- a/src/partest/scala/tools/partest/nest/PathSettings.scala +++ b/src/partest/scala/tools/partest/nest/PathSettings.scala @@ -32,17 +32,22 @@ object PathSettings { lazy val srcLibDir = Directory(srcDir / "lib") // Directory <root>/build - lazy val buildDir = Directory("build") + lazy val buildDir: Directory = { + val bases = testRoot :: testRoot.parents + // In the classic "ant" build, the relevant subdirectory is called build, + // but in the postmodern "sbt" build, it is called target. Look for both. + val dirs = Path.onlyDirs(bases flatMap (x => List(x / "build", x / "target"))) + + dirs.headOption getOrElse error("Neither 'build' nor 'target' dir found under test root " + testRoot + ".") + } // Directory <root>/build/pack/lib lazy val buildPackLibDir = Directory(buildDir / "pack" / "lib") - lazy val scalaCheck = { - (buildPackLibDir.files find (_.name startsWith "scalacheck")) orElse - (srcLibDir.files find (_.name startsWith "scalacheck")) getOrElse { + lazy val scalaCheck: File = + buildPackLibDir.files ++ srcLibDir.files find (_.name startsWith "scalacheck") getOrElse { error("No scalacheck jar found in '%s' or '%s'".format(buildPackLibDir, srcLibDir)) } - } } class PathSettings() { diff --git a/src/partest/scala/tools/partest/nest/SBTRunner.scala b/src/partest/scala/tools/partest/nest/SBTRunner.scala index 6a908af1bf..299296b01d 100644 --- a/src/partest/scala/tools/partest/nest/SBTRunner.scala +++ b/src/partest/scala/tools/partest/nest/SBTRunner.scala @@ -8,12 +8,12 @@ import scala.tools.nsc.io.{ Directory } class SBTRunner extends DirectRunner { val fileManager = new FileManager { - var JAVACMD: String = "java" - var JAVAC_CMD: String = "javac" - var CLASSPATH: String = _ - var LATEST_LIB: String = _ - val testRootPath: String = "test" - val testRootDir: Directory = Directory(testRootPath) + var JAVACMD: String = "java" + var JAVAC_CMD: String = "javac" + var CLASSPATH: String = _ + var LATEST_LIB: String = _ + val testRootPath: String = PathSettings.testRoot.path + val testRootDir: Directory = PathSettings.testRoot } def reflectiveRunTestsForFiles(kindFiles: Array[File], kind: String):java.util.HashMap[String,Int] = { diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala index 623a7a9674..c719dc9709 100644 --- a/src/partest/scala/tools/partest/nest/Worker.scala +++ b/src/partest/scala/tools/partest/nest/Worker.scala @@ -50,7 +50,7 @@ class ScalaCheckFileManager(val origmanager: FileManager) extends FileManager { var JAVACMD: String = origmanager.JAVACMD var JAVAC_CMD: String = origmanager.JAVAC_CMD - var CLASSPATH: String = origmanager.CLASSPATH + java.io.File.pathSeparator + PathSettings.scalaCheck + var CLASSPATH: String = join(origmanager.CLASSPATH, PathSettings.scalaCheck.path) var LATEST_LIB: String = origmanager.LATEST_LIB } |