diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rwxr-xr-x | tests/do.sh.in (renamed from tests/do.sh) | 24 | ||||
-rwxr-xr-x | tests/do_valgrind.sh.in | 57 | ||||
-rwxr-xr-x | tests/vagrind_test.sh | 35 |
4 files changed, 81 insertions, 37 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 82625902c..271516b87 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ TESTS = do.sh -EXTRA_DIST = do.sh vagrind_test.sh ossfuzz.sh pcap result +EXTRA_DIST = ossfuzz.sh pcap result all: @echo -n "" diff --git a/tests/do.sh b/tests/do.sh.in index b24af5f1c..4894be0f4 100755 --- a/tests/do.sh +++ b/tests/do.sh.in @@ -2,11 +2,19 @@ cd "$(dirname "${0}")" +GCRYPT_ENABLED=@GCRYPT_ENABLED@ +GCRYPT_PCAPS="gquic.pcap quic-23.pcap quic-24.pcap quic-27.pcap quic-28.pcap quic-29.pcap quic-mvfst-22.pcap quic-mvfst-27.pcap quic-mvfst-exp.pcap quic_q50.pcap quic_t50.pcap quic_t51.pcap quic_0RTT.pcap quic_interop_V.pcapng quic-33.pcapng doq.pcapng doq_adguard.pcapng dlt_ppp.pcap" READER="../example/ndpiReader -p ../example/protos.txt -c ../example/categories.txt" RC=0 PCAPS=`cd pcap; /bin/ls *.pcap *.pcapng` +if [ ! -x "../example/ndpiReader" ]; then + echo "$0: Missing $(realpath ../example/ndpiReader)" + echo "$0: Run ./configure and make first" + exit 1 +fi + fuzzy_testing() { if [ -f ../fuzz/fuzz_ndpi_reader ]; then ../fuzz/fuzz_ndpi_reader -max_total_time="${MAX_TOTAL_TIME:-592}" -print_pcs=1 -workers="${FUZZY_WORKERS:-0}" -jobs="${FUZZY_JOBS:-0}" pcap/ @@ -25,7 +33,21 @@ build_results() { } check_results() { - for f in $PCAPS; do + for f in $PCAPS; do + SKIP_PCAP=0 + if [ $GCRYPT_ENABLED -eq 0 ]; then + for g in $GCRYPT_PCAPS; do + if [ $f = $g ]; then + SKIP_PCAP=1 + break + fi + done + fi + if [ $SKIP_PCAP -eq 1 ]; then + printf "%-32s\tSKIPPED\n" "$f" + continue + fi + if [ -f result/$f.out ]; then CMD="$READER -q -t -i pcap/$f -w /tmp/reader.out -v 2" $CMD diff --git a/tests/do_valgrind.sh.in b/tests/do_valgrind.sh.in new file mode 100755 index 000000000..8ab0509a8 --- /dev/null +++ b/tests/do_valgrind.sh.in @@ -0,0 +1,57 @@ +#!/bin/sh + +cd "$(dirname "${0}")" + +GCRYPT_ENABLED=@GCRYPT_ENABLED@ +GCRYPT_PCAPS="gquic.pcap quic-23.pcap quic-24.pcap quic-27.pcap quic-28.pcap quic-29.pcap quic-mvfst-22.pcap quic-mvfst-27.pcap quic-mvfst-exp.pcap quic_q50.pcap quic_t50.pcap quic_t51.pcap quic_0RTT.pcap quic_interop_V.pcapng quic-33.pcapng doq.pcapng doq_adguard.pcapng dlt_ppp.pcap" +READER="valgrind -q --leak-check=full ../example/ndpiReader -p ../example/protos.txt -c ../example/categories.txt" + +RC=0 +PCAPS=`cd pcap; /bin/ls *.pcap` + +if [ ! -x "../example/ndpiReader" ]; then + echo "$0: Missing $(realpath ../example/ndpiReader)" + echo "$0: Run ./configure and make first" + exit 1 +fi + +check_results() { + for f in $PCAPS; do + SKIP_PCAP=0 + if [ $GCRYPT_ENABLED -eq 0 ]; then + for g in $GCRYPT_PCAPS; do + if [ $f = $g ]; then + SKIP_PCAP=1 + break + fi + done + fi + if [ $SKIP_PCAP -eq 1 ]; then + printf "%-32s\tSKIPPED\n" "$f" + continue + fi + + CMD="$READER -q -i pcap/$f > /tmp/reader.out" + $CMD + NUM_DIFF=0 + + if [ -f /tmp/reader.out ]; then + NUM_DIFF=`wc -l /tmp/reader.out` + fi + + if [ $NUM_DIFF -eq 0 ]; then + printf "%-32s\tOK\n" "$f" + else + printf "%-32s\tERROR\n" "$f" + echo "$CMD" + cat /tmp/reader.out + RC=1 + fi + + /bin/rm -f /tmp/reader.out + done +} + +check_results + +exit $RC diff --git a/tests/vagrind_test.sh b/tests/vagrind_test.sh deleted file mode 100755 index 01d76e6a4..000000000 --- a/tests/vagrind_test.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -cd "$(dirname "${0}")" - -READER="valgrind -q --leak-check=full ../example/ndpiReader -p ../example/protos.txt -c ../example/categories.txt" - -RC=0 -PCAPS=`cd pcap; /bin/ls *.pcap` - -check_results() { - for f in $PCAPS; do - CMD="$READER -q -i pcap/$f > /tmp/reader.out" - $CMD - NUM_DIFF=0 - - if [ -f /tmp/reader.out ]; then - NUM_DIFF=`wc -l /tmp/reader.out` - fi - - if [ $NUM_DIFF -eq 0 ]; then - printf "%-32s\tOK\n" "$f" - else - printf "%-32s\tERROR\n" "$f" - echo "$CMD" - cat /tmp/reader.out - RC=1 - fi - - /bin/rm -f /tmp/reader.out - done -} - -check_results - -exit $RC |