Commit Graph

10 Commits

Author SHA1 Message Date
Paul Otten
be2ced6543 fuzz/README.md: fuzzing explicitly requires nightly now
While we've moving (almost) everything stable by default now,
fuzzing still requires nightly.

Since stable is now the default we need to add "+nightly" to
various fuzzing commands.
2025-04-14 19:42:25 -04:00
foo
ed4385de0c fuzz: Add dictionaries, improve README 2024-05-20 11:16:57 -04:00
y
e7a7f6d02d fuzz: add regressions/ folder; improve READMEs 2023-09-19 16:09:22 -04:00
y
a0e78b576a fuzz: Enable and document code coverage for zkas
Libfuzzer has more capabilities to provide a helpful code coverage
report for fuzz testing. (Or at least is has better documentation.)
This commit copies the zkas-compile harness from honggfuzz into libfuzzer.
It also includes instructions for generating coverage reports.
2023-09-19 14:41:25 -04:00
greptile
8a806b2cfc fuzz: improve docs for memory settings (#208)
* fuzz: improve docs for memory settings

* wording improvement

* Add instructions for more optimal fuzzing

---------

Co-authored-by: y <y>
2023-09-06 10:56:51 +00:00
greptile
d9d918b884 fuzz: Add honggfuzz (#206)
* fuzz: Add honggfuzz

- Added honggfuzz in fuzz2/ (alongside libfuzzer in fuzz/)
- Created convenience script for fuzzing binary decoder
- Created a script to convert inputs that cause crashes into arrays so
  that they can be used in unit tests

* Create honggfuzz as subdirectory of fuzz/

- Reorg so that honggfuzz is under fuzz/ instead of in a separate
  sibling-level directory fuzz2
- Update fuzz/README.md to make it explicit that it covers libfuzzer

Note: `cargo fuzz`/libfuzzer seems to insist that its folder exists at
`$REPO/fuzz/` so that's the reason for this particular folder structure.

---------

Co-authored-by: y <y>
2023-09-04 16:42:34 +00:00
greptile
7e76cf360c docs: Add more details about fuzzing (#201)
Add more documentation to fuzz/README.md, especially when it comes to
interpreting out-of-memory issues.

Co-authored-by: y <y>
Co-authored-by: parazyd <parazyd@users.noreply.github.com>
2023-08-30 05:44:42 +00:00
y
374d19851f fuzz: Restructure corpora git structure
Use artifacts/ rather than corpus/ to track fuzz inputs. corpus appears
to be a temporary directory that will be modified when minimizing test
cases using commands like `cargo fuzz cmin` or `cargo fuzz tmin`. For
this reason it's not suitable for long-term storage and is likely to
make the git commit-staging process very messy.
2023-08-30 05:42:23 +00:00
y
5ac92e3093 fuzz: improve readme and corpora wording 2023-08-24 18:37:46 +00:00
y
bc16b6c475 Add instructions for building the fuzzing corpus
- Inform devs how to build an organized and useful corpora based on the
results of fuzz testing.
- Modify .gitignore to allow corpus/ tracking. Note: files in corpus/
  should not be blindly committed but selectively added based on
  usefulness
- Add emptyfile to zkas-decoder corpus because it caused a panic
2023-08-24 18:37:46 +00:00