@@ -27,7 +27,7 @@ import dotc.interfaces.Diagnostic.ERROR
27
27
import dotc .reporting .{Reporter , TestReporter }
28
28
import dotc .reporting .Diagnostic
29
29
import dotc .config .Config
30
- import dotc .util .{DiffUtil , SourceFile , SourcePosition , Spans }
30
+ import dotc .util .{DiffUtil , SourceFile , SourcePosition , Spans , NoSourcePosition }
31
31
import io .AbstractFile
32
32
import dotty .tools .vulpix .TestConfiguration .defaultOptions
33
33
@@ -506,6 +506,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
506
506
507
507
private def parseErrors (errorsText : String , compilerVersion : String , pageWidth : Int ) =
508
508
val errorPattern = """ ^.*Error: (.*\.scala):(\d+):(\d+).*""" .r
509
+ val brokenClassPattern = """ ^class file (.*) is broken.*""" .r
509
510
val warnPattern = """ ^.*Warning: (.*\.scala):(\d+):(\d+).*""" .r
510
511
val summaryPattern = """ \d+ (?:warning|error)s? found""" .r
511
512
val indent = " "
@@ -534,6 +535,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
534
535
val sourcePos = SourcePosition (sourceFile, span)
535
536
addToLast(barLine(start = false ))
536
537
diagnostics ::= Diagnostic .Error (s " Compilation of $filePath with Scala $compilerVersion failed at line: $line, column: $column. \n Full error output: \n ${barLine(start = true )}${errorLine(error)}" , sourcePos)
538
+ case error @ brokenClassPattern(filePath) =>
539
+ inError = true
540
+ diagnostics ::= Diagnostic .Error (s " $error\n Full error output: \n ${barLine(start = true )}${errorLine(error)}" , NoSourcePosition )
537
541
case summaryPattern() => // Ignored
538
542
case line if inError => addToLast(errorLine(line))
539
543
case _ =>
0 commit comments