aboutsummaryrefslogtreecommitdiff
path: root/tests/do.sh.in
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-01-21 08:59:06 +0100
committerGitHub <noreply@github.com>2021-01-21 08:59:06 +0100
commit399755607d5bf5b68e62f324a8614351437051c1 (patch)
tree3c022def21077290dc26bd2b7773db45db0e6f48 /tests/do.sh.in
parent53415c8855f4f0a78c9cfa07a89b572a76327415 (diff)
Disable tests that require libgcrypt if --disable-gcrypt set. (#1121)
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'tests/do.sh.in')
-rwxr-xr-xtests/do.sh.in74
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/do.sh.in b/tests/do.sh.in
new file mode 100755
index 000000000..4894be0f4
--- /dev/null
+++ b/tests/do.sh.in
@@ -0,0 +1,74 @@
+#!/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="../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/
+ fi
+}
+
+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
+ 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
+ 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 [old vs new]"
+ diff result/$f.out /tmp/reader.out
+ RC=1
+ fi
+
+ /bin/rm /tmp/reader.out
+ fi
+ done
+}
+
+fuzzy_testing
+build_results
+check_results
+
+exit $RC