]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests/recursor-test
Merge pull request #972 from zeha/version
[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/pdns_recursor"}
8 : ${CSV:="top-1m.csv"}
9 : ${IPv6:="1"}
10 : ${TRACE:="fail"}
11
12 if [ $IPv6 = 1 ]
13 then
14 QLA6="::"
15 else
16 QLA6=""
17 fi
18
19 rm -f recursor.pid pdns_recursor.pid
20 /usr/bin/time --format '%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
21 %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
22 <measurement><name>user CPU seconds</name><value>%U</value></measurement>
23 <measurement><name>system CPU seconds</name><value>%S</value></measurement>
24 <measurement><name>wallclock seconds</name><value>%e</value></measurement>
25 <measurement><name>%% CPU used</name><value>%P</value></measurement>
26 ' ${RECURSOR} --daemon=no --local-port=$port --socket-dir=./ --trace=$TRACE --config-dir=. --query-local-address6="${QLA6}" > recursor.log 2>&1 &
27 sleep 3
28 ../pdns/dnsbulktest -qe 127.0.0.1 $port $limit < ${CSV} > bulktest.results
29 kill $(cat pdns_recursor.pid)
30 sleep 5
31
32 . ./bulktest.results
33
34 mkdir -p recursor-bulktest
35 rm -f failed_tests passed_tests
36 touch failed_tests passed_tests
37 : ${THRESHOLD:="95"}
38 if [ "$DBT_OKPERCENTAGEINT" -ge $THRESHOLD ]
39 then
40 echo recursor-bulktest >> passed_tests
41 else
42 echo recursor-bulktest >> failed_tests
43 fi
44
45 echo "$DBT_OKPERCENTAGE% of domains resolved" > recursor-bulktest/diff
46 egrep 'PowerDNS.COM|^<measurement' recursor.log > recursor-bulktest/stdout
47 echo "<measurement><name>% domains resolved</name><value>$DBT_OKPERCENTAGE</value></measurement>" >> recursor-bulktest/stdout
48
49 : ${context:="recursor-bulktest"}
50
51 export context
52 testsdir=. ./toxml