From 20e9e54b1cce1486529bcd86f7a94ad02b50ae6a Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Thu, 18 Dec 2014 15:38:05 +0100 Subject: [PATCH] add soa-edit test --- .travis.yml | 2 +- regression-tests.nobackend/soa-edit/command | 42 +++++++++++++++++++ .../soa-edit/description | 1 + .../soa-edit/expected_result | 7 ++++ .../soa-edit/named.conf | 14 +++++++ regression-tests.nobackend/soa-edit/pdns.conf | 13 ++++++ 6 files changed, 78 insertions(+), 1 deletion(-) create mode 100755 regression-tests.nobackend/soa-edit/command create mode 100644 regression-tests.nobackend/soa-edit/description create mode 100644 regression-tests.nobackend/soa-edit/expected_result create mode 100644 regression-tests.nobackend/soa-edit/named.conf create mode 100644 regression-tests.nobackend/soa-edit/pdns.conf diff --git a/.travis.yml b/.travis.yml index 7351bf0210..96875c4736 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 index 0000000000..9eddbc18b7 --- /dev/null +++ b/regression-tests.nobackend/soa-edit/command @@ -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 index 0000000000..1d8c60820f --- /dev/null +++ b/regression-tests.nobackend/soa-edit/description @@ -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 index 0000000000..2eb5a1673e --- /dev/null +++ b/regression-tests.nobackend/soa-edit/expected_result @@ -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 index 0000000000..e94fe49cf8 --- /dev/null +++ b/regression-tests.nobackend/soa-edit/named.conf @@ -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 index 0000000000..9b53ddd7d1 --- /dev/null +++ b/regression-tests.nobackend/soa-edit/pdns.conf @@ -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 -- 2.47.2