Skip to content

Conversation

@kristoff-it
Copy link
Member

@kristoff-it kristoff-it commented Sep 24, 2025

Adds the limit option to --fuzz. the limit expresses a number of iterations that each fuzz test will perform at maximum before exiting. The limit argument supports also 'K', 'M', and 'G' suffixes (e.g. '10K').

Does not imply --webui (like unlimited fuzzing does) and prints a fuzzing report at the end.

Closes #22900 but does not implement the time based limit, as after internal discussions we concluded to be problematic to both implement and use correctly.

Adds the limit option to `--fuzz=[limit]`. the limit expresses a number
of iterations that *each fuzz test* will perform at maximum before
exiting. The limit argument supports also 'K', 'M', and 'G' suffixeds
(e.g. '10K').

Does not imply `--web-ui` (like unlimited fuzzing does) and prints a
fuzzing report at the end.

Closes #22900 but does not implement the time based limit, as after
internal discussions we concluded to be problematic to both implement
and use correctly.
Copy link
Member

@andrewrk andrewrk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't get a chance to look at the fuzzer lib changes yet but I think the requested changes to test runner are important enough they should be fixed before moving forward with this.

I'm happy to help with this

Comment on lines +800 to +801
f.start();
f.waitAndPrintReport();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine for this branch, but noting for any contributors watching this PR: a future enhancement will be to make fuzzing limited mode be part of the main build graph pipeline. In other words, limited mode fuzzing should run at the same time as the rest of the build.

Copy link
Member

@andrewrk andrewrk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ready to land - thanks for the changes!

--debug-rt previously would make rt libs match the root module. Now they
are always debug when --debug-rt is passed. This includes compiler-rt,
fuzzer lib, and others.
This would cause the web ui to crash in js or wasm.
@andrewrk andrewrk enabled auto-merge September 26, 2025 07:33
@andrewrk andrewrk merged commit e0dc2e4 into master Sep 26, 2025
9 checks passed
@andrewrk andrewrk deleted the fuzz-limit branch September 26, 2025 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

introduce --fuzz=<limit> to make tests pass after a certain quantity of fuzz testing has completed

3 participants