1712b2f30Ssthen#!/usr/bin/env bash 2712b2f30Ssthen. testdata/common.sh 3a6cc1574Ssthenquiet=0 4a6cc1574Ssthenif test "$1" = "-q"; then 5a6cc1574Ssthen quiet=1 6a6cc1574Ssthen tdirarg="-q" 7a6cc1574Ssthen shift 8a6cc1574Ssthenfi 9712b2f30Ssthen 10712b2f30SsthenNEED_SPLINT='00-lint.tdir' 11712b2f30SsthenNEED_DOXYGEN='01-doc.tdir' 12712b2f30SsthenNEED_XXD='fwd_compress_c00c.tdir fwd_zero.tdir' 13712b2f30SsthenNEED_NC='fwd_compress_c00c.tdir fwd_zero.tdir' 14712b2f30SsthenNEED_CURL='06-ianaports.tdir root_anchor.tdir' 15712b2f30SsthenNEED_WHOAMI='07-confroot.tdir' 16712b2f30SsthenNEED_IPV6='fwd_ancil.tdir fwd_tcp_tc6.tdir stub_udp6.tdir edns_cache.tdir' 17712b2f30SsthenNEED_NOMINGW='tcp_sigpipe.tdir 07-confroot.tdir 08-host-lib.tdir fwd_ancil.tdir' 18712b2f30SsthenNEED_DNSCRYPT_PROXY='dnscrypt_queries.tdir dnscrypt_queries_chacha.tdir' 19*0e9b6f9fSsthenNEED_UNSHARE='acl_interface.tdir proxy_protocol.tdir' 20712b2f30Ssthen 21712b2f30Ssthen# test if dig and ldns-testns are available. 22712b2f30Ssthentest_tool_avail "dig" 23712b2f30Ssthentest_tool_avail "ldns-testns" 24712b2f30Ssthen 25712b2f30Ssthen# test for ipv6, uses streamtcp peculiarity. 26712b2f30Ssthenif ./streamtcp -f ::1 2>&1 | grep "not supported" >/dev/null 2>&1; then 27712b2f30Ssthen HAVE_IPV6=no 28712b2f30Ssthenelse 29712b2f30Ssthen HAVE_IPV6=yes 30712b2f30Ssthenfi 31712b2f30Ssthen 32712b2f30Ssthen# test mingw. no signals and so on. 33712b2f30Ssthenif uname | grep MINGW >/dev/null; then 34712b2f30Ssthen HAVE_MINGW=yes 35712b2f30Ssthenelse 36712b2f30Ssthen HAVE_MINGW=no 37712b2f30Ssthenfi 38712b2f30Ssthen 3972f58708Ssthen# stop tests from notifying systemd, if that is compiled in. 4072f58708Ssthenexport -n NOTIFY_SOCKET 4172f58708Ssthen 42712b2f30Ssthencd testdata; 43a6cc1574Ssthensh ../testcode/mini_tdir.sh $tdirarg clean 44712b2f30Ssthenrm -f .perfstats.txt 45712b2f30Ssthenfor test in `ls -d *.tdir`; do 46712b2f30Ssthen SKIP=0 47712b2f30Ssthen skip_if_in_list $test "$NEED_SPLINT" "splint" 48712b2f30Ssthen skip_if_in_list $test "$NEED_DOXYGEN" "doxygen" 49712b2f30Ssthen skip_if_in_list $test "$NEED_CURL" "curl" 50712b2f30Ssthen skip_if_in_list $test "$NEED_XXD" "xxd" 51712b2f30Ssthen skip_if_in_list $test "$NEED_NC" "nc" 52712b2f30Ssthen skip_if_in_list $test "$NEED_WHOAMI" "whoami" 53712b2f30Ssthen skip_if_in_list $test "$NEED_DNSCRYPT_PROXY" "dnscrypt-proxy" 54*0e9b6f9fSsthen skip_if_in_list $test "$NEED_UNSHARE" "unshare" 55712b2f30Ssthen 56712b2f30Ssthen if echo $NEED_IPV6 | grep $test >/dev/null; then 57712b2f30Ssthen if test "$HAVE_IPV6" = no; then 58712b2f30Ssthen SKIP=1; 59712b2f30Ssthen fi 60712b2f30Ssthen fi 61712b2f30Ssthen if echo $NEED_NOMINGW | grep $test >/dev/null; then 62712b2f30Ssthen if test "$HAVE_MINGW" = yes; then 63712b2f30Ssthen SKIP=1; 64712b2f30Ssthen fi 65712b2f30Ssthen fi 66712b2f30Ssthen if test $SKIP -eq 0; then 67712b2f30Ssthen echo $test 68a6cc1574Ssthen sh ../testcode/mini_tdir.sh -a ../.. $tdirarg exe $test 69712b2f30Ssthen else 70712b2f30Ssthen echo "skip $test" 71712b2f30Ssthen fi 72712b2f30Ssthendone 73a6cc1574Ssthensh ../testcode/mini_tdir.sh $tdirarg report 74712b2f30Ssthencat .perfstats.txt 75