Skip to content
This repository was archived by the owner on Sep 8, 2022. It is now read-only.

Commit 52977fd

Browse files
committed
Parse -Dpartest.scalac_opts in SBT runner
This is required to pass the `-optimise` flag down to partest in PR validation builds.
1 parent 53a5130 commit 52977fd

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

src/main/scala/scala/tools/partest/nest/Runner.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner) {
253253
// use lines in block so labeled? Default to sorry, Charlie.
254254
def retainOn(expr: String) = {
255255
val f = expr.trim
256-
val allArgs = suiteRunner.scalacExtraArgs ++ PartestDefaults.scalacOpts.split(' ')
256+
val allArgs = suiteRunner.scalacExtraArgs ++ suiteRunner.scalacOpts.split(' ')
257257
def flagWasSet(f: String) = allArgs contains f
258258
val (invert, token) =
259259
if (f startsWith "!") (true, f drop 1) else (false, f)
@@ -756,7 +756,8 @@ class SuiteRunner(
756756
val javaCmdPath: String = PartestDefaults.javaCmd,
757757
val javacCmdPath: String = PartestDefaults.javacCmd,
758758
val scalacExtraArgs: Seq[String] = Seq.empty,
759-
val javaOpts: String = PartestDefaults.javaOpts) {
759+
val javaOpts: String = PartestDefaults.javaOpts,
760+
val scalacOpts: String = PartestDefaults.scalacOpts) {
760761

761762
import PartestDefaults.{ numThreads, waitTime }
762763

@@ -774,7 +775,7 @@ class SuiteRunner(
774775
s"""|Partest version: ${Properties.versionNumberString}
775776
|Compiler under test: ${relativize(fileManager.compilerUnderTest.getAbsolutePath)}
776777
|Scala version is: $versionMsg
777-
|Scalac options are: ${(scalacExtraArgs ++ PartestDefaults.scalacOpts.split(' ')).mkString(" ")}
778+
|Scalac options are: ${(scalacExtraArgs ++ scalacOpts.split(' ')).mkString(" ")}
778779
|Compilation Path: ${relativize(joinPaths(fileManager.testClassPath))}
779780
|Java binaries in: $vmBin
780781
|Java runtime is: $vmName

src/main/scala/scala/tools/partest/nest/SBTRunner.scala

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,19 @@ class SBTRunner(partestFingerprint: Fingerprint, eventHandler: EventHandler, log
2121
printSummary = false
2222
partestCmd = "partest"
2323

24+
val defs = {
25+
val Def = "-D([^=]*)=(.*)".r
26+
args.collect { case Def(k, v) => (k, v) }
27+
}
28+
2429
val javaOpts = {
25-
val l = args.filter(_.startsWith("-Dpartest.java_opts=")).map(_.substring(20))
30+
val l = defs.collect { case ("partest.java_opts", v) => v }
31+
if(l.isEmpty) PartestDefaults.javaOpts
32+
else l.mkString(" ")
33+
}
34+
35+
val scalacOpts = {
36+
val l = defs.collect { case ("partest.scalac_opts", v) => v }
2637
if(l.isEmpty) PartestDefaults.javaOpts
2738
else l.mkString(" ")
2839
}
@@ -35,7 +46,8 @@ class SBTRunner(partestFingerprint: Fingerprint, eventHandler: EventHandler, log
3546
javaCmdPath = Option(javaCmd).map(_.getAbsolutePath) getOrElse PartestDefaults.javaCmd,
3647
javacCmdPath = Option(javacCmd).map(_.getAbsolutePath) getOrElse PartestDefaults.javacCmd,
3748
scalacExtraArgs = scalacArgs,
38-
javaOpts = javaOpts) {
49+
javaOpts = javaOpts,
50+
scalacOpts = scalacOpts) {
3951

4052
override def onFinishTest(testFile: File, result: TestState): TestState = {
4153
eventHandler.handle(new Event {

0 commit comments

Comments
 (0)