diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/Settings.scala | 14 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/nest/CompileManager.scala | 11 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/nest/ReflectiveRunner.scala | 11 | ||||
-rwxr-xr-x | test/partest | 2 |
4 files changed, 28 insertions, 10 deletions
diff --git a/src/compiler/scala/tools/nsc/Settings.scala b/src/compiler/scala/tools/nsc/Settings.scala index cb82056560..24be800f2f 100644 --- a/src/compiler/scala/tools/nsc/Settings.scala +++ b/src/compiler/scala/tools/nsc/Settings.scala @@ -15,33 +15,33 @@ class Settings(error: String => Unit) { private var allsettings: List[Setting] = List() - private def getProperty(name: String): String = + protected def getProperty(name: String): String = if (System.getProperty(name) != "") System.getProperty(name) else null - private val classpathDefault = + protected val classpathDefault = if (System.getProperty("env.classpath") ne null) alternatePath( getProperty("env.classpath"), ".") else getProperty("java.class.path") - private val bootclasspathDefault = + protected val bootclasspathDefault = alternatePath( concatPath( getProperty("sun.boot.class.path"), guessedScalaBootClassPath), "") - private val extdirsDefault = + protected val extdirsDefault = alternatePath( concatPath( getProperty("java.ext.dirs"), guessedScalaExtDirs), "") - private val pluginsDirDefault = + protected val pluginsDirDefault = if (Properties.scalaHome == null) "" else @@ -51,10 +51,10 @@ class Settings(error: String => Unit) { "scala-devel"), "plugins").getAbsolutePath - private def alternatePath(p1: String, p2: => String) = + protected def alternatePath(p1: String, p2: => String) = if (p1 ne null) p1 else p2 - private def concatPath(p1: String, p2: String) = + protected def concatPath(p1: String, p2: String) = if ((p1 ne null) && (p2 ne null)) p1 + File.pathSeparator + p2 else if (p1 ne null) p1 else p2 diff --git a/src/partest/scala/tools/partest/nest/CompileManager.scala b/src/partest/scala/tools/partest/nest/CompileManager.scala index 29981bcac4..87c3a7db85 100644 --- a/src/partest/scala/tools/partest/nest/CompileManager.scala +++ b/src/partest/scala/tools/partest/nest/CompileManager.scala @@ -23,12 +23,19 @@ abstract class SimpleCompiler { def compile(out: Option[File], files: List[File], kind: String, log: File): Boolean } +class TestSettings extends { + override val bootclasspathDefault = + System.getProperty("sun.boot.class.path", "") + override val extdirsDefault = + System.getProperty("java.ext.dirs", "") +} with Settings(x => ()) + class DirectCompiler(val fileManager: FileManager) extends SimpleCompiler { def newGlobal(settings: Settings, reporter: Reporter): Global = new Global(settings, reporter) def newGlobal(settings: Settings, logWriter: FileWriter): Global = { - val rep = new ExtConsoleReporter(new Settings(x => ()), + val rep = new ExtConsoleReporter(new TestSettings, Console.in, new PrintWriter(logWriter)) rep.shortname = true @@ -36,7 +43,7 @@ class DirectCompiler(val fileManager: FileManager) extends SimpleCompiler { } def newSettings = { - val settings = new Settings(x => ()) + val settings = new TestSettings settings.deprecation.value = true settings.nowarnings.value = false settings.encoding.value = "iso-8859-1" diff --git a/src/partest/scala/tools/partest/nest/ReflectiveRunner.scala b/src/partest/scala/tools/partest/nest/ReflectiveRunner.scala index 7aec84a30e..e99019822c 100644 --- a/src/partest/scala/tools/partest/nest/ReflectiveRunner.scala +++ b/src/partest/scala/tools/partest/nest/ReflectiveRunner.scala @@ -52,6 +52,17 @@ class ReflectiveRunner extends RunnerUtils { } try { + val newClasspath = sepUrls.mkString(java.io.File.pathSeparator) + System.setProperty("java.class.path", newClasspath) + System.setProperty("env.classpath", newClasspath) + System.setProperty("scala.home", "") + if (fileManager.debug) { + println("java.class.path: "+System.getProperty("java.class.path")) + println("env.classpath: "+System.getProperty("env.classpath")) + println("sun.boot.class.path: "+System.getProperty("sun.boot.class.path")) + println("java.ext.dirs: "+System.getProperty("java.ext.dirs")) + } + val sepRunnerClass = sepLoader.loadClass("scala.tools.partest.nest.ConsoleRunner") diff --git a/test/partest b/test/partest index 9c6e13db35..88729ac8c6 100755 --- a/test/partest +++ b/test/partest @@ -74,4 +74,4 @@ fi [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms16M" [ -n "$SCALAC_OPTS" ] || SCALAC_OPTS="-deprecation" -${JAVACMD:=java} $JAVA_OPTS -cp "$EXT_CLASSPATH" -Dscala.home="${SCALA_HOME}" -Dscalatest.javacmd="${JAVACMD}" -Dscalatest.java_opts="${JAVA_OPTS}" -Dscalatest.scalac_opts="${SCALAC_OPTS}" scala.tools.partest.nest.NestRunner "$@" +${JAVACMD:=java} $JAVA_OPTS -cp "$EXT_CLASSPATH" -Dpartest.debug="${PARTEST_DEBUG}" -Dscala.home="${SCALA_HOME}" -Dscalatest.javacmd="${JAVACMD}" -Dscalatest.java_opts="${JAVA_OPTS}" -Dscalatest.scalac_opts="${SCALAC_OPTS}" scala.tools.partest.nest.NestRunner "$@" |