blob: c488db319c76861099296aea7fc3e59c4cd67ec3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/bin/sh
cd "$(dirname "${0}")"
READER="../example/ndpiReader -p ../example/protos.txt -c ../example/categories.txt"
UNIT="./unit/unit"
RC=0
PCAPS=`cd pcap; /bin/ls *.pcap`
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
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
}
check_unit() {
case "$CXXFLAGS" in
# Skipping tests with sanitizer enabled due to use-of-uninitialized-value in json-c
*sanitize* )
echo "Skipping unit tests for this environment"
return
;;
* )
echo ""
echo "Running unit tests.."
;;
esac
$UNIT
UNIT_RC=$?
if [ $UNIT_RC -ne 0 ]; then
RC=1
fi
}
fuzzy_testing
build_results
check_results
check_unit
exit $RC
|