diff options
| author | Nick Wellnhofer <wellnhofer@aevum.de> | 2015-02-21 21:05:10 +0100 | 
|---|---|---|
| committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2015-02-23 17:24:58 +0100 | 
| commit | 573a3dc076cfecb2337cca118bdbd7c4452b1ec6 (patch) | |
| tree | b21f648deea3fc347654680f39a0f00788e72335 | |
| parent | 1533c8fbad3acc48e6a2f0a1e305aeb5932b3bbd (diff) | |
Add Makefile target to fuzz with AFL
Also add a compact test case. As far as I understand, a good test case
should exercise many code paths while being as small as possible.
There's probably still room for improvement.
The variable $AFL_PATH must point to the directory containing the AFL
binaries. It can be set as an environment variable or passed to make on
the command line.
| -rw-r--r-- | Makefile | 11 | ||||
| -rw-r--r-- | test/afl_test_cases/test.md | 36 | 
2 files changed, 47 insertions, 0 deletions
@@ -59,6 +59,17 @@ prof:  	cmake .. -DCMAKE_BUILD_TYPE=Profile; \  	make +afl: +	@[ -n "$(AFL_PATH)" ] || { echo '$$AFL_PATH not set'; false; } +	mkdir -p $(BUILDDIR) +	cd $(BUILDDIR) && cmake .. -DCMAKE_C_COMPILER=$(AFL_PATH)/afl-gcc +	make +	$(AFL_PATH)/afl-fuzz \ +	    -i test/afl_test_cases \ +	    -o test/afl_results \ +	    -m none \ +	    $(CMARK) +  mingw:  	mkdir -p $(MINGW_BUILDDIR); \  	cd $(MINGW_BUILDDIR); \ diff --git a/test/afl_test_cases/test.md b/test/afl_test_cases/test.md new file mode 100644 index 0000000..27eee00 --- /dev/null +++ b/test/afl_test_cases/test.md @@ -0,0 +1,36 @@ +# H1 + +H2 +-- + +t ☺   +*b* **em** `c` +≥\&\ +\_e\_ + +4) I1 + +5) I2 +   > [l](/u "t") +   > +   > - [f] +   > -  +   > +   >> <ftp://hh> +   >> <u@hh> + +~~~ l☺ +cb +~~~ + +    c1 +    c2 + +*** + +<div> +<b>x</b> +</div> + +[f]: /u "t" +  | 
