]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.dnsdist/runtests
dnsdist: Add setProxyProtocolValuesAction()
[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
20 if [ `uname -s` == Darwin ]
21 then
22 if [ ! -e /usr/local/opt/curl-openssl ]
23 then
24 echo Please run: brew install curl-openssl, and try again
25 exit 1
26 else
27 export PYCURL_CURL_CONFIG=/usr/local/opt/curl-openssl/bin/curl-config
28 export LDFLAGS=-L/usr/local/opt/openssl/lib
29 export CPPFLAGS=-I/usr/local/opt/openssl/include
30 fi
31 fi
32 pip install -r requirements.txt | cat
33
34 protoc -I=../pdns/ --python_out=. ../pdns/dnsmessage.proto
35 protoc -I=../pdns/ --python_out=. ../pdns/dnstap.proto
36
37 mkdir -p configs
38
39 if [ -z "${DNSDISTBIN}" ]; then
40 DNSDISTBIN=$(ls ../pdns/dnsdistdist/dnsdist-*/dnsdist)
41 fi
42 export DNSDISTBIN
43
44 set -e
45 if [ "${PDNS_DEBUG}" = "YES" ]; then
46 set -x
47 fi
48
49 rm -f ca.key ca.pem ca.srl server.csr server.key server.pem server.chain server.ocsp
50 rm -rf configs/*
51
52 # Generate a new CA
53 openssl req -new -x509 -days 1 -extensions v3_ca -keyout ca.key -out ca.pem -nodes -config configCA.conf
54 # Generate a new server certificate request
55 openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr -config configServer.conf
56 # Sign the server cert
57 openssl x509 -req -days 1 -CA ca.pem -CAkey ca.key -CAcreateserial -in server.csr -out server.pem -extfile configServer.conf -extensions v3_req
58 # Generate a chain
59 cat server.pem ca.pem > server.chain
60
61 if ! nosetests --with-xunit $@; then
62 for log in configs/*.log; do
63 echo "=== ${log} ==="
64 cat "${log}"
65 done
66 false
67 fi
68
69 rm -f ca.key ca.pem ca.srl server.csr server.key server.pem server.chain server.ocsp