Repository navigation
Improve the nofuzz system to allow specific exclusions - #2832
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
|
Here is Gemini's review: Prompt: Use the R gh package (which is already installed) to Response: This pull request introduces a powerful and innovative fuzz testing framework to the lintr Overall Architecture Code Quality and Robustness
Areas for Improvement
Minor Style Note Conclusion |
|
There is some useful feedback in there, I will address it soon. |
|
Fixed items 1 & 2. For 3, I'm not sure a For 4, we can revisit this if it becomes an annoyance. |
Continues the chain from #2818 to #2829
I wasn't satisfied with the approach to just comment out & ignore large swaths of the test suite needed to implement
# nofuzzthrough now, especially after thecomment_injection_fuzzerturned out to require such large# nofuzzregions, but I was stuck on how to proceed with specific exclusions.I think the approach taken here is pretty satisfactory: as a preprocessing step, we convert the
# nofuzzmarkup into new code in the suite that signals activated/deactivated fuzzers for each execution ofexpect_lint().The approach could be improved -- it can be a bit of a pain to debug, e.g. when
expect_lint(file = .)was erroring due to encoding issues, the error causes the test to exit and thus fails to run theactivate_fuzzers()step, leading to cascading confusing errors it's hard to pin down. And there's no simple workaround here, as e.g. using awithr::defer()approach to ensure theactivate_fuzzers()step is run is not straightforward.But I think there's enough good progress here (and it turned up a few more true positive fixes!) that it is ready for review.