diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/interpreter/IMain.scala | 4 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/ReplTest.scala | 18 | ||||
-rw-r--r-- | src/partest/scala/tools/partest/nest/DirectRunner.scala | 2 |
3 files changed, 18 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/interpreter/IMain.scala b/src/compiler/scala/tools/nsc/interpreter/IMain.scala index 5c8679a93c..11ab21e952 100644 --- a/src/compiler/scala/tools/nsc/interpreter/IMain.scala +++ b/src/compiler/scala/tools/nsc/interpreter/IMain.scala @@ -129,8 +129,10 @@ class IMain(val settings: Settings, protected val out: JPrintWriter) extends Imp } } def initializeSynchronous(): Unit = { - if (!isInitializeComplete) + if (!isInitializeComplete) { _initialize() + assert(global != null, global) + } } def isInitializeComplete = _initializeComplete diff --git a/src/partest/scala/tools/partest/ReplTest.scala b/src/partest/scala/tools/partest/ReplTest.scala index 5822328e68..02ab154d4b 100644 --- a/src/partest/scala/tools/partest/ReplTest.scala +++ b/src/partest/scala/tools/partest/ReplTest.scala @@ -14,12 +14,22 @@ import java.lang.reflect.{ Method => JMethod, Field => JField } */ abstract class ReplTest extends App { def code: String - // override to add additional settings + // override to add additional settings with strings def extraSettings: String = "" - def settings: Settings = { + // override to transform Settings object immediately before the finish + def transformSettings(s: Settings): Settings = s + + // final because we need to enforce the existence of a couple settings. + final def settings: Settings = { val s = new Settings - s processArgumentString (extraSettings + " -Yrepl-sync -Xnojline") - s + s.Yreplsync.value = true + s.Xnojline.value = true + val settingString = sys.props("scala.partest.debug.repl-args") match { + case null => extraSettings + case s => extraSettings + " " + s + } + s processArgumentString settingString + transformSettings(s) } def eval() = ILoop.runForTranscript(code, settings).lines drop 1 def show() = eval() foreach println diff --git a/src/partest/scala/tools/partest/nest/DirectRunner.scala b/src/partest/scala/tools/partest/nest/DirectRunner.scala index d4b1c8dcb1..7257f02c0b 100644 --- a/src/partest/scala/tools/partest/nest/DirectRunner.scala +++ b/src/partest/scala/tools/partest/nest/DirectRunner.scala @@ -60,7 +60,7 @@ trait DirectRunner { val scalaCheckParentClassLoader = ScalaClassLoader.fromURLs( List(scalacheckURL, latestCompFile.toURI.toURL, latestLibFile.toURI.toURL, latestPartestFile.toURI.toURL) ) - Output.init + Output.init() val workers = kindFiles.grouped(groupSize).toList map { toTest => val worker = new Worker(fileManager, TestRunParams(scalaCheckParentClassLoader)) |