diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-12-09 18:00:06 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-12-09 18:00:06 +0200 |
commit | 70695bead40f97825357e620394918d1a248bf1a (patch) | |
tree | d439f53a5d954307f438aac7c29f9ca051503583 /meson_test.py | |
parent | 0585a959d3bc7e71c896d53ed4f9c74ba49f4825 (diff) | |
download | meson-70695bead40f97825357e620394918d1a248bf1a.zip meson-70695bead40f97825357e620394918d1a248bf1a.tar.gz meson-70695bead40f97825357e620394918d1a248bf1a.tar.bz2 |
Added possibility to have multiple test suites so you can run only a subset of tests. Closes #325.
Diffstat (limited to 'meson_test.py')
-rwxr-xr-x | meson_test.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/meson_test.py b/meson_test.py index a7ba7de..5771fa3 100755 --- a/meson_test.py +++ b/meson_test.py @@ -26,6 +26,8 @@ parser.add_argument('--wrapper', default=None, dest='wrapper', help='wrapper to run tests with (e.g. valgrind)') parser.add_argument('--wd', default=None, dest='wd', help='directory to cd into before running') +parser.add_argument('--suite', default=None, dest='suite', + help='Only run tests belonging to this suite.') parser.add_argument('args', nargs='+') @@ -144,6 +146,11 @@ def drain_futures(futures): (result, numlen, tests, name, i, logfile, jsonlogfile) = i print_stats(numlen, tests, name, result.result(), i, logfile, jsonlogfile) +def filter_tests(suite, tests): + if suite is None: + return tests + return [x for x in tests if x.suite == suite] + def run_tests(options, datafilename): logfile_base = 'meson-logs/testlog' if options.wrapper is None: @@ -173,15 +180,20 @@ def run_tests(options, datafilename): num_workers = multiprocessing.cpu_count() executor = conc.ThreadPoolExecutor(max_workers=num_workers) futures = [] - for i, test in enumerate(tests): + filtered_tests = filter_tests(options.suite, tests) + for i, test in enumerate(filtered_tests): + if test.suite == '': + visible_name = test.name + else: + visible_name = test.suite + ' / ' + test.name if not test.is_parallel: drain_futures(futures) futures = [] res = run_single_test(wrap, test) - print_stats(numlen, tests, test.name, res, i, logfile, jsonlogfile) + print_stats(numlen, tests, visible_name, res, i, logfile, jsonlogfile) else: f = executor.submit(run_single_test, wrap, test) - futures.append((f, numlen, tests, test.name, i, logfile, jsonlogfile)) + futures.append((f, numlen, tests, visible_name, i, logfile, jsonlogfile)) drain_futures(futures) print('\nFull log written to %s.' % logfilename) |