Commit Graph

18 Commits

Author SHA1 Message Date
Adrian Taylor
91d9600c33 Allow grepping bindings for multiple patterns. 2020-08-29 17:11:52 +02:00
Alex Touchet
11186b7b5f Update Links 2019-05-21 13:41:42 +02:00
Emilio Cobos Álvarez
892e2ec117 fuzzing: Add a --release flag to the predicate script.
When you're not testing for debug assertions this is much faster.
2019-02-03 14:39:15 +01:00
Daniel Brooks
c9badcdb10 add a description to the new option 2018-06-03 07:10:23 -07:00
Daniel Brooks
f703fe62e3 Add an option to extend the compiled code after each reducing step
This let me add a test function which called a method in the reduced
code, preventing creduce from eliminating everything entirely.
2018-06-03 06:17:11 -07:00
Nick Fitzgerald
d9950d4f1c predicate.py: Add an option to not delete temp files
Useful when debugging.
2017-12-08 14:36:52 -08:00
Nick Fitzgerald
4b049fc80f predicate.py: warn about ignored exceptions during temp clean up 2017-11-01 11:14:48 -07:00
Nick Fitzgerald
0744cea891 predicate.py: Fix reference error that prevented temp file deletion 2017-11-01 11:14:48 -07:00
Nick Fitzgerald
1313995bdf Automatically run creduce in csmith-fuzzing/driver.py
Reduced test cases FTW \o/
2017-10-12 16:37:32 -07:00
Nick Fitzgerald
b70eb51627 Make the csmith driver use predicate.py instead of its own half reimplementation 2017-10-10 10:20:41 -07:00
Nick Fitzgerald
cfb7e7dfbb Add a predicate script for determining whether bindgen can process a given 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.
2017-10-10 10:20:41 -07:00
Nick Fitzgerald
29fff6a5a2 Extend the csmith README 2017-10-05 10:51:56 -07:00
Nick Fitzgerald
d97cba5cae Make the csmith driver script executable 2017-10-05 10:51:56 -07:00
Nick Fitzgerald
e03d6fa3a9 Make the C-Smith fuzzing README a .md file 2017-10-05 10:22:03 -07:00
KC
225c9a47f2 Issue #1037: pass all derive-enabling flags in bindgen for csmith driver 2017-09-27 17:10:55 +10:00
Nick Fitzgerald
ba2db57c78 C-Smith: compile bindings and execute layout tests
This makes us fall over flat on our faces almost immediately...
2017-09-25 13:30:04 -07:00
Nick Fitzgerald
a0f6fbbc37 C-Smith: use temp files instead of local files
This allows us to have multiple processes generating C files with C-Smith and
testing them on bindgen without stepping on each others' toes.
2017-09-25 13:09:18 -07:00
e
d5f87224fd csmith fuzzing 2017-09-25 16:33:10 +02:00