@@ -1125,9 +1125,9 @@ trait ParallelTesting extends RunnerOrchestration { self =>
1125
1125
}
1126
1126
1127
1127
/** Separates directories from files and returns them as `(dirs, files)` */
1128
- private def compilationTargets (sourceDir : JFile , blacklisted : String => Boolean = _ => false ): (List [JFile ], List [JFile ]) =
1128
+ private def compilationTargets (sourceDir : JFile , fileFilter : FileFilter = FileFilter . NoFilter ): (List [JFile ], List [JFile ]) =
1129
1129
sourceDir.listFiles.foldLeft((List .empty[JFile ], List .empty[JFile ])) { case ((dirs, files), f) =>
1130
- if (blacklisted (f.getName)) (dirs, files)
1130
+ if (! fileFilter.accept (f.getName)) (dirs, files)
1131
1131
else if (f.isDirectory) (f :: dirs, files)
1132
1132
else if (isSourceFile(f)) (dirs, f :: files)
1133
1133
else (dirs, files)
@@ -1225,12 +1225,12 @@ trait ParallelTesting extends RunnerOrchestration { self =>
1225
1225
* - Directories can have an associated check-file, where the check file has
1226
1226
* the same name as the directory (with the file extension `.check`)
1227
1227
*/
1228
- def compileFilesInDir (f : String , flags : TestFlags , blacklisted : String => Boolean = _ => false )(implicit testGroup : TestGroup ): CompilationTest = {
1228
+ def compileFilesInDir (f : String , flags : TestFlags , fileFilter : FileFilter = FileFilter . NoFilter )(implicit testGroup : TestGroup ): CompilationTest = {
1229
1229
val outDir = defaultOutputDir + testGroup + " /"
1230
1230
val sourceDir = new JFile (f)
1231
1231
checkRequirements(f, sourceDir, outDir)
1232
1232
1233
- val (dirs, files) = compilationTargets(sourceDir, blacklisted )
1233
+ val (dirs, files) = compilationTargets(sourceDir, fileFilter )
1234
1234
1235
1235
val targets =
1236
1236
files.map(f => JointCompilationSource (testGroup.name, Array (f), flags, createOutputDirsForFile(f, sourceDir, outDir))) ++
@@ -1260,14 +1260,14 @@ trait ParallelTesting extends RunnerOrchestration { self =>
1260
1260
* Tests in the first part of the tuple must be executed before the second.
1261
1261
* Both testsRequires explicit delete().
1262
1262
*/
1263
- def compileTastyInDir (f : String , flags0 : TestFlags , blacklist : Set [ String ], decompilationBlacklist : Set [ String ], recompilationWhitelist : Set [ String ] )(
1263
+ def compileTastyInDir (f : String , flags0 : TestFlags , fromTastyFilter : FileFilter , decompilationFilter : FileFilter , recompilationFilter : FileFilter )(
1264
1264
implicit testGroup : TestGroup ): TastyCompilationTest = {
1265
1265
val outDir = defaultOutputDir + testGroup + " /"
1266
1266
val flags = flags0 and " -Yretain-trees"
1267
1267
val sourceDir = new JFile (f)
1268
1268
checkRequirements(f, sourceDir, outDir)
1269
1269
1270
- val (dirs, files) = compilationTargets(sourceDir, blacklist )
1270
+ val (dirs, files) = compilationTargets(sourceDir, fromTastyFilter )
1271
1271
1272
1272
val filteredFiles = testFilter match {
1273
1273
case Some (str) => files.filter(_.getAbsolutePath.contains(str))
@@ -1282,35 +1282,32 @@ trait ParallelTesting extends RunnerOrchestration { self =>
1282
1282
1283
1283
val targets2 =
1284
1284
filteredFiles
1285
- .filter(f => ! decompilationBlacklist (f.getName))
1285
+ .filter(f => decompilationFilter.accept (f.getName))
1286
1286
.map { f =>
1287
1287
val classpath = createOutputDirsForFile(f, sourceDir, outDir)
1288
1288
JointCompilationSource (testGroup.name, Array (f), flags.withClasspath(classpath.getPath), classpath, decompilation = true )
1289
1289
}
1290
1290
1291
1291
// Create a CompilationTest and let the user decide whether to execute a pos or a neg test
1292
- val generateClassFiles = compileFilesInDir(f, flags0, blacklist )
1292
+ val generateClassFiles = compileFilesInDir(f, flags0, fromTastyFilter )
1293
1293
1294
1294
val decompilationDir = outDir + sourceDir.getName + " _decompiled"
1295
1295
1296
1296
if (targets2.isEmpty)
1297
1297
new JFile (decompilationDir).mkdirs()
1298
1298
1299
- val recompilationBlacklisted =
1300
- (f : String ) => ! recompilationWhitelist(f)
1301
-
1302
1299
new TastyCompilationTest (
1303
1300
generateClassFiles.keepOutput,
1304
1301
new CompilationTest (targets).keepOutput,
1305
1302
new CompilationTest (targets2).keepOutput,
1306
- recompilationBlacklisted ,
1303
+ recompilationFilter ,
1307
1304
decompilationDir,
1308
1305
shouldDelete = true
1309
1306
)
1310
1307
}
1311
1308
1312
1309
class TastyCompilationTest (step1 : CompilationTest , step2 : CompilationTest , step3 : CompilationTest ,
1313
- recompilationBlacklisted : String => Boolean , decompilationDir : String , shouldDelete : Boolean )(implicit testGroup : TestGroup ) {
1310
+ recompilationBlacklisted : FileFilter , decompilationDir : String , shouldDelete : Boolean )(implicit testGroup : TestGroup ) {
1314
1311
1315
1312
def keepOutput : TastyCompilationTest =
1316
1313
new TastyCompilationTest (step1, step2, step3, recompilationBlacklisted, decompilationDir, shouldDelete)
0 commit comments