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