summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-10 17:32:05 +0000
committerPaul Phillips <paulp@improving.org>2011-06-10 17:32:05 +0000
commit4e85b6fb33baad9910b3d776867dc16c2816acdf (patch)
treee92d9829e239cb1744f688a7831d3f83c291fc8b /src
parent07fab88cee34e5f59cf88f0dc8e61f2b8817eb24 (diff)
downloadscala-4e85b6fb33baad9910b3d776867dc16c2816acdf.tar.gz
scala-4e85b6fb33baad9910b3d776867dc16c2816acdf.tar.bz2
scala-4e85b6fb33baad9910b3d776867dc16c2816acdf.zip
Tweaks repl tests to enforce -Yrepl-sync and ot...
Tweaks repl tests to enforce -Yrepl-sync and other setup on all clients. Also includes some more why-do-tests-hang bosons for the particle accelerator in case that doesn't wrap it up. I think it will though, because now constrained-types is the only one which failed and it's also the only one which overrides Settings. No review.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/IMain.scala4
-rw-r--r--src/partest/scala/tools/partest/ReplTest.scala18
-rw-r--r--src/partest/scala/tools/partest/nest/DirectRunner.scala2
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))