Alex Groce
519b61a7a9
Proper print format
2018-07-27 21:14:54 -07:00
Alex Groce
95cdb135fc
proper return value for LLVM run
2018-07-27 21:11:11 -07:00
Alex Groce
fe3a417637
special version for libFuzzer that doesn't fork
2018-07-27 21:10:02 -07:00
Alex Groce
4066104189
debugging
2018-07-27 17:36:57 -07:00
Alex Groce
89ceafcea6
initialize options
2018-07-27 17:10:43 -07:00
Alex Groce
8c02b19371
move to .c
2018-07-27 16:58:58 -07:00
Alex Groce
4ab8a6c712
go back to extern
2018-07-27 16:54:48 -07:00
Alex Groce
68f413b7af
fixing link
2018-07-27 16:51:54 -07:00
Alex Groce
e18a26896a
just read the data and run, abort if too large
2018-07-27 16:46:18 -07:00
Alex Groce
5731fbc4e1
fix
2018-07-27 16:17:31 -07:00
Alex Groce
37188de25b
entry point
2018-07-27 16:11:21 -07:00
Alex Groce
d1cda2fec2
fix off-by-one in range in OneOf
2018-07-26 14:00:20 -07:00
Alex Groce
45abf8ea24
don't crash on abandons
2018-07-26 11:29:02 -07:00
Alex Groce
090f1f60af
Add abort option for fuzzing, way to run a set of generated tests
2018-07-26 11:24:46 -07:00
Alex Groce
dd27ac8b95
hope fixes help order, and lets you know when test is default
2018-07-25 15:52:08 -07:00
Alex Groce
4b639f4e61
let user know if they try to run a nonexistent test
2018-07-25 15:35:38 -07:00
Alex Groce
0a9ee0bbc6
initial stab at the option
2018-07-25 15:29:27 -07:00
Alex Groce
7d12b11706
function to call when running a single test
2018-07-25 14:56:52 -07:00
Alex Groce
b8fa722b56
Merge branch 'master' into add_input_test_file_option
2018-07-25 14:17:22 -07:00
Alex Groce
9874efb53f
working on option to run a single saved test
2018-07-25 13:16:21 -07:00
Peter Goodman
a2ec146657
Adds support for --help.
2018-07-25 15:34:07 -04:00
Alex Groce
a9fef3157f
add options for replay of single file
2018-07-25 12:33:53 -07:00
Peter Goodman
5c97e7aa14
Change how pointers are streamed.
2018-07-23 11:56:23 -04:00
Peter Goodman
c9e413cafa
Minor tweak to symbolically-sized containers.
2018-07-18 09:35:02 -04:00
Peter Goodman
15ee6c849c
Refactor tests, and pump symbolic container sizes
2018-07-18 09:26:44 -04:00
Alex Groce
70dd92cb27
Fix message on abandon
2018-06-25 17:32:38 -07:00
Alex Groce
2aa6e9f1d5
Fix fatal in .h file also
2018-06-25 17:29:58 -07:00
Alex Groce
f821097775
Log Error on abandon
2018-06-25 17:26:02 -07:00
Alex Groce
16e9255396
abandon, rather than fatal, on failed assumption, for fuzzing
2018-06-23 15:00:52 -07:00
7ce41d6bc7
Check malloc() for errors
2018-02-26 22:05:24 +01:00
Joe Ranweiler
2cb1bf002d
Add impl for klee_choose()
2018-02-25 10:27:48 -08:00
Joe Ranweiler
dc9c353244
Comment out unsupported klee_is_symbolic
...
This takes a memory address as an argument, not a possibly-symbolic
value (which we do support). We probably need to extend the DeepState
API to support this robustly.
2018-02-25 10:27:48 -08:00
Joe Ranweiler
2ff08e5d70
Add impls for KLEE symbolic int functions
2018-02-25 10:27:47 -08:00
Joe Ranweiler
63f22739f9
Impl supported klee_get_val functions
...
We will extend the DeepState API to support the others.
2018-02-25 10:27:47 -08:00
Joe Ranweiler
a1aaeee8c8
Use short-lived preprocessor def
2018-02-25 10:27:47 -08:00
Joe Ranweiler
16ce8d6e00
Add decl, impl for klee_abort()
2018-02-25 10:27:47 -08:00
Joe Ranweiler
27b2a490ee
Comment out unsupported KLEE functions
...
We don't declare the functions to ensure compilation fails fast, not
linking. We keep the commented prototype for the sake of documentation,
instead of just deleting it. We may also eventually be able to impl the
functions if we extend the DeepState API.
2018-02-25 10:27:47 -08:00
Joe Ranweiler
994d29b2d3
Add no-op impls for KLEE-internal debugging functions
2018-02-25 10:27:47 -08:00
Joe Ranweiler
e33b910182
Add no-op impls for KLEE engine commands
...
These functions do not have a DeepState equivalent, nor do they impact
the semantics of the symbolic program to be executed.
2018-02-25 10:27:47 -08:00
Joe Ranweiler
6b95aab503
Impl klee_silent_exit()
2018-02-25 10:27:47 -08:00
Joe Ranweiler
9e3d1d1eb2
Impl KLEE warning funcs
2018-02-25 10:27:47 -08:00
Joe Ranweiler
236ee6856e
Add lib impl for klee_make_symbolic()
2018-02-23 15:42:17 -08:00
Joe Ranweiler
f7791f216f
Add stub header that declares the KLEE API
2018-02-23 15:42:17 -08:00
Joe Ranweiler
f39a89d059
Use consistent naming conventions
2018-02-21 19:32:26 -08:00
Joe Ranweiler
49fd41f5e1
Return bool from DeepState_Catch... functions
2018-02-21 19:31:45 -08:00
Joe Ranweiler
691cf24108
Remove usage of old internal globals
...
- Use `DeepState_CurrentTestRun` global shared struct
- Allocate memory for the above in `DeepState_Setup()`
- Update `DeepState_Catch...` functions to map enums to status ints
2018-02-21 19:22:20 -08:00
Joe Ranweiler
f07fd1cab7
Split up mapping and init of current test run globals
...
- Use `DeepState_AllocCurrentTestRun()` to map memory in take-over setup
- Add error handling for `mmap()` call
- Unify init of test globals via `DeepState_InitCurrentTestRun()`
2018-02-21 19:09:01 -08:00
Joe Ranweiler
4f711da986
Use DeepState_CurrentTestRun in take-over test case replays
...
- Map shared memory for `DeepState_CurrentTestRun`
- For non-crashing forked test runs, inspect the above to figure out
what happened. In particular, this supports `CHECK` and soft failures.
2018-02-21 18:52:23 -08:00
Joe Ranweiler
d4dc9eaa01
Add struct for info about single test runs, update in global setters
...
Instead of exit codes, we will use the global instance of this (shared
with a parent process) to determine the result of forked test runs.
2018-02-21 18:49:42 -08:00
Joe Ranweiler
9d47f21f5a
Hide mutation of test globals behind internal functions
2018-02-21 17:17:43 -08:00