Conversation
Multiple improvements to the fuzzing logic: - Remove the fuzzing binary from the `make all` target - Rename `fuzzing` to `fuzzing_quick` for 60 seconds fuzzing - Add `fuzzing` target to fuzz the parser indefinitely
ff1541d to
d9e57b2
Compare
|
|
||
| add_custom_target(fuzzing | ||
| COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -L fuzzing | ||
| COMMAND ${CMAKE_CTEST_COMMAND} --verbose -R "fuzzing.parser" |
There was a problem hiding this comment.
Claude: ctest -R performs regex substring matching. The pattern fuzzing.parser matches any test name containing that substring, which includes both fuzzing.parser and fuzzing.parser.60 (. is also a regex wildcard matching any character). This means make fuzzing will run the 60-second test and the indefinite test, rather than just the indefinite fuzzer.
Consider anchoring the regex:
| COMMAND ${CMAKE_CTEST_COMMAND} --verbose -R "fuzzing.parser" | |
| COMMAND ${CMAKE_CTEST_COMMAND} --verbose -R "^fuzzing\\.parser$$" |
($$ is needed because CMake interprets a single $; the shell receives $ which anchors end-of-string.)
Alternatively, rename the indefinite test to something that isn't a prefix of the other, e.g. fuzzing.parser.infinite.
|
|
||
| - name: Run fuzzing tests | ||
| run: ctest --test-dir $GITHUB_WORKSPACE/build -L fuzzing --verbose | ||
| run: ctest --test-dir $GITHUB_WORKSPACE/build -R fuzzing.parser.60 --verbose |
There was a problem hiding this comment.
Claude: Minor consistency note — the other CI test steps use label-based selection (-L unit, -L e2e), while this now uses regex (-R). This works in practice, but the unescaped . characters are regex wildcards. For robustness you could escape them or keep using -L:
| run: ctest --test-dir $GITHUB_WORKSPACE/build -R fuzzing.parser.60 --verbose | |
| run: ctest --test-dir $GITHUB_WORKSPACE/build -R 'fuzzing\.parser\.60$' --verbose |
|
Claude: review of facebook/bpfilter #469 (d9e57b2) Must fix
Suggestions
Nits
|
Multiple improvements to the fuzzing logic:
make alltargetfuzzingtofuzzing_quickfor 60 seconds fuzzingfuzzingtarget to fuzz the parser indefinitely