diff --git a/build.sbt b/build.sbt index 0c4e7d0..a8d4083 100644 --- a/build.sbt +++ b/build.sbt @@ -4,21 +4,23 @@ scalaModuleSettings name := "scala-partest" -version := "1.0.11-SNAPSHOT" +version := "1.0.12-SNAPSHOT" scalaVersion := crossScalaVersions.value.head crossScalaVersions := { val java = System.getProperty("java.version") if (java.startsWith("1.6.")) - Seq("2.11.6", "2.12.0-M1") + Seq("2.11.7", "2.12.0-M1") else if (java.startsWith("1.8.")) - Seq("2.12.0-M2") + Seq("2.12.0-M2", "2.12.0-M3") else sys.error(s"don't know what Scala versions to build on $java") } -scalaXmlVersion := "1.0.4" +scalaXmlVersion := { + if(scalaVersion.value == "2.12.0-M3") "1.0.5" else "1.0.4" +} scalaCheckVersion := "1.11.6" diff --git a/src/main/scala/scala/tools/partest/nest/FileManager.scala b/src/main/scala/scala/tools/partest/nest/FileManager.scala index 40e62ed..b9c3306 100644 --- a/src/main/scala/scala/tools/partest/nest/FileManager.scala +++ b/src/main/scala/scala/tools/partest/nest/FileManager.scala @@ -111,6 +111,7 @@ class FileManager(val testClassLoader: URLClassLoader) { lazy val libraryUnderTest: Path = findArtifact("library") lazy val reflectUnderTest: Path = findArtifact("reflect") lazy val compilerUnderTest: Path = findArtifact("compiler") + lazy val agentLib: Path = findArtifact("javaagent") lazy val testClassPath = testClassLoader.getURLs().map(url => Path(new File(url.toURI))).toList @@ -126,13 +127,14 @@ class FileManager(val testClassLoader: URLClassLoader) { else "installed" } - // find library/reflect/compiler jar or subdir under build/$stage/classes/ + // find library/reflect/compiler/javaagent jar or subdir under build/$stage/classes/ private def findArtifact(name: String): Path = { val canaryClass = name match { - case "library" => Class.forName("scala.Unit", false, testClassLoader) - case "reflect" => Class.forName("scala.reflect.api.Symbols", false, testClassLoader) - case "compiler" => Class.forName("scala.tools.nsc.Main", false, testClassLoader) + case "library" => Class.forName("scala.Unit", false, testClassLoader) + case "reflect" => Class.forName("scala.reflect.api.Symbols", false, testClassLoader) + case "compiler" => Class.forName("scala.tools.nsc.Main", false, testClassLoader) + case "javaagent" => Class.forName("scala.tools.partest.javaagent.ProfilingAgent", false, testClassLoader) } val path = Path(canaryClass.getProtectionDomain.getCodeSource.getLocation.getPath) diff --git a/src/main/scala/scala/tools/partest/nest/PathSettings.scala b/src/main/scala/scala/tools/partest/nest/PathSettings.scala index 76702fa..cd30972 100644 --- a/src/main/scala/scala/tools/partest/nest/PathSettings.scala +++ b/src/main/scala/scala/tools/partest/nest/PathSettings.scala @@ -42,9 +42,6 @@ object PathSettings { // Directory /test/files or .../scaladoc def srcDir = Directory(testRoot / testSourcePath toCanonical) - // Directory /build/pack/lib - private def buildPackLibDir = Directory(buildDir / "pack" / "lib") - // Directory /test/files/lib private def srcLibDir = Directory(srcDir / "lib") @@ -60,8 +57,4 @@ object PathSettings { def srcSpecLib = findJar("instrumented", Directory(srcDir / "speclib")) def srcCodeLib = findJar("code", Directory(srcDir / "codelib"), Directory(testRoot / "files" / "codelib") /* work with --srcpath pending */) - def agentLib = findJar("scala-partest-javaagent", buildPackLibDir) - def scalaCheck = findJar("scalacheck", buildPackLibDir, srcLibDir) - def testInterface = findJar("test-interface", buildPackLibDir, srcLibDir) - def diffUtils = findJar("diffutils", buildPackLibDir) } diff --git a/src/main/scala/scala/tools/partest/nest/Runner.scala b/src/main/scala/scala/tools/partest/nest/Runner.scala index 1dec027..3468bf4 100644 --- a/src/main/scala/scala/tools/partest/nest/Runner.scala +++ b/src/main/scala/scala/tools/partest/nest/Runner.scala @@ -551,7 +551,7 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner) { case _ => Nil } def extraJavaOptions = kind match { - case "instrumented" => ("-javaagent:"+PathSettings.agentLib.fold(sys.error, identity)).split(' ') + case "instrumented" => ("-javaagent:"+agentLib).split(' ') case _ => Array.empty[String] }