runners: Added both run+compile-time --no-internal/reentrant/fuzz flags

--no-internal has already proven useful for skipping internal tests for
refactoring, so it makes sense to add --no-reentrant/fuzz flags as well.
--no-fuzz seems particularly useful for when you want to skip the less
targeted fuzz tests:

- with fuzz tests: 634616/634616 passed, in 1239.90s
- with --no-fuzz:    85434/85434 passed, in  423.41s

I also added runtime variants to test/bench_runner and test/bench.py.
These may be useful to skip tests without needing to recompile the
runner.

---

Also tweaked -s/--step to filter permutations in any --list-* flags, for
consistency.
This commit is contained in:
Christopher Haster
2026-02-05 01:14:17 -06:00
parent 9974656c5c
commit ebde2c7063
4 changed files with 127 additions and 22 deletions
+30
View File
@@ -317,6 +317,10 @@ class TestSuite:
# skipping internal tests?
if args.get('no_internal') and case.internal:
continue
if args.get('no_reentrant') and case.reentrant:
continue
if args.get('no_fuzz') and case.fuzz:
continue
self.cases.append(case)
@@ -819,6 +823,12 @@ def find_runner(runner, id=None, main=True, **args):
cmd.append('-P%s' % args['powerloss'])
if args.get('force'):
cmd.append('--force')
if args.get('no_internal'):
cmd.append('--no-internal')
if args.get('no_reentrant'):
cmd.append('--no-reentrant')
if args.get('no_fuzz'):
cmd.append('--no-fuzz')
# only one thread should write to disk/trace, otherwise the output
# ends up clobbered and useless
@@ -1727,6 +1737,18 @@ if __name__ == "__main__":
'--force',
action='store_true',
help="Ignore test filters.")
test_parser.add_argument(
'--no-internal',
action='store_true',
help="Don't run internal tests.")
test_parser.add_argument(
'--no-reentrant',
action='store_true',
help="Don't run reentrant tests.")
test_parser.add_argument(
'--no-fuzz',
action='store_true',
help="Don't run fuzz tests.")
test_parser.add_argument(
'-d', '--disk',
help="Direct block device operations to this file.")
@@ -1901,6 +1923,14 @@ if __name__ == "__main__":
'--no-internal',
action='store_true',
help="Don't build internal tests.")
comp_parser.add_argument(
'--no-reentrant',
action='store_true',
help="Don't build reentrant tests.")
comp_parser.add_argument(
'--no-fuzz',
action='store_true',
help="Don't build fuzz tests.")
# do the thing
args = parser.parse_intermixed_args()