]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testcode/do-tests.sh
Apply upstream fix 08968baec1122a58bb90d8f97ad948a75f8a5d69:
[FreeBSD/FreeBSD.git] / testcode / do-tests.sh
1 #!/usr/bin/env bash
2 . testdata/common.sh
3
4 NEED_SPLINT='00-lint.tdir'
5 NEED_DOXYGEN='01-doc.tdir'
6 NEED_XXD='fwd_compress_c00c.tdir fwd_zero.tdir'
7 NEED_NC='fwd_compress_c00c.tdir fwd_zero.tdir'
8 NEED_CURL='06-ianaports.tdir root_anchor.tdir'
9 NEED_WHOAMI='07-confroot.tdir'
10 NEED_IPV6='fwd_ancil.tdir fwd_tcp_tc6.tdir stub_udp6.tdir edns_cache.tdir'
11 NEED_NOMINGW='tcp_sigpipe.tdir 07-confroot.tdir 08-host-lib.tdir fwd_ancil.tdir'
12 NEED_DNSCRYPT_PROXY='dnscrypt_queries.tdir dnscrypt_queries_chacha.tdir'
13
14 # test if dig and ldns-testns are available.
15 test_tool_avail "dig"
16 test_tool_avail "ldns-testns"
17
18 # test for ipv6, uses streamtcp peculiarity.
19 if ./streamtcp -f ::1 2>&1 | grep "not supported" >/dev/null 2>&1; then
20         HAVE_IPV6=no
21 else
22         HAVE_IPV6=yes
23 fi
24
25 # test mingw. no signals and so on.
26 if uname | grep MINGW >/dev/null; then
27         HAVE_MINGW=yes
28 else
29         HAVE_MINGW=no
30 fi
31
32 # stop tests from notifying systemd, if that is compiled in.
33 export -n NOTIFY_SOCKET
34
35 cd testdata;
36 sh ../testcode/mini_tdir.sh clean
37 rm -f .perfstats.txt
38 for test in `ls -d *.tdir`; do
39         SKIP=0
40         skip_if_in_list $test "$NEED_SPLINT" "splint"
41         skip_if_in_list $test "$NEED_DOXYGEN" "doxygen"
42         skip_if_in_list $test "$NEED_CURL" "curl"
43         skip_if_in_list $test "$NEED_XXD" "xxd"
44         skip_if_in_list $test "$NEED_NC" "nc"
45         skip_if_in_list $test "$NEED_WHOAMI" "whoami"
46         skip_if_in_list $test "$NEED_DNSCRYPT_PROXY" "dnscrypt-proxy"
47
48         if echo $NEED_IPV6 | grep $test >/dev/null; then
49                 if test "$HAVE_IPV6" = no; then
50                         SKIP=1;
51                 fi
52         fi
53         if echo $NEED_NOMINGW | grep $test >/dev/null; then
54                 if test "$HAVE_MINGW" = yes; then
55                         SKIP=1;
56                 fi
57         fi
58         if test $SKIP -eq 0; then
59                 echo $test
60                 sh ../testcode/mini_tdir.sh -a ../.. exe $test
61         else
62                 echo "skip $test"
63         fi
64 done
65 sh ../testcode/mini_tdir.sh report
66 cat .perfstats.txt