tree: 9c5cd9c3e1bc4ecf587ff0f046a8e56f650f0bd7 [path history] [tgz]
  1. fuzz.go
  2. fuzz_test.go
  3. go.mod
  4. Makefile.am
  5. README.md
lib/go/test/fuzz/README.md

Go fuzzing README

To build the fuzz targets, simply run make check in this directory

To reproduce a bug, update the code in the fuzz_test.go file, pass the right input buffer in there and update the code to call the relevant function.

We currently have the following fuzz targets:

  • FuzzTutorial -- a fuzzer which spins up an mini server and fuzzes it with random data, following the tutorial example
  • FuzzParseCompact -- fuzzes the deserialization of the Compact protocol
  • FuzzParseBinary -- fuzzes the deserialization of the Binary protocol
  • FuzzParseJson -- fuzzes the deserialization of the JSON protocol
  • FuzzRoundtripCompact -- fuzzes the roundtrip of the Compact protocol
  • FuzzRoundtripBinary -- fuzzes the roundtrip of the Binary protocol
  • FuzzRoundtripJson -- fuzzes the roundtrip of the JSON protocol