Skip to content

Commit

Permalink
test: fix exclude parsing for functional runner
Browse files Browse the repository at this point in the history
This restores previous behaviour of being able to exclude a test by name without having to specify .py extension.
  • Loading branch information
m3dwards committed Sep 11, 2024
1 parent 0725a37 commit 82bb0e3
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions test/functional/test_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -522,23 +522,24 @@ def main():
test_list += BASE_SCRIPTS

# Remove the test cases that the user has explicitly asked to exclude.
# The user can specify a test case with or without the .py extension.
if args.exclude:
def print_warning_missing_test(test_name):
print("{}WARNING!{} Test '{}' not found in current test list.".format(BOLD[1], BOLD[0], test_name))
def remove_tests(exclude_list):
if not exclude_list:
print_warning_missing_test(exclude_test)
for exclude_item in exclude_list:
test_list.remove(exclude_item)

exclude_tests = [test.strip() for test in args.exclude.split(",")]
for exclude_test in exclude_tests:
if exclude_test.endswith('.py'):
# Remove <test_name>.py and <test_name>.py --arg from the test list
exclude_list = [test for test in test_list if test.split('.py')[0] == exclude_test.split('.py')[0]]
if not exclude_list:
print_warning_missing_test(exclude_test)
for exclude_item in exclude_list:
test_list.remove(exclude_item)
if '--' in exclude_test or ' ' in exclude_test:
# Exclude a specific variant of a test with arguments
remove_tests([test for test in test_list if test.replace('.py', '') == exclude_test.replace('.py', '')])
else:
try:
test_list.remove(exclude_test)
except ValueError:
print_warning_missing_test(exclude_test)
# Exclude all variants of a test
remove_tests([test for test in test_list if test.split('.py')[0] == exclude_test.split('.py')[0]])

if args.filter:
test_list = list(filter(re.compile(args.filter).search, test_list))
Expand Down

0 comments on commit 82bb0e3

Please sign in to comment.