@@ -27,7 +27,7 @@ import dotc.interfaces.Diagnostic.ERROR
2727import dotc .reporting .{Reporter , TestReporter }
2828import dotc .reporting .Diagnostic
2929import dotc .config .Config
30- import dotc .util .{DiffUtil , SourceFile , SourcePosition , Spans }
30+ import dotc .util .{DiffUtil , SourceFile , SourcePosition , Spans , NoSourcePosition }
3131import io .AbstractFile
3232import dotty .tools .vulpix .TestConfiguration .defaultOptions
3333
@@ -506,6 +506,7 @@ trait ParallelTesting extends RunnerOrchestration { self =>
506506
507507 private def parseErrors (errorsText : String , compilerVersion : String , pageWidth : Int ) =
508508 val errorPattern = """ ^.*Error: (.*\.scala):(\d+):(\d+).*""" .r
509+ val brokenClassPattern = """ ^class file (.*) is broken.*""" .r
509510 val warnPattern = """ ^.*Warning: (.*\.scala):(\d+):(\d+).*""" .r
510511 val summaryPattern = """ \d+ (?:warning|error)s? found""" .r
511512 val indent = " "
@@ -534,6 +535,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
534535 val sourcePos = SourcePosition (sourceFile, span)
535536 addToLast(barLine(start = false ))
536537 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 )
537541 case summaryPattern() => // Ignored
538542 case line if inError => addToLast(errorLine(line))
539543 case _ =>
0 commit comments