]> git.ipfire.org Git - thirdparty/pdns.git/blame - regression-tests.dnsdist/runtests
Merge pull request #12524 from fredmorcos/openssl3-compat-fix
[thirdparty/pdns.git] / regression-tests.dnsdist / runtests
CommitLineData
ca404e94 1#!/usr/bin/env bash
ef5a5c88
PD
2set -e
3
2dd4d60b
PD
4export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
5
ca404e94 6if [ ! -d .venv ]; then
98508251 7 python3 -m venv .venv
ca404e94
RG
8fi
9. .venv/bin/activate
10python -V
4e144f1d
PD
11
12if [ `uname -s` == Darwin ]
13then
14 if [ ! -e /usr/local/opt/curl-openssl ]
15 then
16 echo Please run: brew install curl-openssl, and try again
17 exit 1
18 else
19 export PYCURL_CURL_CONFIG=/usr/local/opt/curl-openssl/bin/curl-config
20 export LDFLAGS=-L/usr/local/opt/openssl/lib
21 export CPPFLAGS=-I/usr/local/opt/openssl/include
22 fi
23fi
ba0b1412 24pip install -U pip wheel | cat
38a3b7c0 25pip install -r requirements.txt | cat
4e144f1d 26
1d0bd88a 27protoc -I=../pdns/ --python_out=. ../pdns/dnsmessage.proto
82a91ddf 28protoc -I=../pdns/ --python_out=. ../pdns/dnstap.proto
ca404e94 29
aac2124b
RG
30mkdir -p configs
31
ca404e94 32if [ -z "${DNSDISTBIN}" ]; then
b4f23783 33 DNSDISTBIN=$(ls ../pdns/dnsdistdist/dnsdist-*/dnsdist)
ca404e94
RG
34fi
35export DNSDISTBIN
36
37set -e
9091cf89
PL
38if [ "${PDNS_DEBUG}" = "YES" ]; then
39 set -x
40fi
a227f47d 41
8c15553e 42rm -f ca.key ca.pem ca.srl server.csr server.key server.pem server.chain server.ocsp
c8f3da74
OM
43rm -rf configs/*
44
a227f47d
RG
45# Generate a new CA
46openssl req -new -x509 -days 1 -extensions v3_ca -keyout ca.key -out ca.pem -nodes -config configCA.conf
47# Generate a new server certificate request
48openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr -config configServer.conf
49# Sign the server cert
046bac5c 50openssl x509 -req -days 1 -CA ca.pem -CAkey ca.key -CAcreateserial -in server.csr -out server.pem -extfile configServer.conf -extensions v3_req
a227f47d 51# Generate a chain
c8f3da74 52cat server.pem ca.pem > server.chain
5ac11505
CHB
53# Generate a password-protected PKCS12 file
54openssl pkcs12 -export -passout pass:passw0rd -clcerts -in server.pem -CAfile ca.pem -inkey server.key -out server.p12
a227f47d 55
f3853a40
O
56out=$(mktemp)
57set -o pipefail
58if ! nosetests --with-xunit $@ 2>&1 | tee "${out}" ; then
aac2124b
RG
59 for log in configs/*.log; do
60 echo "=== ${log} ==="
61 cat "${log}"
f3853a40 62 echo
aac2124b 63 done
f3853a40
O
64 echo "=== nosetests log ==="
65 cat "${out}"
66 echo "=== end of nosetests log ==="
aac2124b
RG
67 false
68fi
f3853a40 69rm -f "${out}"
a227f47d 70
8c15553e 71rm -f ca.key ca.pem ca.srl server.csr server.key server.pem server.chain server.ocsp