crossterm icon indicating copy to clipboard operation
crossterm copied to clipboard

Add fuzz testing

Open zrzka opened this issue 6 years ago • 0 comments

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 event module. crossterm is used as a backend for the cursive crate 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 :)

zrzka avatar Nov 26 '19 15:11 zrzka