]> git.ipfire.org Git - thirdparty/pdns.git/blame - build-scripts/test-recursor-bulk
Merge pull request #2785 from zeha/fix-asan
[thirdparty/pdns.git] / build-scripts / test-recursor-bulk
CommitLineData
ae7072eb
PL
1#!/bin/sh
2
3export PDNSRECURSOR=${PDNSRECURSOR:-/usr/sbin/pdns_recursor}
4export DNSBULKTEST=${DNSBULKTEST:-/usr/bin/dnsbulktest}
5
6if [ "$0" != "./build-scripts/test-recursor-bulk" ]; then
7 echo "Please run me from the root checkout dir"
8 exit 1
9fi
10
11set -e
12set -x
13
14cd regression-tests
15
16wget -c -N http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
17
18rm -rf csv
19mkdir csv
20
21unzip top-1m.csv.zip -d csv
22
23numdomains="1000 5000 10000 50000 100000 500000 100000"
24if [ ! -z "$1" ]; then
25 numdomains="$1"
26fi
27
28for 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
32done
33
34version=$($PDNSRECURSOR --version 2>&1 | awk '/PowerDNS Recursor/ { print $6 }')
35for 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
46done
47./bulktest-to-json.py | tee bulktest-results.json
48
49# cleanup
50rm -rf csv/
51rm *.log
52rm bulktest-results.json