tree: 0b89802216dd9dd1b5d6a94d1c4cffeb2737499d [path history] [tgz]
  1. src/
  2. tests/
  3. .gitignore
  4. Cargo.toml
  5. README.md
tests/quickchecking/README.md

Property tests for bindgen with quickchecking

quickchecking generates random C headers to test bindgen using the quickcheck property testing crate. When testing bindgen with quickchecking, the generated header files are passed to bindgen's csmith-fuzzing/predicate.py script. If that script fails, quickchecking panics, and you can report an issue containing the test case!

Prerequisites

Requires python3 to be in $PATH.

Many systems have python3 by default but if your OS doesn't, its package manager may make it available:

$ sudo apt install python3
$ brew install python3
$ # Etc...

Running

Run quickchecking binary to generate and test fuzzed C headers with cargo run. Additional configuration is exposed through the binary's CLI.

$ cargo run --bin=quickchecking -- -h