]> git.ipfire.org Git - thirdparty/pdns.git/blob - build-scripts/test-recursor
Merge pull request #10776 from Habbie/python-requirement-hashes
[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 cd regression-tests/modules
20
21 MODULES=""
22
23 for dir in /usr/lib/x86_64-linux-gnu/pdns /usr/lib64/pdns; do
24 if [ -d $dir ]; then
25 MODULES=$dir
26 break
27 fi
28 done
29 [ -z $MODULES ] && echo "No module directory found" >&2 && exit 1
30
31 # Symlink the modules on the system
32 for backend in *.so; do
33 ln -sf $MODULES/$backend $backend
34 done
35
36 cd ../../regression-tests.recursor
37 cp vars.sample vars
38 sed -i 's!PREFIX=.*!PREFIX=127.0.0!' vars
39
40 EXIT=0
41
42 ./config.sh
43 ./start.sh
44 sleep 3
45 svstat configs/*
46 ## prints the logs of supervised processes reported as running for less than 3 secs
47 for config in configs/* ; do
48 secs=$(svstat ${config} | perl -pe 's!.* (\d+) seconds!\1!')
49 if [ -n "${secs}" ] && [ ${secs} -lt 3 ] ; then
50 echo "-----------------"
51 echo "Logs of ${config}"
52 echo "-----------------"
53 cat ${config}/logfile
54 fi
55 done
56 ./runtests || EXIT=1
57 ./stop.sh
58 sleep 3
59 ./clean.sh
60
61 cd ../regression-tests.recursor-dnssec
62 ./runtests $@ || EXIT=1
63 ./printlogs.py || true
64
65 exit $EXIT