scripts: test/bench.py: Sped up simple suite/case filters

By "simple" I mean any non-globbing suite/case ids.

Non-globbing suite/case ids can be filtered early in the test_runner.
But globbing ids require, surprise, globbing, which is currently handled
by test/bench.py.

---

This greatly speeds up valgrind testing of specific suites/cases,
otherwise things get bogged down during the initial --list-cases due to
the sheer number of test permutations we've accumulated.

Maybe we shouldn't be running the initial --list-cases under Valgrind,
but oh well. This mostly solves the problem without too many changes.
This commit is contained in:
Christopher Haster
2026-01-27 10:55:59 -06:00
parent 356d7065be
commit d37785cc9b
2 changed files with 12 additions and 2 deletions
+6 -1
View File
@@ -945,7 +945,12 @@ def find_ids(runner, bench_ids=[], **args):
expected_suite_perms, expected_suite_perms,
expected_case_perms, expected_case_perms,
_, _,
_) = find_perms(runner, **args) _) = find_perms(
runner,
# the runner can filter faster than we can, but not if
# we have any globs
bench_ids if not any('*' in id for id in bench_ids) else [],
**args)
# no ids => all ids, before we evaluate globs # no ids => all ids, before we evaluate globs
if not bench_ids and args.get('by_cases'): if not bench_ids and args.get('by_cases'):
+6 -1
View File
@@ -965,7 +965,12 @@ def find_ids(runner, test_ids=[], **args):
expected_suite_perms, expected_suite_perms,
expected_case_perms, expected_case_perms,
_, _,
_) = find_perms(runner, **args) _) = find_perms(
runner,
# the runner can filter faster than we can, but not if
# we have any globs
test_ids if not any('*' in id for id in test_ids) else [],
**args)
# no ids => all ids, before we evaluate globs # no ids => all ids, before we evaluate globs
if not test_ids and args.get('by_cases'): if not test_ids and args.get('by_cases'):