aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2020-06-27 18:41:03 +0200
committerToni Uhlig <matzeton@googlemail.com>2020-06-27 18:41:03 +0200
commit1f4523e3312001534ec5ced697eb840d00f1e06e (patch)
tree967cbbefb75b1069342481b9ff795d20a3991f14
parentb5f3facf7cab475ba805d0170760db52e025e13b (diff)
fixed fuzzing tests in a way that ./tests/do.sh is now able to use corpus *.pcap files from ./tests/pcap
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r--fuzz/Makefile.am14
-rwxr-xr-xtests/do.sh61
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