Implement fuzzing (Arbitrary) for the Simfony parse tree and write three fuzz targets:
compile_text: try to compile random ASCII strings; slow because of parser (#79)
compile_parse_tree: try to compile random parse trees; ~10x faster than compile_text and better coverage
display_parse_tree: check that Display → ParseFromStr is the identity function
Write a simple CI that uses nix flakes and dev shells. This CI is not more reproducible than regular GitHub CI, but it saves me time because I already have nix infrastructure in place. I will switch the CI to something reproducible in the near future.
Run the linter, unit tests (stable + MSRV) and the fuzzer in CI. For now, coverage is ignored in CI.
Fixes #72
Implement fuzzing (
Arbitrary
) for the Simfony parse tree and write three fuzz targets:compile_text
: try to compile random ASCII strings; slow because of parser (#79)compile_parse_tree
: try to compile random parse trees; ~10x faster thancompile_text
and better coveragedisplay_parse_tree
: check thatDisplay
→ParseFromStr
is the identity functionWrite a simple CI that uses nix flakes and dev shells. This CI is not more reproducible than regular GitHub CI, but it saves me time because I already have nix infrastructure in place. I will switch the CI to something reproducible in the near future.
Run the linter, unit tests (stable + MSRV) and the fuzzer in CI. For now, coverage is ignored in CI.