]> git.ipfire.org Git - thirdparty/pdns.git/blob - build-scripts/test-auth
Add support for dnsdist-15 to repo script.
[thirdparty/pdns.git] / build-scripts / test-auth
1 #!/bin/sh
2
3 set -x
4 context=''
5 # poor mans option parsing
6 if [ -n "$1" ]; then
7 if [ "$1" != "odbc" ]; then
8 echo "invalid argument"
9 exit 1
10 fi
11 context=odbc
12 if [ -n "$2" ]; then
13 echo "too many arguments"
14 exit 1
15 fi
16 fi
17
18 export PDNS=/usr/sbin/pdns_server
19 export PDNS2=$PDNS
20 export SDIG=/usr/bin/sdig
21 export NSEC3DIG=/usr/bin/nsec3dig
22 export NOTIFY=/usr/bin/pdns_notify
23 export SAXFR=/usr/bin/saxfr
24 export ZONE2SQL=/usr/bin/zone2sql
25 export ZONE2JSON=/usr/bin/zone2json
26 export PDNSUTIL=/usr/bin/pdnsutil
27 export PDNSCONTROL=/usr/bin/pdns_control
28
29 export GEM_HOME=${PWD}/gems
30 mkdir -p $GEM_HOME
31 export PATH="${GEM_HOME}/bin:$PATH"
32
33 if [ -z "$context" ]; then
34 cd modules/remotebackend
35 ruby -S bundle install
36 cd ../../
37 fi
38
39 MODULES=""
40
41 for dir in /usr/lib/x86_64-linux-gnu/pdns /usr/lib64/pdns; do
42 if [ -d $dir ]; then
43 MODULES=$dir
44 break
45 fi
46 done
47 [ -z $MODULES ] && echo "No module directory found" >&2 && exit 1
48
49 # Symlink the modules on the system
50 cd regression-tests/modules
51 for backend in *.so; do
52 ln -sf $MODULES/$backend $backend
53 done
54
55 cd ..
56
57 EXITCODE=0
58
59 if [ -z "$context" ]; then
60 export geoipregion=oc geoipregionip=1.2.3.4
61 ./timestamp ./start-test-stop 5300 bind-both || EXITCODE=1
62 ./timestamp ./start-test-stop 5300 bind-dnssec-both || EXITCODE=1
63
64 # No PKCS#11 in packages
65 #SETUP_SOFTHSM=y ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11 || EXITCODE=1
66 ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both || EXITCODE=1
67 ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both || EXITCODE=1
68 ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow || EXITCODE=1
69 ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3 || EXITCODE=1
70
71 # Adding extra IPs to docker containers in not supported :(
72 #./timestamp ./start-test-stop 5300 geoipbackend || EXITCODE=1
73 #./timestamp ./start-test-stop 5300 geoipbackend-nsec3-narrow || EXITCODE=1
74
75 ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both || EXITCODE=1
76 ./timestamp ./start-test-stop 5300 gmysql-both || EXITCODE=1
77 ./timestamp ./start-test-stop 5300 gmysql-nsec3-both || EXITCODE=1
78 ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both || EXITCODE=1
79 ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow || EXITCODE=1
80
81 ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both || EXITCODE=1
82 ./timestamp ./start-test-stop 5300 gpgsql-both || EXITCODE=1
83 ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both || EXITCODE=1
84 ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both || EXITCODE=1
85 ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow || EXITCODE=1
86
87 ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both || EXITCODE=1
88 ./timestamp ./start-test-stop 5300 gsqlite3-both || EXITCODE=1
89 ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both || EXITCODE=1
90 ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both || EXITCODE=1
91 ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow || EXITCODE=1
92
93 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe || EXITCODE=1
94 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe-dnssec || EXITCODE=1
95 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix || EXITCODE=1
96 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix-dnssec || EXITCODE=1
97 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http || EXITCODE=1
98 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http-dnssec || EXITCODE=1
99
100 ./timestamp timeout 120s ./start-test-stop 5300 lua2
101 ./timestamp timeout 120s ./start-test-stop 5300 lua2-dnssec
102
103 # No 0MQ in the PowerDNS packages
104 #./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq || EXITCODE=1
105 #./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq-dnssec || EXITCODE=1
106
107 ./timestamp ./start-test-stop 5300 tinydns || EXITCODE=1
108
109 cd ../regression-tests.nobackend/
110
111 ./runtests || EXITCODE=1
112 elif [ "$context" = "odbc" ]; then
113 cat > ~/.odbc.ini << __EOF__
114 [pdns-sqlite3-1]
115 Driver = SQLite3
116 Database = $(pwd)/pdns.sqlite3
117
118 [pdns-sqlite3-2]
119 Driver = SQLite3
120 Database = $(pwd)/pdns.sqlite32
121
122 [pdns-mssql]
123 Driver=FreeTDS
124 Trace=No
125 Server=pdns-odbc-regress-sql-1.database.windows.net
126 Port=1433
127 Database=pdns
128 TDS_Version=7.1
129 ClientCharset=UTF-8
130 __EOF__
131
132 set +x
133 . ~/.mssql-credentials
134 set -x
135 export GODBC_SQLITE3_DSN=pdns-sqlite3-1
136 ./timestamp timeout 120s ./start-test-stop 5300 godbc_sqlite3-nodnssec || EXITCODE=1
137 export GODBC_MSSQL_DSN=pdns-mssql
138 export GODBC_MSSQL_USERNAME
139 export GODBC_MSSQL_PASSWORD
140 ./timestamp timeout 3600s ./start-test-stop 5300 godbc_mssql-nodnssec || EXITCODE=1
141 ./timestamp timeout 3600s ./start-test-stop 5300 godbc_mssql || EXITCODE=1
142 ./timestamp timeout 3600s ./start-test-stop 5300 godbc_mssql-nsec3 || EXITCODE=1
143 ./timestamp timeout 3600s ./start-test-stop 5300 godbc_mssql-nsec3-optout || EXITCODE=1
144 ./timestamp timeout 3600s ./start-test-stop 5300 godbc_mssql-nsec3-narrow || EXITCODE=1
145 fi
146
147 exit $EXITCODE