@@ -6,21 +6,22 @@ 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
23- import dotc .{ Compiler , Driver }
24+ import dotc .{ Driver , Compiler }
2425
2526/** A parallel testing suite whose goal is to integrate nicely with JUnit
2627 *
@@ -127,7 +128,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
127128 /** A group of files that may all be compiled together, with the same flags
128129 * and output directory
129130 */
130- case class JointCompilationSource (
131+ private final case class JointCompilationSource (
131132 name : String ,
132133 files : Array [JFile ],
133134 flags : TestFlags ,
@@ -176,7 +177,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
176177 /** Each `Test` takes the `testSources` and performs the compilation and assertions
177178 * according to the implementing class "neg", "run" or "pos".
178179 */
179- private abstract class Test (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit val summaryReport : SummaryReporting ) { test =>
180+ private abstract class Test (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit val summaryReport : SummaryReporting ) { test =>
180181
181182 import summaryReport ._
182183
@@ -352,12 +353,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
352353 else None
353354 } else None
354355
355- val logLevel = if (suppressErrors || suppressAllOutput) ERROR + 1 else ERROR
356356 val reporter =
357- if (checkCompileOutput)
358- TestReporter .storedReporter(realStdout, logLevel = logLevel)
359- else
360- TestReporter .reporter(realStdout, logLevel = logLevel)
357+ TestReporter .reporter(realStdout, logLevel =
358+ if (suppressErrors || suppressAllOutput) ERROR + 1 else ERROR )
361359
362360 val driver =
363361 if (times == 1 ) new Driver
@@ -466,33 +464,10 @@ trait ParallelTesting extends RunnerOrchestration { self =>
466464 private def flattenFiles (f : JFile ): Array [JFile ] =
467465 if (f.isDirectory) f.listFiles.flatMap(flattenFiles)
468466 else Array (f)
469-
470- protected def verifyCompileOutput (source : TestSource , checkFile : JFile , reporter : StoredTestReporter ): Unit = {
471- reporter.writer.flush()
472- val checkLines = Source .fromFile(checkFile).getLines().mkString(" \n " )
473- val outputLines = reporter.writer.toString.trim.replaceAll(" \\ s+\n " , " \n " )
474-
475- if (outputLines != checkLines) {
476- val msg =
477- s """ |Output from ' ${source.title}' did not match check file ' ${checkFile.getName}'.
478- |-------------------------------------
479- |expected:
480- | $checkLines
481- |
482- |actual:
483- | $outputLines
484- |-------------------------------------
485- """ .stripMargin
486-
487- echo(msg)
488- addFailureInstruction(msg)
489- failTestSource(source)
490- }
491- }
492467 }
493468
494- private final class PosTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting )
495- extends Test (testSources, times, threadLimit, suppressAllOutput, checkCompileOutput ) {
469+ private final class PosTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit summaryReport : SummaryReporting )
470+ extends Test (testSources, times, threadLimit, suppressAllOutput) {
496471 protected def encapsulatedCompilation (testSource : TestSource ) = new LoggedRunnable {
497472 def checkTestSource (): Unit = tryCompile(testSource) {
498473 testSource match {
@@ -525,14 +500,6 @@ trait ParallelTesting extends RunnerOrchestration { self =>
525500 reporters.foreach(logReporterContents)
526501 logBuildInstructions(reporters.head, testSource, errorCount, warningCount)
527502 }
528-
529- // verify compilation check file
530- (1 to testSource.compilationGroups.length).foreach { index =>
531- val checkFile = new JFile (dir.getAbsolutePath.reverse.dropWhile(_ == '/' ).reverse + " /" + index + " .check" )
532-
533- if (checkFile.exists && checkCompileOutput)
534- verifyCompileOutput(testSource, checkFile, reporters(index).asInstanceOf [StoredTestReporter ])
535- }
536503 }
537504 }
538505 }
@@ -656,8 +623,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
656623 }
657624 }
658625
659- private final class NegTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean , checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting )
660- extends Test (testSources, times, threadLimit, suppressAllOutput, checkCompileOutput ) {
626+ private final class NegTest (testSources : List [TestSource ], times : Int , threadLimit : Option [Int ], suppressAllOutput : Boolean )(implicit summaryReport : SummaryReporting )
627+ extends Test (testSources, times, threadLimit, suppressAllOutput) {
661628 protected def encapsulatedCompilation (testSource : TestSource ) = new LoggedRunnable {
662629 def checkTestSource (): Unit = tryCompile(testSource) {
663630 // In neg-tests we allow two types of error annotations,
@@ -734,14 +701,6 @@ trait ParallelTesting extends RunnerOrchestration { self =>
734701 if (actualErrors > 0 )
735702 reporters.foreach(logReporterContents)
736703
737- // Compilation check file: for testing plugins
738- (1 to testSource.compilationGroups.length).foreach { index =>
739- val checkFile = new JFile (dir.getAbsolutePath.reverse.dropWhile(_ == '/' ).reverse + " /" + index + " .check" )
740-
741- if (checkFile.exists && checkCompileOutput)
742- verifyCompileOutput(testSource, checkFile, reporters(index).asInstanceOf [StoredTestReporter ])
743- }
744-
745704 (compilerCrashed, expectedErrors, actualErrors, () => getMissingExpectedErrors(errorMap, errors), errorMap)
746705 }
747706 }
@@ -921,8 +880,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
921880 * compilation without generating errors and that they do not crash the
922881 * compiler
923882 */
924- def checkCompile (checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting ): this .type = {
925- val test = new PosTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput, checkCompileOutput ).executeTestSuite()
883+ def checkCompile ()(implicit summaryReport : SummaryReporting ): this .type = {
884+ val test = new PosTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput).executeTestSuite()
926885
927886 cleanup()
928887
@@ -940,8 +899,8 @@ trait ParallelTesting extends RunnerOrchestration { self =>
940899 * correct amount of errors at the correct positions. It also makes sure
941900 * that none of these tests crash the compiler
942901 */
943- def checkExpectedErrors (checkCompileOutput : Boolean = false )(implicit summaryReport : SummaryReporting ): this .type = {
944- val test = new NegTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput, checkCompileOutput ).executeTestSuite()
902+ def checkExpectedErrors ()(implicit summaryReport : SummaryReporting ): this .type = {
903+ val test = new NegTest (targets, times, threadLimit, shouldFail || shouldSuppressOutput).executeTestSuite()
945904
946905 cleanup()
947906
0 commit comments