]> git.ipfire.org Git - thirdparty/pdns.git/blob - build-scripts/test-recursor
Merge pull request #14300 from omoerbeek/rec-doc-max-map-count
[thirdparty/pdns.git] / build-scripts / test-recursor
1 #!/bin/sh
2
3 export PDNSRECURSOR=${PDNSRECURSOR:-"/usr/sbin/pdns_recursor"}
4 export RECCONTROL=${RECCONTROL:-"/usr/bin/rec_control"}
5 export PDNS=${PDNS:-"/usr/sbin/pdns_server"}
6 export PDNSUTIL=${PDNSUTIL:-"/usr/bin/pdnsutil"}
7 export SDIG=${SDIG:-"/usr/bin/sdig"}
8 export NSEC3DIG=${NSEC3DIG:-"/usr/bin/nsec3dig"}
9 export NOTIFY=${NOTIFY:-"/usr/bin/notify"}
10 export SAXFR=${SAXFR:-"/usr/bin/saxfr"}
11
12 if [ "$0" != "./build-scripts/test-recursor" ]; then
13 echo "Please run me from the root checkout dir"
14 exit 1
15 fi
16
17 set -x
18
19 EXTRA_ARG=""
20 if [ $PWD = /srv/buildbot-worker/test-rec-debian-buster/build ]; then
21 EXTRA_ARG=--ignore=test_SNMP.py
22 fi
23
24 cd regression-tests/modules
25
26 MODULES=""
27
28 for dir in /usr/lib/x86_64-linux-gnu/pdns /usr/lib64/pdns; do
29 if [ -d $dir ]; then
30 MODULES=$dir
31 break
32 fi
33 done
34 [ -z $MODULES ] && echo "No module directory found" >&2 && exit 1
35
36 # Symlink the modules on the system
37 for backend in *.so; do
38 ln -sf $MODULES/$backend $backend
39 done
40
41 cd ../../regression-tests.recursor
42 cp vars.sample vars
43 sed -i 's!PREFIX=.*!PREFIX=127.0.0!' vars
44
45 EXIT=0
46
47 ./config.sh
48 ./start.sh
49 sleep 3
50 svstat configs/*
51 ## prints the logs of supervised processes reported as running for less than 3 secs
52 for config in configs/* ; do
53 secs=$(svstat ${config} | perl -pe 's!.* (\d+) seconds!\1!')
54 if [ -n "${secs}" ] && [ ${secs} -lt 3 ] ; then
55 echo "-----------------"
56 echo "Logs of ${config}"
57 echo "-----------------"
58 cat ${config}/logfile
59 fi
60 done
61 ./runtests || EXIT=1
62 ./stop.sh
63 sleep 3
64 ./clean.sh
65
66 cd ../regression-tests.recursor-dnssec
67
68 ./runtests $EXTRA_ARG $@ || EXIT=1
69 ./printlogs.py || true
70
71 exit $EXIT