Joe Ranweiler
8ff5f6cac6
Fork when running saved test cases
...
This anticipates support for crashing tests.
2018-02-13 14:23:44 -08:00
Joe Ranweiler
879000bc73
Document functions for running saved test cases
2018-02-11 12:52:56 -08:00
Joe Ranweiler
d25a181771
Fix indent level
2018-02-10 16:09:37 -08:00
Joe Ranweiler
579cba3705
Check for error when stating test input file
2018-02-10 16:09:37 -08:00
Joe Ranweiler
d81cbba137
Clear log stream before failing with longjmp in fatal log
...
When an assertion fails in the C++ API, it ultimately invokes a
`Fatal`-level `DeepState_Log()`. This calls `DeepState_Fail()`, which
longjmps. If we don't clear the log buffer here, it won't get cleared by
the usual logic which does so. This causes hanging, unflushed log
messages to persist between tests.
This relationship should eventually be inverted and decoupled.
2018-02-10 16:09:37 -08:00
Joe Ranweiler
4a90b2a5e8
Skip tests with no saved cases to run
2018-02-10 16:09:37 -08:00
Joe Ranweiler
f3d13e37b3
Factor out initializing input from file
2018-02-10 16:09:36 -08:00
Joe Ranweiler
78cc5d46be
Add initial impl of running saved test cases
2018-02-10 16:09:36 -08:00
Joe Ranweiler
2c7334ab0d
Fix typo in error message
2018-02-10 16:09:36 -08:00
Joe Ranweiler
731876a7e6
Fix typo in example CMakeLists.txt
2018-02-10 16:09:36 -08:00
Joe Ranweiler
dd8a1c6608
Use external linkage for global input buffer
...
This is to support running saved auto-generated test cases.
2018-02-08 16:07:35 -08:00
Joe Ranweiler
c6eca451c5
Fix flag decl and defs
2018-02-08 14:16:16 -08:00
Joe Ranweiler
1f3a4a982d
Merge pull request #25 from trailofbits/python-version
...
Explicitly depend on Python 2.7
2018-02-06 15:37:33 -08:00
Joe Ranweiler
9df8d2b9fd
Merge pull request #20 from trailofbits/readme
...
Add first pass at README
2018-02-06 15:34:54 -08:00
Joe Ranweiler
124c54194d
Explicitly depend on Python 2.7
...
Not using a more specific binary causes build failures on systems where
the default Python is 3. The existing backends, angr and Manticore, both
require Python 2.7, so we can look at supporting Python 3 when they do.
2018-02-06 14:25:51 -08:00
Joe Ranweiler
07b38bd73f
Add first pass at README
2018-02-06 14:24:03 -08:00
Peter Goodman
1aa468dabc
Minor formatting changes.
2018-02-06 12:18:06 +08:00
Peter Goodman
d227cc7f34
Enabled PIC.
2018-01-22 21:19:54 -05:00
Peter Goodman
ee80baa0ea
Minor fix.
2018-01-18 14:24:08 -05:00
Peter Goodman
2eaeb7480c
Adding Google Flags-like command-line option parsing, though implemented in C, to the main executable. The code is ported from Granary2.
2018-01-07 16:25:31 -05:00
Peter Goodman
49524e610d
Symbol lookup refactor.
2017-12-14 14:56:09 -05:00
Alex Groce
0d934d4fac
Attempt at OS X symbol lookup fix
2017-12-14 11:39:37 -08:00
Peter Goodman
31838780c3
Trim out trailing newlines and stuff
2017-12-14 00:56:22 -05:00
Peter Goodman
622afcdb98
Made variadic argument lists work in 32 bit x86.
2017-12-13 23:53:48 -05:00
Peter Goodman
303da80e78
Add OneOf for C-strings, vectors, and arrays.
2017-12-13 23:08:50 -05:00
Peter Goodman
1433f34960
Makeing 100% sure that the format_bufs are NUL-terminated.
2017-12-13 22:46:20 -05:00
Peter Goodman
7c585f5c44
Add 32-bit support, i.e. libdeepstate32
2017-12-13 21:53:33 -05:00
Peter Goodman
f4dd61f895
Added overrides for assert_fail and stack_chk_fail.
2017-12-13 14:16:21 -05:00
Peter Goodman
308fe70eb6
Hooked __assert_fail into the logging system.
2017-12-13 12:43:34 -05:00
Peter Goodman
5a84f665b6
Minor tweak.
2017-12-13 01:31:29 -05:00
Peter Goodman
bdf9f97913
Fixed OneOf example.
2017-12-12 22:22:31 -05:00
Peter Goodman
ada078368f
Removing testfs example, and moving it to pgoodman/testfs.
2017-12-12 22:09:31 -05:00
alex
dca3f7342e
adding
2017-12-12 14:45:44 -08:00
alex
97162bdf13
missing comment
2017-12-12 12:26:02 -08:00
alex
acd4e025b6
Merge branch 'master' of https://github.com/trailofbits/deepstate
2017-12-12 12:24:44 -08:00
alex
5b35c46fba
small edits
2017-12-12 12:24:09 -08:00
Peter Goodman
e9bd6dc177
Fixes one or two subtle issues. But the more interesting fix is that I implemented puts in terms of DeepState_Log. Calls to printf that had no format arguments are transformed by the compiler into calls to puts, but that wasn't being wrapped by DeepState, so it was appearing as though those log messages never actually happened.
2017-12-12 14:01:41 -05:00
alex
c65b0c7ba4
better version
2017-12-12 00:20:13 -08:00
alex
70090bd712
Version that works, test depth
2017-12-11 23:17:18 -08:00
Peter Goodman
669f6cf3f9
Made the OneOf example work.
2017-12-11 19:40:39 -05:00
alex
76ff9ec5b3
capture fixed
2017-12-11 14:56:48 -08:00
alex
26657954c7
OneOf example (failing)
2017-12-11 14:30:37 -08:00
Peter Goodman
f15e09520b
Merge branch 'master' of github.com:trailofbits/deepstate
2017-12-10 20:09:36 -05:00
Peter Goodman
8248bbdcbc
Removed usage of old name, added in a Euler power of like primes example. When the pairwise ASSERT_NEs are absent, you get interesting results that show examples of integer overflows.
2017-12-10 20:08:08 -05:00
Peter Goodman
f28b285ac3
Removed usage of old name, added in a Euler power of like primes example. When the pairwise ASSERT_NEs are absent, you get interesting results that show examples of integer overflows.
2017-12-10 14:39:05 -05:00
Peter Goodman
fcd000dc14
Added a maximize objective API to DeepState.
2017-12-10 13:37:47 -05:00
Peter Goodman
188d4517d8
Added prime polynomial example, new Pumping function to address scalability challenges with primality testing, and some improvements to the streaming interface, where if you don't stream in values, then the python side doesn't end up printing out some 'empty' stream infos.
2017-12-09 16:43:43 -05:00
Peter Goodman
3aaaf71b85
Added support for c++ test fixtures.
2017-12-08 23:58:59 -05:00
Peter Goodman
f9fb7e81be
Initial progress in Issue #7 with support for a Dr. Fuzz harness.
2017-12-08 21:07:52 -05:00
Peter Goodman
a411f0e032
Adds ONE_OF. Breaks some lines at 80 columns.
2017-12-07 20:05:06 -05:00