@@ -44,11 +44,11 @@ trait ParallelTesting extends RunnerOrchestration { self =>
4444 */
4545 def isInteractive : Boolean
4646
47- /** A string which is used to filter which tests to run, if `None ` will run
48- * all tests. All absolute paths that contain the substring `testFilter`
47+ /** A list of strings which is used to filter which tests to run, if `Nil ` will run
48+ * all tests. All absolute paths that contain any of the substrings in `testFilter`
4949 * will be run
5050 */
51- def testFilter : Option [String ]
51+ def testFilter : List [String ]
5252
5353 /** Tests should override the checkfiles with the current output */
5454 def updateCheckFiles : Boolean
@@ -340,12 +340,12 @@ trait ParallelTesting extends RunnerOrchestration { self =>
340340
341341 /** All testSources left after filtering out */
342342 private val filteredSources =
343- if (! testFilter.isDefined ) testSources
343+ if (testFilter.isEmpty ) testSources
344344 else testSources.filter {
345345 case JointCompilationSource (_, files, _, _, _, _) =>
346- files.exists(file => file.getPath.contains(testFilter.get ))
346+ testFilter.exists(filter => files.exists(file => file.getPath.contains(filter) ))
347347 case SeparateCompilationSource (_, dir, _, _) =>
348- dir.getPath.contains(testFilter.get )
348+ testFilter.exists( dir.getPath.contains)
349349 }
350350
351351 /** Total amount of test sources being compiled by this test */
@@ -581,9 +581,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
581581 else reportPassed()
582582 }
583583 else echo {
584- testFilter
585- .map(r => s """ No files matched " $r " in test""" )
586- .getOrElse( " No tests available under target - erroneous test?" )
584+ testFilter match
585+ case _ :: _ => s """ No files matched " ${testFilter.mkString( " , " )} " in test"""
586+ case _ => " No tests available under target - erroneous test?"
587587 }
588588
589589 this
@@ -1269,10 +1269,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
12691269
12701270 val (dirs, files) = compilationTargets(sourceDir, fromTastyFilter)
12711271
1272- val filteredFiles = testFilter match {
1273- case Some (str) => files.filter(_.getPath.contains(str))
1274- case None => files
1275- }
1272+ val filteredFiles = testFilter match
1273+ case _ :: _ => files.filter(f => testFilter.exists(f.getPath.contains))
1274+ case _ => Nil
12761275
12771276 class JointCompilationSourceFromTasty (
12781277 name : String ,
0 commit comments