fix: Avoid running the fuzzer if there are no functions to fuzz #11933
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
There are edge cases when the input to the fuzzer results in no signatures to fuzz due to combination of skipped functions and skipped input types. This causes the fuzzer to fail when it tries to generate an expression, specifically failing in
ExpressionFuzzer::fuzzReturnType()
, at VELOX_CHECK(!signatures_.empty(), "No function signature available.");.Instead of failing the fuzzer at fuzzing time, let's exit the fuzzer with a warning that there were no functions to even fuzz.
Differential Revision: D67153128