crossterm
crossterm copied to clipboard
Add fuzz testing
Basically for the same reasons as described in the #334:
But we should provide benchmarks (especially for events parsing), so we can check that there's no regression after every change we make in the
eventmodule.crosstermis used as a backend for thecursivecrate with 36 dependent crates and any regression can influence all of them. Not talking about projects (applications) that are not published to crates.io (not listed in the dependent crates).
Just replace benchmarks with fuzz testing. We simply do not want to provide anything that crashes when a malformed input is given to the parser. Plus we should write some short guidelines how to work with the fuzzer like - when it crashes do:
- add a test case with the input from the fuzzer,
- etc.
Starting point: cargo-fuzz if anyone wants to dive into this issue before I'll do :)