From: Bert Hubert Date: Wed, 27 Apr 2011 19:22:37 +0000 (+0000) Subject: add postgresql to the automated regression tests X-Git-Tag: auth-3.0~63 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2757e4259ed45a1196a7474df350957cb5af3e25;p=pdns add postgresql to the automated regression tests git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2186 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/build-scripts/do-regress b/build-scripts/do-regress index 4890c76ba..f6462891e 100755 --- a/build-scripts/do-regress +++ b/build-scripts/do-regress @@ -1,77 +1,131 @@ #!/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 < 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