@@ -6,17 +6,18 @@ import java.io.{ File => JFile }
66import java .text .SimpleDateFormat
77import java .util .HashMap
88import java .nio .file .StandardCopyOption .REPLACE_EXISTING
9- import java .nio .file .{ Files , NoSuchFileException , Path , Paths }
10- import java .util .concurrent .{ TimeUnit , TimeoutException , Executors => JExecutors }
9+ import java .nio .file .{ Files , Path , Paths , NoSuchFileException }
10+ import java .util .concurrent .{ Executors => JExecutors , TimeUnit , TimeoutException }
1111
1212import scala .io .Source
1313import scala .util .control .NonFatal
1414import scala .util .Try
1515import scala .collection .mutable
1616import scala .util .matching .Regex
1717import scala .util .Random
18+
1819import dotc .core .Contexts ._
19- import dotc .reporting .{ Reporter , StoredTestReporter , TestReporter }
20+ import dotc .reporting .{ Reporter , TestReporter }
2021import dotc .reporting .diagnostic .MessageContainer
2122import dotc .interfaces .Diagnostic .ERROR
2223import dotc .util .DiffUtil
@@ -128,7 +129,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
128129 /** A group of files that may all be compiled together, with the same flags
129130 * and output directory
130131 */
131- case class JointCompilationSource (
132+ private final case class JointCompilationSource (
132133 name : String ,
133134 files : Array [JFile ],
134135 flags : TestFlags ,
@@ -178,7 +179,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
178179 /** Each `Test` takes the `testSources` and performs the compilation and assertions
179180 * according to the implementing class "neg", "run" or "pos".
180181 */
181- private abstract class Test (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit val summaryReport : SummaryReporting ) { test =>
182+ private abstract class Test (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit val summaryReport : SummaryReporting ) { test =>
182183
183184 import summaryReport ._
184185
@@ -354,12 +355,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
354355 else None
355356 } else None
356357
357- val logLevel = if (suppressErrors || suppressAllOutput) ERROR + 1 else ERROR
358358 val reporter =
359- if (checkCompileOutput)
360- TestReporter .storedReporter(realStdout, logLevel = logLevel)
361- else
362- TestReporter .reporter(realStdout, logLevel = logLevel)
359+ TestReporter .reporter(realStdout, logLevel =
360+ if (suppressErrors || suppressAllOutput) ERROR + 1 else ERROR )
363361
364362 val driver =
365363 if (times == 1 ) new Driver
@@ -499,33 +497,10 @@ trait ParallelTesting extends RunnerOrchestration { self =>
499497 private def flattenFiles (f : JFile ): Array [JFile ] =
500498 if (f.isDirectory) f.listFiles.flatMap(flattenFiles)
501499 else Array (f)
502-
503- protected def verifyCompileOutput (source : TestSource , checkFile : JFile , reporter : StoredTestReporter ): Unit = {
504- reporter.writer.flush()
505- val checkLines = Source .fromFile(checkFile).getLines().mkString(" \n " )
506- val outputLines = reporter.writer.toString.trim.replaceAll(" \\ s+\n " , " \n " )
507-
508- if (outputLines != checkLines) {
509- val msg =
510- s """ |Output from ' ${source.title}' did not match check file ' ${checkFile.getName}'.
511- |-------------------------------------
512- |expected:
513- | $checkLines
514- |
515- |actual:
516- | $outputLines
517- |-------------------------------------
518- """ .stripMargin
519-
520- echo(msg)
521- addFailureInstruction(msg)
522- failTestSource(source)
523- }
524- }
525500 }
526501
527- private final class PosTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting )
528- extends Test (testSources, times, threadLimit, suppressAllOutput, checkCompileOutput ) {
502+ private final class PosTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit summaryReport : SummaryReporting )
503+ extends Test (testSources, times, threadLimit, suppressAllOutput) {
529504 protected def encapsulatedCompilation (testSource : TestSource ) = new LoggedRunnable {
530505 def checkTestSource (): Unit = tryCompile(testSource) {
531506 testSource match {
@@ -603,14 +578,6 @@ trait ParallelTesting extends RunnerOrchestration { self =>
603578 reporters.foreach(logReporterContents)
604579 logBuildInstructions(reporters.head, testSource, errorCount, warningCount)
605580 }
606-
607- // verify compilation check file
608- (1 to testSource.compilationGroups.length).foreach { index =>
609- val checkFile = new JFile (dir.getAbsolutePath.reverse.dropWhile(_ == '/' ).reverse + " /" + index + " .check" )
610-
611- if (checkFile.exists && checkCompileOutput)
612- verifyCompileOutput(testSource, checkFile, reporters(index).asInstanceOf [StoredTestReporter ])
613- }
614581 }
615582 }
616583 }
@@ -734,8 +701,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
734701 }
735702 }
736703
737- private final class NegTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting )
738- extends Test (testSources, times, threadLimit, suppressAllOutput, checkCompileOutput ) {
704+ private final class NegTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit summaryReport : SummaryReporting )
705+ extends Test (testSources, times, threadLimit, suppressAllOutput) {
739706 protected def encapsulatedCompilation (testSource : TestSource ) = new LoggedRunnable {
740707 def checkTestSource (): Unit = tryCompile(testSource) {
741708 // In neg-tests we allow two types of error annotations,
@@ -812,14 +779,6 @@ trait ParallelTesting extends RunnerOrchestration { self =>
812779 if (actualErrors > 0 )
813780 reporters.foreach(logReporterContents)
814781
815- // Compilation check file: for testing plugins
816- (1 to testSource.compilationGroups.length).foreach { index =>
817- val checkFile = new JFile (dir.getAbsolutePath.reverse.dropWhile(_ == '/' ).reverse + " /" + index + " .check" )
818-
819- if (checkFile.exists && checkCompileOutput)
820- verifyCompileOutput(testSource, checkFile, reporters(index).asInstanceOf [StoredTestReporter ])
821- }
822-
823782 (compilerCrashed, expectedErrors, actualErrors, () => getMissingExpectedErrors(errorMap, errors), errorMap)
824783 }
825784 }
@@ -992,8 +951,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
992951 * compilation without generating errors and that they do not crash the
993952 * compiler
994953 */
995- def checkCompile (checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting ): this .type = {
996- val test = new PosTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput, checkCompileOutput ).executeTestSuite()
954+ def checkCompile ()(implicit summaryReport : SummaryReporting ): this .type = {
955+ val test = new PosTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput).executeTestSuite()
997956
998957 cleanup()
999958
@@ -1011,8 +970,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
1011970 * correct amount of errors at the correct positions. It also makes sure
1012971 * that none of these tests crash the compiler
1013972 */
1014- def checkExpectedErrors (checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting ): this .type = {
1015- val test = new NegTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput, checkCompileOutput ).executeTestSuite()
973+ def checkExpectedErrors ()(implicit summaryReport : SummaryReporting ): this .type = {
974+ val test = new NegTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput).executeTestSuite()
1016975
1017976 cleanup()
1018977
0 commit comments