summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorNick Wellnhofer <wellnhofer@aevum.de>2015-02-21 21:05:10 +0100
committerNick Wellnhofer <wellnhofer@aevum.de>2015-02-23 17:24:58 +0100
commit573a3dc076cfecb2337cca118bdbd7c4452b1ec6 (patch)
treeb21f648deea3fc347654680f39a0f00788e72335 /Makefile
parent1533c8fbad3acc48e6a2f0a1e305aeb5932b3bbd (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.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index e6a2314..7cf1cc8 100644
--- a/Makefile
+++ b/Makefile
@@ -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); \