]>
Commit | Line | Data |
---|---|---|
ae7072eb PL |
1 | #!/bin/sh |
2 | ||
3 | export PDNSRECURSOR=${PDNSRECURSOR:-/usr/sbin/pdns_recursor} | |
4 | export DNSBULKTEST=${DNSBULKTEST:-/usr/bin/dnsbulktest} | |
5 | ||
6 | if [ "$0" != "./build-scripts/test-recursor-bulk" ]; then | |
7 | echo "Please run me from the root checkout dir" | |
8 | exit 1 | |
9 | fi | |
10 | ||
11 | set -e | |
12 | set -x | |
13 | ||
14 | cd regression-tests | |
15 | ||
16 | wget -c -N http://s3.amazonaws.com/alexa-static/top-1m.csv.zip | |
17 | ||
18 | rm -rf csv | |
19 | mkdir csv | |
20 | ||
21 | unzip top-1m.csv.zip -d csv | |
22 | ||
23 | numdomains="1000 5000 10000 50000 100000 500000 100000" | |
24 | if [ ! -z "$1" ]; then | |
25 | numdomains="$1" | |
26 | fi | |
27 | ||
28 | for prefix in 'www' 'wildcard'; do | |
29 | for num in $(seq 0 1000000); do | |
30 | echo "${num},${prefix}.www.powerdnssec.org" >> csv/${prefix}.csv | |
31 | done | |
32 | done | |
33 | ||
34 | version=$($PDNSRECURSOR --version 2>&1 | awk '/PowerDNS Recursor/ { print $6 }') | |
35 | for IPv6 in 0 1; do | |
36 | for CSV in $(ls csv/); do | |
37 | for domains in $numdomains; do | |
38 | export context="${version}.v6:${IPv6}.csv:${CSV%%.*}" | |
39 | export IPv6 | |
40 | export CSV | |
41 | RECURSOR=$PDNSRECURSOR THRESHOLD=0 TRACE=no time ./recursor-test 5401 $domains | |
42 | mv recursor.log recursor-${context}.log | |
43 | sleep 10 | |
44 | done | |
45 | done | |
46 | done | |
47 | ./bulktest-to-json.py | tee bulktest-results.json | |
48 | ||
49 | # cleanup | |
50 | rm -rf csv/ | |
51 | rm *.log | |
52 | rm bulktest-results.json |