]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests/recursor-test
Merge pull request #3606 from ahupowerdns/dnssec-ok-fix
[thirdparty/pdns.git] / regression-tests / recursor-test
1 #!/bin/sh -ex
2 port=$1
3 [ -z "$port" ] && port=5300
4 limit=$2
5 [ -z "$limit" ] && limit=100000
6
7 : ${RECURSOR:="../pdns/recursordist/pdns_recursor"}
8 : ${CSV:="top-1m.csv"}
9 : ${IPv6:="1"}
10 : ${TRACE:="fail"}
11 : ${DNSBULKTEST:="../pdns/dnsbulktest"}
12
13 if [ $IPv6 = 1 ]
14 then
15 QLA6="::"
16 else
17 QLA6=""
18 fi
19
20 rm -f recursor.pid pdns_recursor.pid
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>
27 ' ${RECURSOR} --daemon=no --local-port=$port --socket-dir=./ --trace=$TRACE --config-dir=. --query-local-address6="${QLA6}" > recursor.log 2>&1 &
28 sleep 3
29 ${DNSBULKTEST} -qe 127.0.0.1 $port $limit < ${CSV} > bulktest.results
30 kill $(cat pdns_recursor.pid)
31 sleep 5
32
33 . ./bulktest.results
34
35 mkdir -p recursor-bulktest
36 rm -f failed_tests passed_tests
37 touch failed_tests passed_tests
38 : ${THRESHOLD:="95"}
39 if [ "$DBT_OKPERCENTAGEINT" -ge $THRESHOLD ]
40 then
41 echo recursor-bulktest >> passed_tests
42 RETVAL=0
43 else
44 echo recursor-bulktest >> failed_tests
45 RETVAL=1
46 fi
47
48 echo "$DBT_OKPERCENTAGE% of domains resolved" > recursor-bulktest/diff
49 egrep 'PowerDNS.COM|^<measurement' recursor.log > recursor-bulktest/stdout
50 echo "<measurement><name>% domains resolved</name><value>$DBT_OKPERCENTAGE</value></measurement>" >> recursor-bulktest/stdout
51
52 : ${context:="recursor-bulktest"}
53
54 export context
55 testsdir=. ./toxml
56
57 exit $RETVAL