aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Soulier <asoulier@google.com>2023-07-07 10:55:20 -0700
committerAntoine Soulier <asoulier@google.com>2023-07-07 10:55:20 -0700
commitf5223713a042d7ac68b3fb27d8805054b05f3a5e (patch)
tree38fdfcf41fe88c43580f65f287af0d0b546f0582
parenta3c99d4664630f27414e3e4603a381627bda1c9c (diff)
downloadliblc3-f5223713a042d7ac68b3fb27d8805054b05f3a5e.tar.gz
readme: Add few words on fuzzing
-rw-r--r--README.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/README.md b/README.md
index 057d7db..e972ae1 100644
--- a/README.md
+++ b/README.md
@@ -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