- 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
--- /dev/null
+#!/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
--- /dev/null
+Verify that SOA updates Thursday midnight if SOA-EDIT is set.
--- /dev/null
+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
--- /dev/null
+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";
+};
--- /dev/null
+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