-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Fuzz testing with fault injection #2736
Comments
nominating for well covered |
Triage bump |
Triage: this is probably improving (as in, people are occasionally noticing that something is not failure-safe and fixing it, hopefully faster than new non-failure safe code is being introduced), but there's still no automated tool for it. A very crude way to do this for a subset of the functions in the stdlib would be to have tests passing |
Would it be possibly to hack this together with gdb? I'm thinking "break randomly, call <function that does what |
Is this a bug asking for an instrument to perform fuzz testing in general, i.e. a resurrection of #414? |
Accepted for P-low. |
Triage bump. |
I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized. This issue has been moved to the RFCs repo: rust-lang/rfcs#608 |
update josh instructions Fixes rust-lang/miri#2730 r\? `@oli-obk`
update josh instructions Fixes rust-lang/miri#2730 r\? `@oli-obk`
Co-authored-by: celinval <[email protected]>
The semantics of rust tasks allow them to fail unexpectedly. Currently the two scenarios where this happen are:
The story for how tasks should cope with this are unclear. Right now there is a function
unkillable
which creates a scope where tasks cannot be killed by other tasks, but it does not do anything about hitting the end of the stack.There is a lot of unsafe code in the core and standard libraries that is not aware of its obligations to cope with random failure.
I would like to instrument the runtime and core libraries to allow failure to be injected at various points, then create a tool that takes a crate of tests and runs them while poking at them with the fail stick.
The text was updated successfully, but these errors were encountered: