]>
Commit | Line | Data |
---|---|---|
8a27076c | 1 | #!/bin/bash -ex |
b3bd2e75 PD |
2 | port=$1 |
3 | [ -z "$port" ] && port=5300 | |
4 | limit=$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 | |
13 | if [ $IPv6 = 1 ] | |
14 | then | |
15 | QLA6="::" | |
16 | else | |
17 | QLA6="" | |
18 | fi | |
19 | ||
20 | rm -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 | 28 | sleep 3 |
8a27076c | 29 | ${DNSBULKTEST} --www=false -qe 127.0.0.1 $port $limit < ${CSV} > bulktest.results |
6f556c33 OM |
30 | echo "==== RECURSOR LOG ===" |
31 | cat recursor.log | |
32 | echo "==== END RECURSOR LOG ===" | |
02e7bdeb | 33 | kill $(cat pdns_recursor.pid) |
8e7b1ed4 | 34 | sleep 5 |
dfddcdaf PD |
35 | |
36 | . ./bulktest.results | |
37 | ||
38 | mkdir -p recursor-bulktest | |
39 | rm -f failed_tests passed_tests | |
40 | touch failed_tests passed_tests | |
4108e18b | 41 | : ${THRESHOLD:="95"} |
8a27076c | 42 | |
43 | ANANSWER=$[(100*(${DBT_QUEUED}-${DBT_ERRORS}-${DBT_TIMEOUTS}) )/${DBT_QUEUED}] | |
44 | ||
45 | if [ "$ANANSWER" -ge $THRESHOLD ] | |
dfddcdaf PD |
46 | then |
47 | echo recursor-bulktest >> passed_tests | |
be80e5f9 | 48 | RETVAL=0 |
dfddcdaf PD |
49 | else |
50 | echo recursor-bulktest >> failed_tests | |
be80e5f9 | 51 | RETVAL=1 |
dfddcdaf PD |
52 | fi |
53 | ||
54 | echo "$DBT_OKPERCENTAGE% of domains resolved" > recursor-bulktest/diff | |
6a6d742b | 55 | egrep 'PowerDNS.COM|^<measurement' recursor.log > recursor-bulktest/stdout |
5e94ec93 | 56 | echo "<measurement><name>% domains resolved</name><value>$DBT_OKPERCENTAGE</value></measurement>" >> recursor-bulktest/stdout |
dfddcdaf | 57 | |
dbe48e99 PD |
58 | : ${context:="recursor-bulktest"} |
59 | ||
60 | export context | |
61 | testsdir=. ./toxml | |
be80e5f9 KM |
62 | |
63 | exit $RETVAL |