Skip to content

Commit

Permalink
fuzz/README.md: add a brief README
Browse files Browse the repository at this point in the history
  • Loading branch information
pkgw committed Jun 15, 2019
1 parent 5ce4f00 commit a515f52
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions fuzz/README.md
@@ -0,0 +1,24 @@
# Tectonic Fuzzing Support

This is *beta-level* support for [fuzzing] the Tectonic engine using
[cargo-fuzz]. At the moment, the fuzzing does not work very well because it
exposes memory leaks in the Tectonic engine; this is desirable in and of
itself, but the exposed leaks have proven to be tricky to fix. (Patches most
welcome, of course! The limiting factor here is definitely developer
bandwidth.)

See the script `./run-fuzzer.sh` for an example of how to, well, run the
fuzzer. Note that this script sets a [rustup directory override] to build
Tectonic using the nightly compilers, since nightly is currently required by
the fuzzer.

To tell the fuzzer to ignore memory leaks, run a command like the following
from the toplevel directory of the Tectonic repository:

```sh
cargo +nightly fuzz run compile fuzz/corpus fuzz/seeds -- -detect_leaks=0
```

[fuzzing]: https://en.wikipedia.org/wiki/Fuzzing
[cargo-fuzz]: https://github.com/rust-fuzz/cargo-fuzz
[rustup directory override]: https://github.com/rust-lang/rustup.rs#directory-overrides

0 comments on commit a515f52

Please sign in to comment.