Merge branch 'master' into readme_example

This commit is contained in:
Alex Groce
2019-01-04 13:22:54 -07:00
committed by GitHub
+11 -2
View File
@@ -245,13 +245,22 @@ ERROR: Failed: Runlength_EncodeDecode
By default, DeepState is not very verbose about testing activity,
other than failing tests. The `--log_level` argument lowers the
threshold for output, with 0 = `DEBUG`, 1 = `TRACE` (output from the
tests, including `printf`), 2 = `INFO` (DeepState messages; this is the default), 3 = `WARNING`,
tests, including from `printf`), 2 = INFO (DeepState messages, the default), 3 = `WARNING`,
4 = `ERROR`, 5 = `EXTERNAL` (output from other programs such as
libFuzzer), and 6 = `CRITICAL`/`FATAL` messages. Lowering the `log_level` can be very
libFuzzer), and 6 = `CRITICAL` messages. Lowering the `log_level` can be very
useful for understanding what a DeepState harness is actually doing;
often, setting `--log_level 1` in either fuzzing or symbolic
execution will give sufficient information to debug your test harness.
## A Note on Mac OS and Forking
Normally, when running a test for replay or fuzzing, DeepState forks
in order to cleanly handle crashes of a test. Unfortunately, `fork()`
on mac OS is extremely slow. When using the built-in fuzzer or
replaying tests, it is highly recommended to add the `--no_fork`
option on mac OS, unless you need the added crash handling (that is,
things aren't working without that option).
## Built-In Fuzzer
Every DeepState executable provides a simple built-in fuzzer that