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
+8 -2
View File
@@ -301,7 +301,7 @@ class BenchSuite:
**config_},
args)
# skipping internal tests?
# skipping internal benches?
if args.get('no_internal') and case.internal:
continue
@@ -796,6 +796,8 @@ def find_runner(runner, id=None, main=True, **args):
cmd.append('--define-depth=%s' % args['define_depth'])
if args.get('force'):
cmd.append('--force')
if args.get('no_internal'):
cmd.append('--no-internal')
# only one thread should write to disk/trace, otherwise the output
# ends up clobbered and useless
@@ -1708,6 +1710,10 @@ if __name__ == "__main__":
'--force',
action='store_true',
help="Ignore bench filters.")
bench_parser.add_argument(
'--no-internal',
action='store_true',
help="Don't run internal benches.")
bench_parser.add_argument(
'-d', '--disk',
help="Direct block device operations to this file.")
@@ -1869,7 +1875,7 @@ if __name__ == "__main__":
comp_parser.add_argument(
'--no-internal',
action='store_true',
help="Don't build internal tests.")
help="Don't build internal benches.")
# do the thing
args = parser.parse_intermixed_args()
+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()