]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
add soa-edit test
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Thu, 18 Dec 2014 14:38:05 +0000 (15:38 +0100)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Fri, 19 Dec 2014 10:17:17 +0000 (10:17 +0000)
.travis.yml
regression-tests.nobackend/soa-edit/command [new file with mode: 0755]
regression-tests.nobackend/soa-edit/description [new file with mode: 0644]
regression-tests.nobackend/soa-edit/expected_result [new file with mode: 0644]
regression-tests.nobackend/soa-edit/named.conf [new file with mode: 0644]
regression-tests.nobackend/soa-edit/pdns.conf [new file with mode: 0644]

index 7351bf0210e17eb5322db8790a1d118f880c8600..96875c4736c47eedcddcd6e6d75b49033671939e 100644 (file)
@@ -8,7 +8,7 @@ before_script:
  - sudo /sbin/ip addr add 1.2.3.4/32 dev lo
  - sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list
  - sudo apt-get update --quiet --quiet
- - sudo apt-get install --quiet --quiet --no-install-recommends libboost-all-dev libtolua-dev bc libcdb-dev libnet-dns-perl unbound-host ldnsutils dnsutils bind9utils libtool libcdb-dev xmlto links asciidoc ruby-json ruby-sqlite3 rubygems libcurl4-openssl-dev ruby1.9.1 socat time pkg-config daemontools authbind liblua5.1-posix1 libopendbx1-dev libopendbx1-sqlite3 python-virtualenv libldap2-dev softhsm libp11-kit-dev p11-kit moreutils libgeoip-dev geoip-database
+ - sudo apt-get install --quiet --quiet --no-install-recommends libboost-all-dev libtolua-dev bc libcdb-dev libnet-dns-perl unbound-host ldnsutils dnsutils bind9utils libtool libcdb-dev xmlto links asciidoc ruby-json ruby-sqlite3 rubygems libcurl4-openssl-dev ruby1.9.1 socat time pkg-config daemontools authbind liblua5.1-posix1 libopendbx1-dev libopendbx1-sqlite3 python-virtualenv libldap2-dev softhsm libp11-kit-dev p11-kit moreutils libgeoip-dev geoip-database faketime
  - sudo sh -c 'sed s/precise/trusty/g /etc/apt/sources.list > /etc/apt/sources.list.d/trusty.list'
  - sudo apt-get update --quiet --quiet
  - sudo apt-get install --quiet --quiet liblmdb0 liblmdb-dev lmdb-utils libyaml-cpp-dev libzmq3-dev pandoc
diff --git a/regression-tests.nobackend/soa-edit/command b/regression-tests.nobackend/soa-edit/command
new file mode 100755 (executable)
index 0000000..9eddbc1
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+set -e
+set -x
+
+bindwait ()
+{
+       configname=$1
+       domcount=1
+       loopcount=0
+       while [ $loopcount -lt 20 ]; do
+               sleep 1
+               done=$( (../pdns/pdns_control --config-name=$configname --socket-dir=. --no-config bind-domain-status || true) | grep -c 'parsed into memory' || true )
+               if [ $done = $domcount ]
+                       then
+                       return
+               fi
+               let loopcount=loopcount+1
+       done 
+       if [ $done != $domcount ]; then
+               echo "Domain parsing failed" >> failed_tests
+       fi
+}
+
+port=5502
+rm -f pdns*.pid
+
+rm -f soa-edit/bind-dnssec.db
+
+now=$(date +%s)
+delta=$((now-1418860790)) # Wed Dec 17 23:59:50 2014 UTC
+../pdns/pdnssec --config-dir=soa-edit create-bind-db soa-edit/bind-dnssec.db
+../pdns/pdnssec --config-dir soa-edit/ set-meta minimal.com SOA-EDIT INCREMENT-WEEKS
+faketime -m -f -$delta ../pdns/pdns_server --config-dir=soa-edit &
+bindwait
+
+../pdns/sdig 127.0.0.1 $port minimal.com SOA | LC_ALL=C sort
+sleep 15
+../pdns/sdig 127.0.0.1 $port minimal.com SOA | LC_ALL=C sort
+       
+kill $(cat pdns*.pid)
+rm pdns*.pid
diff --git a/regression-tests.nobackend/soa-edit/description b/regression-tests.nobackend/soa-edit/description
new file mode 100644 (file)
index 0000000..1d8c608
--- /dev/null
@@ -0,0 +1 @@
+Verify that SOA updates Thursday midnight if SOA-EDIT is set.
diff --git a/regression-tests.nobackend/soa-edit/expected_result b/regression-tests.nobackend/soa-edit/expected_result
new file mode 100644 (file)
index 0000000..2eb5a16
--- /dev/null
@@ -0,0 +1,7 @@
+Set 'minimal.com' meta SOA-EDIT = INCREMENT-WEEKS
+0      minimal.com.    IN      SOA     120     ns1.example.com. ahu.example.com. 2000083846 28800 7200 604800 86400
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='minimal.com.', qtype=SOA
+0      minimal.com.    IN      SOA     120     ns1.example.com. ahu.example.com. 2000083847 28800 7200 604800 86400
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='minimal.com.', qtype=SOA
diff --git a/regression-tests.nobackend/soa-edit/named.conf b/regression-tests.nobackend/soa-edit/named.conf
new file mode 100644 (file)
index 0000000..e94fe49
--- /dev/null
@@ -0,0 +1,14 @@
+options {
+       directory "../regression-tests/zones/";
+       recursion no;
+       listen-on port 5300 {
+               127.0.0.1;
+       };
+       version "Meow!Meow!";
+       minimal-responses yes;
+};
+
+zone "minimal.com"{
+       type master;
+       file "./minimal.com";
+};
diff --git a/regression-tests.nobackend/soa-edit/pdns.conf b/regression-tests.nobackend/soa-edit/pdns.conf
new file mode 100644 (file)
index 0000000..9b53ddd
--- /dev/null
@@ -0,0 +1,13 @@
+daemon=no
+local-port=5502
+socket-dir=./
+no-shuffle
+send-root-referral
+cache-ttl=0
+query-cache-ttl=0
+module-dir=../regression-tests/modules
+launch=bind
+bind-config=soa-edit/named.conf
+bind-dnssec-db=soa-edit/bind-dnssec.db
+loglevel=9
+distributor-threads=1