Repository navigation
Reimplement fuzzing instrumentation using Bazel transitions. - #86
Conversation
This approach eliminates the need for inlining the instrumentation options in the bazelrc file and simplifies the adoption of the rules.
| - name: Run simple smoke test | ||
| run: | | ||
| bazel run //examples:empty_fuzz_test_run --config=asan-libfuzzer -- --timeout_secs=5 | ||
| - name: Run advanced smoke test |
There was a problem hiding this comment.
Just a suggestion (I might be missing context): would it make sense to have a smoke test also for honggfuzz? Also perhaps the reproduction mode for libFuzzer? Maybe MSAN as well?
There was a problem hiding this comment.
This is a great point. I've replaced this set of steps with a separate "Smoke testing" job and enabled a matrix of configuration to test multiple combinations of config x fuzz target.
On this occasion, I discovered that the RE2 example actually triggers an MSAN error :) I will report this on the RE2 project itself and we can decide if we want to include this simple fuzz target as a RE2 fuzzer for OSS-Fuzz too. CC @inferno-chromium @oliverchang
There was a problem hiding this comment.
LGTM, feel free to resolve, leaving open for other's to take a look.
stefanbucur
left a comment
There was a problem hiding this comment.
Thanks for the thorough review! PTAL.
| - name: Run simple smoke test | ||
| run: | | ||
| bazel run //examples:empty_fuzz_test_run --config=asan-libfuzzer -- --timeout_secs=5 | ||
| - name: Run advanced smoke test |
There was a problem hiding this comment.
This is a great point. I've replaced this set of steps with a separate "Smoke testing" job and enabled a matrix of configuration to test multiple combinations of config x fuzz target.
On this occasion, I discovered that the RE2 example actually triggers an MSAN error :) I will report this on the RE2 project itself and we can decide if we want to include this simple fuzz target as a RE2 fuzzer for OSS-Fuzz too. CC @inferno-chromium @oliverchang
This approach eliminates the need for inlining the instrumentation options in the bazelrc file and simplifies the adoption of the rules.