diff options
author | Antoine Soulier <asoulier@google.com> | 2023-07-07 10:55:20 -0700 |
---|---|---|
committer | Antoine Soulier <asoulier@google.com> | 2023-07-07 10:55:20 -0700 |
commit | f5223713a042d7ac68b3fb27d8805054b05f3a5e (patch) | |
tree | 38fdfcf41fe88c43580f65f287af0d0b546f0582 | |
parent | a3c99d4664630f27414e3e4603a381627bda1c9c (diff) | |
download | liblc3-f5223713a042d7ac68b3fb27d8805054b05f3a5e.tar.gz |
readme: Add few words on fuzzing
-rw-r--r-- | README.md | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -11,6 +11,7 @@ The directory layout is as follows : - src: Source files - tools: Standalone encoder/decoder tools - test: Python implentation, used as reference for unit testing +- fuzz: Roundtrip fuzz testing harness - build: Building outputs - bin: Compilation output @@ -91,6 +92,20 @@ $ pip3 install scipy numpy $ make test ``` +## Fuzzing + +Roundtrip fuzz testing harness is available in `fuzz` directory. +LLVM `clang` and `clang++` compilers are needed to run fuzzing. + +The encoder and decoder fuzzers can be run, for 1 million iterations, using +target respectively `dfuzz` and `efuzz`. The `fuzz` target runs both. + +```sh +$ make efuzz # Run encoder fuzzer for 1M iteration +$ make dfuzz # Run decoder fuzzer for 1M iteration +$ make fuzz -j # Run encoder and decoder fuzzers in parallel +``` + ## Conformance The proposed encoder and decoder implementation have been fully tested and |