]> granicus.if.org Git - pdns/commitdiff
add postgresql to the automated regression tests
authorBert Hubert <bert.hubert@netherlabs.nl>
Wed, 27 Apr 2011 19:22:37 +0000 (19:22 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Wed, 27 Apr 2011 19:22:37 +0000 (19:22 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2186 d19b8d6e-7fed-0310-83ef-9ca221ded41b

build-scripts/do-regress

index 4890c76ba9af7d3c6e0497c90f85cdd9813ae270..f6462891eda5d0217dce78a4888cdd70f0f5c8e6 100755 (executable)
 #!/bin/bash
 cd pdns/pdns ; make sdig; cd ../..
 cd pdns/regression-tests
-rm powerdns.sqlite3
-sqlite3 powerdns.sqlite3 < ../pdns/no-dnssec.schema.sqlite3.sql
 
-../pdns/backends/bind/zone2sql --gsqlite --named-conf=./named.conf --transactions | sqlite3 powerdns.sqlite3
-
-echo analyze\; | sqlite3 powerdns.sqlite3
-
-../pdns/pdns_server --no-config --daemon=no --local-port=5299 --socket-dir=./  \
---no-shuffle --launch=gsqlite3 --gsqlite3-database=./powerdns.sqlite3  \
---fancy-records --query-logging --send-root-referral --loglevel=9 \
---cache-ttl=0 &
-
-sleep 2
-export nameserver=127.0.0.1 port=5299
-./runtests > ../../without-dnssec
-
-kill %1
-sleep 1
+standardConfig()
+{
+       cat <<EOF
+daemon=no
+local-port=5299
+socket-dir=./
+no-shuffle 
+fancy-records
+send-root-referral 
+cache-ttl=0 
+EOF
+}
+
+initSQLite3() 
+{
+       rm powerdns.sqlite3
+       sqlite3 powerdns.sqlite3 < ../pdns/no-dnssec.schema.sqlite3.sql
+       ../pdns/backends/bind/zone2sql --gsqlite --named-conf=./named.conf --transactions | sqlite3 powerdns.sqlite3
+       echo analyze\; | sqlite3 powerdns.sqlite3
+       
+       standardConfig > pdns.conf
+       (echo launch=gsqlite3 
+       echo gsqlite3-database=./powerdns.sqlite3 ) >> pdns.conf
+}
+
+upgradeSQLite3()
+{
+       sqlite3 powerdns.sqlite3 < ../pdns/dnssec.schema.sqlite3.sql
+       echo analyze\; | sqlite3 powerdns.sqlite3
+       echo gsqlite3-dnssec >> pdns.conf
+}
+
+setDSSQLite3()
+{
+       echo "insert into records (domain_id, name, type, content, ttl, auth) select domains.id, 'delegated.dnssec-parent.com', 'DS', '$1', 3600, '1' from domains where domains.name='dnssec-parent.com';"  | sqlite3 powerdns.sqlite3
+}
+
+
+initPostgreSQL() 
+{
+       dropdb pdnsregress
+       createdb pdnsregress
+       psql pdnsregress < ../pdns/no-dnssec.schema.pgsql.sql
+       ../pdns/backends/bind/zone2sql --gpgsql --named-conf=./named.conf --transactions | psql -q pdnsregress
+       echo analyze | psql pdnsregress 
+       standardConfig > pdns.conf
+       (echo launch=gpgsql 
+       echo gpgsql-dbname=pdnsregress
+       echo gpgsql-user=ahu ) >> pdns.conf
+}
+
+upgradePostgreSQL()
+{
+       psql pdnsregress < ../pdns/dnssec.schema.pgsql.sql
+       echo analyze | psql pdnsregress
+       echo gpgsql-dnssec >> pdns.conf
+}
+
+setDSPostgreSQL()
+{
+       echo "insert into records (domain_id, name, type, content, ttl, auth) select domains.id, 'delegated.dnssec-parent.com', 'DS', '$1', 3600, 't' from domains where domains.name='dnssec-parent.com';"  | psql pdnsregress
+}
+
+
+function doTests()
+{
+       DBTYPE=$1
+       
+       init$DBTYPE
+       ../pdns/pdns_server --config-dir=./ --daemon=no &
 
-sqlite3 powerdns.sqlite3 < ../pdns/dnssec.schema.sqlite3.sql
-echo analyze\; | sqlite3 powerdns.sqlite3
+       sleep 2
+       export nameserver=127.0.0.1 port=5299
+       ./runtests > ../../without-dnssec-$DBTYPE
 
-(echo launch=gsqlite3
-echo gsqlite3-dnssec
-echo gsqlite3-database=./powerdns.sqlite3 ) > pdns.conf
+       kill %1
 
-../pdns/pdnssec --config-dir=./ rectify-zone example.com
-../pdns/pdnssec --config-dir=./ rectify-zone test.com
-../pdns/pdnssec --config-dir=./ rectify-zone wtest.com 
+       upgrade$DBTYPE                                                                                  
+       PDNSSEC="../pdns/pdnssec --config-dir=./"
 
-../pdns/pdns_server --no-config --daemon=no --local-port=5299 --socket-dir=./  \
---no-shuffle --launch=gsqlite3 --gsqlite3-database=./powerdns.sqlite3  \
---fancy-records --query-logging --send-root-referral --loglevel=9 \
---gsqlite3-dnssec --cache-ttl=0 &
+       $PDNSSEC rectify-zone example.com
+       $PDNSSEC rectify-zone test.com
+       $PDNSSEC rectify-zone wtest.com
 
-sleep 2
-PDNSSEC="../pdns/pdnssec --config-dir=./"
+       wait
+       ../pdns/pdns_server --config-dir=./ --daemon=no  &
+       sleep 2
 
-(../pdns/pdnssec --config-dir=./  check-zone test.com
-../pdns/pdnssec --config-dir=./  check-zone wtest.com
-../pdns/pdnssec --config-dir=./  check-zone example.com) > ../../with-dnssec
 
-./runtests >> ../../with-dnssec
+       ($PDNSSEC check-zone test.com
+       $PDNSSEC check-zone wtest.com
+       $PDNSSEC check-zone example.com) > ../../with-dnssec-$DBTYPE
 
-../pdns/pdnssec --config-dir=./ secure-zone dnssec-parent.com 
-../pdns/pdnssec --config-dir=./ show-zone dnssec-parent.com 
+       ./runtests >> ../../with-dnssec-$DBTYPE
 
-../pdns/pdnssec --config-dir=./ secure-zone delegated.dnssec-parent.com 
-../pdns/pdnssec --config-dir=./ show-zone delegated.dnssec-parent.com 
+       $PDNSSEC secure-zone dnssec-parent.com
+       $PDNSSEC show-zone dnssec-parent.com
 
-kill %1
-sleep 1
+       $PDNSSEC secure-zone delegated.dnssec-parent.com
+       $PDNSSEC show-zone delegated.dnssec-parent.com
 
-# now add the DS
-../pdns/pdnssec --config-dir=./ show-zone delegated.dnssec-parent.com | grep "^DS = " | cut -f6- -d" " |   
-       while read a
-       do 
-               echo "insert into records (domain_id, name, type, content, ttl, auth) select domains.id, 'delegated.dnssec-parent.com', 'DS', '$a', 3600, '1' from domains where domains.name='dnssec-parent.com';" 
-       done  | sqlite3 powerdns.sqlite3 
+       kill %1
 
-../pdns/pdns_server --no-config --daemon=no --local-port=5299 --socket-dir=./  \
---no-shuffle --launch=gsqlite3 --gsqlite3-database=./powerdns.sqlite3  \
---fancy-records --query-logging --send-root-referral --loglevel=9 \
---gsqlite3-dnssec --cache-ttl=0 &
+       # now add the DS
+       $PDNSSEC show-zone delegated.dnssec-parent.com | grep "^DS = " | cut -f6- -d" " |
+               while read a
+               do
+                       setDS$DBTYPE $a
+               done
 
-KEYID=$(../pdns/pdnssec --config-dir=./ show-zone dnssec-parent.com | grep '(ZSK)' | 
-       grep 'Active: 1$'   | awk '{print $3}')
-       
-../pdns/pdnssec --config-dir=./ export-zone-dnskey dnssec-parent.com $KEYID > trusted
+       KEYID=$($PDNSSEC show-zone dnssec-parent.com | grep '(ZSK)' |
+               grep 'Active: 1$'   | awk '{print $3}')
 
-sleep 1
-drill -t soa -D dnssec-parent.com @127.0.0.1 -p 5299 -k trusted
+       $PDNSSEC export-zone-dnskey dnssec-parent.com $KEYID > trusted
+       sleep 1
+       wait
+       ../pdns/pdns_server --config-dir=./ --daemon=no &
 
+       sleep 2
+       drill -t soa -D dnssec-parent.com @127.0.0.1 -p 5299 -k trusted
+       kill %1
+       wait
+}
 
+doTests SQLite3
+doTests PostgreSQL
\ No newline at end of file