From 1a6242526093424947eb49f3416dc0c6bc9fc3a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Barbosa?= Date: Sun, 14 Jul 2019 23:11:55 +0100 Subject: [PATCH] qa: Add --filter option to test_runner.py --- test/functional/test_runner.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index 462547f44..96786e41b 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -234,6 +234,7 @@ def main(): parser.add_argument('--quiet', '-q', action='store_true', help='only print dots, results summary and failure logs') parser.add_argument('--tmpdirprefix', '-t', default=tempfile.gettempdir(), help="Root directory for datadirs") parser.add_argument('--failfast', action='store_true', help='stop execution after the first test failure') + parser.add_argument('--filter', help='filter scripts to run by regular expression') args, unknown_args = parser.parse_known_args() # args to be passed on always start with two dashes; tests are the remaining unknown args @@ -294,6 +295,9 @@ def main(): if not exclude_list: print("{}WARNING!{} Test '{}' not found in current test list.".format(BOLD[1], BOLD[0], exclude_test)) + if args.filter: + test_list = list(filter(re.compile(args.filter).search, test_list)) + if not test_list: print("No valid test scripts specified. Check that your test is in one " "of the test lists in test_runner.py, or run test_runner.py with no arguments to run all tests")