summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/run_tests.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/run_tests.sh b/test/run_tests.sh
new file mode 100755
index 000000000..918767c8d
--- /dev/null
+++ b/test/run_tests.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env sh
+
+set -e
+
+MYDIR="$(realpath "$(dirname ${0})")"
+nDPId_test_EXEC="${2:-"$(realpath "${MYDIR}/../nDPId-test")"}"
+nDPI_SOURCE_ROOT="${1}"
+
+if [ $# -ne 1 -a $# -ne 2 ]; then
+cat <<EOF
+usage: ${0} [path-to-nDPI-source-root] [path-to-nDPId-test-exec]
+
+ path-to-nDPId-test-exec defaults to ${nDPId_test_EXEC}
+EOF
+exit 1
+fi
+
+nDPI_TEST_DIR="${nDPI_SOURCE_ROOT}/tests/pcap"
+
+cat <<EOF
+nDPId-test......: ${nDPId_test_EXEC}
+nDPI source root: ${nDPI_TEST_DIR}
+EOF
+
+cd "${nDPI_TEST_DIR}"
+mkdir -p /tmp/nDPId-test-stderr
+set +e
+for pcap_file in $(ls *.pcap*); do
+ printf '%s' "${pcap_file}"
+
+ ${nDPId_test_EXEC} "${pcap_file}" \
+ >"${MYDIR}/results/${pcap_file}.out.new" \
+ 2>"/tmp/nDPId-test-stderr/${pcap_file}.out"
+
+ if [ $? -eq 0 ]; then
+ if diff -u0 "${MYDIR}/results/${pcap_file}.out" \
+ "${MYDIR}/results/${pcap_file}.out.new" >/dev/null; then
+ printf ' [%s]\n' 'OK'
+ else
+ printf ' [%s]\n' 'DIFF'
+ diff -u0 "${MYDIR}/results/${pcap_file}.out" \
+ "${MYDIR}/results/${pcap_file}.out.new"
+ mv -v "${MYDIR}/results/${pcap_file}.out.new" \
+ "${MYDIR}/results/${pcap_file}.out"
+ fi
+ else
+ printf ' [%s]\n' 'FAIL'
+ fi
+
+ rm -f "${MYDIR}/results/${pcap_file}.out.new"
+done