summaryrefslogtreecommitdiff
path: root/csmith-fuzzing/predicate.py
AgeCommit message (Collapse)Author
2022-10-16Move the csmith-fuzzing directory to the top level.Emilio Cobos Álvarez
2022-10-04split the repo into a workspaceChristian Poveda
remove `clap` dependency :tada: update the book installation instructions
2022-05-08Fix NoneType erroralexdevteam
2020-08-29Allow grepping bindings for multiple patterns.Adrian Taylor
2019-02-03fuzzing: Add a --release flag to the predicate script.Emilio Cobos Álvarez
When you're not testing for debug assertions this is much faster.
2018-06-03add a description to the new optionDaniel Brooks
2018-06-03Add an option to extend the compiled code after each reducing stepDaniel Brooks
This let me add a test function which called a method in the reduced code, preventing creduce from eliminating everything entirely.
2017-12-08predicate.py: Add an option to not delete temp filesNick Fitzgerald
Useful when debugging.
2017-11-01predicate.py: warn about ignored exceptions during temp clean upNick Fitzgerald
2017-11-01predicate.py: Fix reference error that prevented temp file deletionNick Fitzgerald
2017-10-12Automatically run `creduce` in `csmith-fuzzing/driver.py`Nick Fitzgerald
Reduced test cases FTW \o/
2017-10-10Add a predicate script for determining whether `bindgen` can process a given ↵Nick Fitzgerald
header First, `bindgen` is run on the input header. Then the emitted bindings are compiled with `rustc`. Finally, the compiled bindings' layout tests are run. By default, this script will exit zero if all of the above steps are successful, and non-zero if any of them fail. This is appropriate for determining if some test case (perhaps generated with `csmith` or another fuzzer) uncovers any bugs in `bindgen`. However, this script can also be used when reducing (perhaps with `creduce`) a known-bad test case into a new, smaller test case that exhibits the same bad behavior. In this mode, you might expect that the emitted bindings fail to compile with `rustc`, and want to exit non-zero early if that is not the case. See the "reducing arguments" section for details and what knobs are available.