]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.dnsdist/runtests
45e34dfbe7a8bcd9f860735e1b1f235657e4c708
[thirdparty/pdns.git] / regression-tests.dnsdist / runtests
1 #!/usr/bin/env bash
2 set -e
3
4 if [ ! -d .venv ]; then
5 if [ -z "$PYTHON" ]; then
6 if [ ! -z "$(python3 --version | egrep '^Python 3.[6789]' 2>/dev/null)" ]; then
7 # found python3.6 or better
8 PYTHON=python3
9 else
10 # until we have better Linux distribution detection.
11 PYTHON=python2
12 fi
13 fi
14
15 virtualenv -p ${PYTHON} .venv
16 fi
17 . .venv/bin/activate
18 python -V
19 pip install -r requirements.txt
20 protoc -I=../pdns/ --python_out=. ../pdns/dnsmessage.proto
21 protoc -I=../pdns/ --python_out=. ../pdns/dnstap.proto
22
23 mkdir -p configs
24
25 if [ -z "${DNSDISTBIN}" ]; then
26 DNSDISTBIN=$(ls ../pdns/dnsdistdist/dnsdist-*/dnsdist)
27 fi
28 export DNSDISTBIN
29
30 set -e
31 if [ "${PDNS_DEBUG}" = "YES" ]; then
32 set -x
33 fi
34
35 # Generate a new CA
36 openssl req -new -x509 -days 1 -extensions v3_ca -keyout ca.key -out ca.pem -nodes -config configCA.conf
37 # Generate a new server certificate request
38 openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr -config configServer.conf
39 # Sign the server cert
40 openssl x509 -req -days 1 -CA ca.pem -CAkey ca.key -CAcreateserial -in server.csr -out server.pem
41 # Generate a chain
42 cat server.pem ca.pem >> server.chain
43
44 if ! nosetests --with-xunit $@; then
45 for log in configs/*.log; do
46 echo "=== ${log} ==="
47 cat "${log}"
48 done
49 false
50 fi
51
52 rm ca.key ca.pem ca.srl server.csr server.key server.pem server.chain