@echo
@echo 'all tests passed or maybe skipped.'
-checkfuzz: $(TARGETS) $(addprefix checkfuzz-,$(ALL_TESTS))
+checkfuzz: $(TARGETS) \
+ $(addprefix checkfuzz-,$(ALL_TESTS)) \
+ $(addprefix checkfuzzraw-,$(ALL_TESTS))
@echo
@echo 'all fuzzes passed or maybe skipped.'
# this target is mostly useful as prep work for running the fuzzer;
# it doesn't really test any of adns
fuzzcat.d: checkfuzz
- $(srcdir)/categorizefuzz $(ALL_TESTS)
+ $(srcdir)/categorisefuzz $(ALL_TESTS)
+ perl -ne 'print $$1,"\n" while m/\"([^"% ]{2,})\"/g' \
+ $(srcdir)/../src/*.[ch] $(srcdir)/../client/*.[ch] \
+ | sort -u >fuzzcat.d/dictionary
+ perl -p -e 'chomp;' \
+ -e 's/[^0-9a-z-_]/sprintf "\\x%02x", ord $$&/ige;' \
+ -e 's/^/l$$.="/; ' \
+ -e 's/$$/"\n/;' \
+ fuzzcat.d/dictionary >fuzzcat.d/dictionary.afl
check-%: case-%.sys
@srcdir=$(srcdir) $(srcdir)/r1test $* || test $$? = 5
fuzz-%: case-%.sys $(TARGETS) make1fuzz shlib
srcdir=$(srcdir) $(srcdir)/make1fuzz $*
+fuzzraw-%: fuzz-%
+
.PRECIOUS: fuzz-%
checkfuzz-%: fuzz-% $(TARGETS)
- @srcdir=$(srcdir) $(srcdir)/check1fuzz $< || test $$? = 5
+ @srcdir=$(srcdir) $(srcdir)/check1fuzz $<
+
+checkfuzzraw-%: fuzz-% $(TARGETS)
+ @srcdir=$(srcdir) $(srcdir)/check1fuzz $<
LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@