@@ -109,9 +109,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
109109 case source : JointCompilationSource => {
110110 source.sourceFiles.map(_.getPath).foreach { path =>
111111 sb.append(delimiter)
112- sb += '''
112+ sb += '\ ' '
113113 sb.append(path)
114- sb += '''
114+ sb += '\ ' '
115115 sb += ' '
116116 }
117117 sb.toString + " \n\n "
@@ -123,9 +123,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
123123 files.map(_.getPath).foreach { path =>
124124 fsb.append(delimiter)
125125 lineLen = 8
126- fsb += '''
126+ fsb += '\ ' '
127127 fsb.append(path)
128- fsb += '''
128+ fsb += '\ ' '
129129 fsb += ' '
130130 }
131131 fsb.append(" \n\n " )
@@ -666,13 +666,20 @@ trait ParallelTesting extends RunnerOrchestration { self =>
666666 errorMap.put(" nopos" , noposErrors + existing)
667667 }
668668
669- val possibleTypos = List (" //error" -> " // error" , " //nopos-error" -> " // nopos-error" )
669+ val anyposErrors = line.toSeq.sliding(" // anypos-error" .length).count(_.unwrap == " // anypos-error" )
670+ if (anyposErrors > 0 ) {
671+ val anypos = errorMap.get(" anypos" )
672+ val existing : Integer = if (anypos eq null ) 0 else anypos
673+ errorMap.put(" anypos" , anyposErrors + existing)
674+ }
675+
676+ val possibleTypos = List (" //error" -> " // error" , " //nopos-error" -> " // nopos-error" , " //anypos-error" -> " // anypos-error" )
670677 for ((possibleTypo, expected) <- possibleTypos) {
671678 if (line.contains(possibleTypo))
672679 echo(s " Warning: Possible typo in error tag in file ${file.getCanonicalPath}: $lineNbr: found ` $possibleTypo` but expected ` $expected` " )
673680 }
674681
675- expectedErrors += noposErrors + errors
682+ expectedErrors += anyposErrors + noposErrors + errors
676683 }
677684 }
678685
@@ -691,15 +698,21 @@ trait ParallelTesting extends RunnerOrchestration { self =>
691698
692699 val errors = errorMap.get(key)
693700
701+ def missing = { echo(s " Error reported in ${pos1.source}, but no annotation found " ) ; false }
702+
694703 if (errors ne null ) {
695704 if (errors == 1 ) errorMap.remove(key)
696705 else errorMap.put(key, errors - 1 )
697706 true
698707 }
699- else {
700- echo(s " Error reported in ${pos1.source}, but no annotation found " )
701- false
702- }
708+ else if key == " nopos" then
709+ missing
710+ else
711+ errorMap.get(" anypos" ) match
712+ case null => missing
713+ case 1 => errorMap.remove(" anypos" ) ; true
714+ case slack => if slack < 1 then missing
715+ else errorMap.put(" anypos" , slack - 1 ) ; true
703716 }
704717 }
705718
0 commit comments