]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests/recursor-test
Show recursor log on failure
[thirdparty/pdns.git] / regression-tests / recursor-test
CommitLineData
8a27076c 1#!/bin/bash -ex
b3bd2e75
PD
2port=$1
3[ -z "$port" ] && port=5300
4limit=$2
dfddcdaf 5[ -z "$limit" ] && limit=100000
b3bd2e75 6
cb99a652 7: ${RECURSOR:="../pdns/recursordist/pdns_recursor"}
923c8ad1 8: ${CSV:="top-1m.csv"}
8a27076c 9: ${IPv6:="0"}
f0f39fda 10: ${TRACE:="fail"}
ae7072eb 11: ${DNSBULKTEST:="../pdns/dnsbulktest"}
923c8ad1
PD
12
13if [ $IPv6 = 1 ]
14then
15 QLA6="::"
16else
17 QLA6=""
18fi
19
20rm -f recursor.pid pdns_recursor.pid
5e94ec93
PD
21/usr/bin/time --format '%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
22%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
23<measurement><name>user CPU seconds</name><value>%U</value></measurement>
24<measurement><name>system CPU seconds</name><value>%S</value></measurement>
25<measurement><name>wallclock seconds</name><value>%e</value></measurement>
26<measurement><name>%% CPU used</name><value>%P</value></measurement>
8a27076c 27' ${RECURSOR} --daemon=no --local-port=$port --socket-dir=./ --trace=$TRACE --config-dir=. --max-mthreads=100 --query-local-address6="${QLA6}" > recursor.log 2>&1 &
b3bd2e75 28sleep 3
8a27076c 29${DNSBULKTEST} --www=false -qe 127.0.0.1 $port $limit < ${CSV} > bulktest.results
6f556c33
OM
30echo "==== RECURSOR LOG ==="
31cat recursor.log
32echo "==== END RECURSOR LOG ==="
02e7bdeb 33kill $(cat pdns_recursor.pid)
8e7b1ed4 34sleep 5
dfddcdaf
PD
35
36. ./bulktest.results
37
38mkdir -p recursor-bulktest
39rm -f failed_tests passed_tests
40touch failed_tests passed_tests
4108e18b 41: ${THRESHOLD:="95"}
8a27076c 42
43ANANSWER=$[(100*(${DBT_QUEUED}-${DBT_ERRORS}-${DBT_TIMEOUTS}) )/${DBT_QUEUED}]
44
45if [ "$ANANSWER" -ge $THRESHOLD ]
dfddcdaf
PD
46then
47 echo recursor-bulktest >> passed_tests
be80e5f9 48 RETVAL=0
dfddcdaf
PD
49else
50 echo recursor-bulktest >> failed_tests
be80e5f9 51 RETVAL=1
dfddcdaf
PD
52fi
53
54echo "$DBT_OKPERCENTAGE% of domains resolved" > recursor-bulktest/diff
6a6d742b 55egrep 'PowerDNS.COM|^<measurement' recursor.log > recursor-bulktest/stdout
5e94ec93 56echo "<measurement><name>% domains resolved</name><value>$DBT_OKPERCENTAGE</value></measurement>" >> recursor-bulktest/stdout
dfddcdaf 57
dbe48e99
PD
58: ${context:="recursor-bulktest"}
59
60export context
61testsdir=. ./toxml
be80e5f9
KM
62
63exit $RETVAL