-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fuzzing of private APIs #156
Comments
The only way I know of would be to have Ideally, Rust would have a clearer story for custom test frameworks, but that's not really a thing right now. |
For posterity, I went down a bit of a rabbit hole, trying to see the current state of this now. Here are a couple of findings; There was an attempt made to support custom test frameworks (incomplete/abandoned): There is also some interesting work done in defmt-test that seems to support a custom test framework. This is more targetted at bare-metal testing and applications. 1 test goes to a single binary which is uploaded to a microcontroller. It might be possible to adapt the approach taken by defmt-test/probe-rs to work with cargo-fuzz. |
@fitzgen Do you think such a feature would be in scope for I'll add that another feature |
|
Sure, but it makes things much less convenient than just writing a proptest-like unit test that'll automatically be turned into a fuzzer. Should I consider your answer as "implementing something like what bolero does is out of scope for cargo-fuzz"? I'd totally understand, as it's a pretty significant addition, though I personally consider it a required feature for my use cases :) |
I could see the |
Well, the thing is that in order to run the fuzzer inside a So you're entirely right that Does that make sense? |
Currently cargo-fuzz imports the fuzz target crate using
extern crate
. This exposes only public interfaces.Is there a way to fuzz internal (
pub(crate)
) APIs?The text was updated successfully, but these errors were encountered: