bindgen with quickcheckingquickchecking 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!
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...
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