summaryrefslogtreecommitdiff
path: root/src/partest
diff options
context:
space:
mode:
Diffstat (limited to 'src/partest')
-rw-r--r--src/partest/scala/tools/partest/nest/PathSettings.scala15
-rw-r--r--src/partest/scala/tools/partest/nest/SBTRunner.scala12
-rw-r--r--src/partest/scala/tools/partest/nest/Worker.scala2
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
}