diff options
author | Jan Tattermusch <jtattermusch@google.com> | 2016-12-20 10:20:42 +0100 |
---|---|---|
committer | Jan Tattermusch <jtattermusch@google.com> | 2016-12-20 10:20:42 +0100 |
commit | 6a85129d1ad4a191bff37d743a9df9f5b7e11f82 (patch) | |
tree | 2b74b74c655d9870f4b2875ad5e3b91160dbcc26 /tools/run_tests | |
parent | 1a741606feb3c110c7b17b2cf00e18ee97decc72 (diff) |
support --exclude in run_tests_matrix.py
Diffstat (limited to 'tools/run_tests')
-rwxr-xr-x | tools/run_tests/run_tests_matrix.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py index d954aad403..df48099971 100755 --- a/tools/run_tests/run_tests_matrix.py +++ b/tools/run_tests/run_tests_matrix.py @@ -243,14 +243,14 @@ def _allowed_labels(): def _runs_per_test_type(arg_str): - """Auxiliary function to parse the "runs_per_test" flag.""" - try: - n = int(arg_str) - if n <= 0: raise ValueError - return n - except: - msg = '\'{}\' is not a positive integer'.format(arg_str) - raise argparse.ArgumentTypeError(msg) + """Auxiliary function to parse the "runs_per_test" flag.""" + try: + n = int(arg_str) + if n <= 0: raise ValueError + return n + except: + msg = '\'{}\' is not a positive integer'.format(arg_str) + raise argparse.ArgumentTypeError(msg) if __name__ == "__main__": @@ -264,6 +264,11 @@ if __name__ == "__main__": nargs='+', default=[], help='Filter targets to run by label with AND semantics.') + argp.add_argument('--exclude', + choices=_allowed_labels(), + nargs='+', + default=[], + help='Exclude targets with any of given labels.') argp.add_argument('--build_only', default=False, action='store_const', @@ -310,7 +315,8 @@ if __name__ == "__main__": jobs = [] for job in all_jobs: if not args.filter or all(filter in job.labels for filter in args.filter): - jobs.append(job) + if not any(exclude_label in job.labels for exclude_label in args.exclude): + jobs.append(job) if not jobs: jobset.message('FAILED', 'No test suites match given criteria.', |