@@ -122,9 +122,9 @@ def get_tests(driver_path, args):
122
122
"""Return a list of available performance tests"""
123
123
tests = subprocess .check_output ([driver_path , '--list' ]).split ()[2 :]
124
124
if args .filters :
125
- return sorted ( list ( set ([ name
126
- for prefix in args . filters
127
- for name in tests if name . startswith ( prefix ) ])))
125
+ regexes = [ re . compile ( pattern ) for pattern in args . filters ]
126
+ return sorted ( list ( set ([ name for pattern in regexes
127
+ for name in tests if pattern . match ( name ) ])))
128
128
if not args .benchmarks :
129
129
return tests
130
130
return sorted (list (set (tests ).intersection (set (args .benchmarks ))))
@@ -352,7 +352,7 @@ def positive_int(value):
352
352
353
353
def main ():
354
354
parser = argparse .ArgumentParser (
355
- epilog = 'Example: ./Benchmark_Driver run -i 5 -f Prefix -f Suffix -f Drop '
355
+ epilog = 'Example: ./Benchmark_Driver run -i 5 -f Prefix -f .* Suffix.* '
356
356
)
357
357
subparsers = parser .add_subparsers (
358
358
title = 'Swift benchmark driver commands' ,
@@ -366,8 +366,8 @@ def main():
366
366
help = 'benchmark to run (default: all)' , nargs = '*' , metavar = "BENCHMARK" )
367
367
benchmarks_group .add_argument (
368
368
'-f' , '--filter' , dest = 'filters' , action = 'append' ,
369
- help = 'run all tests whose name starts with PREFIX , ' +
370
- 'multiple filters are supported' , metavar = "PREFIX " )
369
+ help = 'run all tests whose name match regular expression PATTERN , ' +
370
+ 'multiple filters are supported' , metavar = "PATTERN " )
371
371
parent_parser .add_argument (
372
372
'-t' , '--tests' ,
373
373
help = 'directory containing Benchmark_O{,none,unchecked} ' +
0 commit comments