]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests/recursor-test
dnsdist doc typo fix
[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
02e7bdeb 30kill $(cat pdns_recursor.pid)
8e7b1ed4 31sleep 5
dfddcdaf
PD
32
33. ./bulktest.results
34
35mkdir -p recursor-bulktest
36rm -f failed_tests passed_tests
37touch failed_tests passed_tests
4108e18b 38: ${THRESHOLD:="95"}
8a27076c 39
40ANANSWER=$[(100*(${DBT_QUEUED}-${DBT_ERRORS}-${DBT_TIMEOUTS}) )/${DBT_QUEUED}]
41
42if [ "$ANANSWER" -ge $THRESHOLD ]
dfddcdaf
PD
43then
44 echo recursor-bulktest >> passed_tests
be80e5f9 45 RETVAL=0
dfddcdaf
PD
46else
47 echo recursor-bulktest >> failed_tests
be80e5f9 48 RETVAL=1
dfddcdaf
PD
49fi
50
51echo "$DBT_OKPERCENTAGE% of domains resolved" > recursor-bulktest/diff
6a6d742b 52egrep 'PowerDNS.COM|^<measurement' recursor.log > recursor-bulktest/stdout
5e94ec93 53echo "<measurement><name>% domains resolved</name><value>$DBT_OKPERCENTAGE</value></measurement>" >> recursor-bulktest/stdout
dfddcdaf 54
dbe48e99
PD
55: ${context:="recursor-bulktest"}
56
57export context
58testsdir=. ./toxml
be80e5f9
KM
59
60exit $RETVAL