]> git.ipfire.org Git - thirdparty/pdns.git/blame - build-scripts/test-recursor-bulk
Merge pull request #8877 from Habbie/travis-no-odbc
[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
ae7072eb
PL
11set -x
12
13cd regression-tests
14
8a27076c 15wget -c -N http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip
ae7072eb 16
f947fe60 17unzip top-1m.csv.zip
ae7072eb
PL
18
19numdomains="1000 5000 10000 50000 100000 500000 100000"
20if [ ! -z "$1" ]; then
21 numdomains="$1"
22fi
23
f230992c 24set +x
ae7072eb
PL
25for prefix in 'www' 'wildcard'; do
26 for num in $(seq 0 1000000); do
c3bad7e8 27 echo "${num},${prefix}.powerdnssec.org" >> ${prefix}.csv
ae7072eb
PL
28 done
29done
f230992c 30set -x
ae7072eb 31
f947fe60
PL
32EXIT=0
33
ae7072eb
PL
34version=$($PDNSRECURSOR --version 2>&1 | awk '/PowerDNS Recursor/ { print $6 }')
35for IPv6 in 0 1; do
f947fe60 36 for CSV in $(ls *.csv); do
ae7072eb 37 for domains in $numdomains; do
65f690ae 38 export context="${version}_v6:${IPv6}_csv:${CSV%%.*}"
ae7072eb
PL
39 export IPv6
40 export CSV
f947fe60
PL
41 RECURSOR=$PDNSRECURSOR THRESHOLD=0 TRACE=no time ./recursor-test 5401 $domains || EXIT=1
42 mv -f recursor.log recursor-${context}.log
ae7072eb
PL
43 sleep 10
44 done
45 done
46done
47./bulktest-to-json.py | tee bulktest-results.json
48
49# cleanup
50rm -rf csv/
f947fe60
PL
51rm -f *.log
52rm -f bulktest-results.json
53
54exit $EXIT