diff options
-rw-r--r-- | fuzz/Makefile.am | 14 | ||||
-rwxr-xr-x | tests/do.sh | 61 |
2 files changed, 37 insertions, 38 deletions
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am index 9c028d690..f70382ac0 100644 --- a/fuzz/Makefile.am +++ b/fuzz/Makefile.am @@ -1,9 +1,11 @@ bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader fuzz_process_packet_SOURCES = fuzz_process_packet.c +fuzz_process_packet_CFLAGS = fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) if HAS_FUZZLDFLAGS - fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_process_packet_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) #else # fuzz_process_packet_SOURCES += onefile.c endif @@ -16,7 +18,8 @@ fuzz_ndpi_reader_SOURCES = fuzz_ndpi_reader.c fuzz_ndpi_reader_CFLAGS = -I../example/ fuzz_ndpi_reader_LDFLAGS = ../example/libndpiReader.a ../src/lib/libndpi.a $(PCAP_LIB) $(ADDITIONAL_LIBS) if HAS_FUZZLDFLAGS - fuzz_ndpi_reader_LDFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ndpi_reader_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ndpi_reader_LDFLAGS += $(LIB_FUZZING_ENGINE) #else # fuzz_ndpi_reader_SOURCES += onefile.c endif @@ -24,10 +27,3 @@ endif fuzz_ndpi_reader_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(fuzz_ndpi_reader_LDFLAGS) $(LDFLAGS) -o $@ - -EXTRA_fuzz_ndpi_reader_DEPENDENCIES = fuzz_ndpi_reader_seed_corpus.zip - -testpcaps := $(wildcard ../tests/pcap/*.pcap) - -fuzz_ndpi_reader_seed_corpus.zip: $(testpcaps) - zip -r fuzz_ndpi_reader_seed_corpus.zip $(testpcaps) diff --git a/tests/do.sh b/tests/do.sh index 63ef0c8bc..79eed32e5 100755 --- a/tests/do.sh +++ b/tests/do.sh @@ -7,42 +7,45 @@ READER="../example/ndpiReader -p ../example/protos.txt -c ../example/categories. RC=0 PCAPS=`cd pcap; /bin/ls *.pcap` -build_results() { - for f in $PCAPS; do - #echo $f - # create result files if not present - if [ ! -f result/$f.out ]; then - CMD="$READER -q -t -i pcap/$f -w result/$f.out -v 2" - $CMD - fi - # test fuzz target built with sanitizer on input from corpus +fuzzy_testing() { if [ -f ../fuzz/fuzz_ndpi_reader ]; then - ../fuzz/fuzz_ndpi_reader pcap/$f + ../fuzz/fuzz_ndpi_reader -max_total_time=592 -print_pcs=1 -jobs=1 -workers=1 pcap/ fi - done +} + +build_results() { + for f in $PCAPS; do + #echo $f + # create result files if not present + if [ ! -f result/$f.out ]; then + CMD="$READER -q -t -i pcap/$f -w result/$f.out -v 2" + $CMD + fi + done } check_results() { - for f in $PCAPS; do - if [ -f result/$f.out ]; then - CMD="$READER -q -t -i pcap/$f -w /tmp/reader.out -v 2" - $CMD - NUM_DIFF=`diff result/$f.out /tmp/reader.out | wc -l` - - if [ $NUM_DIFF -eq 0 ]; then - printf "%-32s\tOK\n" "$f" - else - printf "%-32s\tERROR\n" "$f" - echo "$CMD" - diff result/$f.out /tmp/reader.out - RC=1 - fi - - /bin/rm /tmp/reader.out - fi - done + for f in $PCAPS; do + if [ -f result/$f.out ]; then + CMD="$READER -q -t -i pcap/$f -w /tmp/reader.out -v 2" + $CMD + NUM_DIFF=`diff result/$f.out /tmp/reader.out | wc -l` + + if [ $NUM_DIFF -eq 0 ]; then + printf "%-32s\tOK\n" "$f" + else + printf "%-32s\tERROR\n" "$f" + echo "$CMD" + diff result/$f.out /tmp/reader.out + RC=1 + fi + + /bin/rm /tmp/reader.out + fi + done } +fuzzy_testing build_results check_results |