]> granicus.if.org Git - pdns/commitdiff
redo .travis.yml
authorKees Monshouwer <mind04@monshouwer.org>
Thu, 19 Nov 2015 17:44:30 +0000 (18:44 +0100)
committermind04 <mind04@monshouwer.org>
Mon, 30 Nov 2015 17:07:55 +0000 (18:07 +0100)
.travis.yml
regression-tests/backends/remote-master

index 5c4e2e4ac808152dd69bd3d0cbf359f02f43e017..cfad226e4486c758d1e7e4c93b2f5d3bd0162817 100644 (file)
+sudo: required
+dist: trusty
 language: cpp
 compiler:
   - gcc
   - clang
-sudo: required
-dist: trusty
+
 before_script:
- - export POSIXLY_CORRECT=1
- - git describe --always --dirty=+
- - for suffix in {1..40}; do sudo /sbin/ip addr add 10.0.3.$suffix/32 dev lo; done
- - sudo sysctl net.ipv6.conf.all.disable_ipv6=0
- - sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list
- - sudo apt-get update -qq
- - sudo apt-get install --quiet --quiet --no-install-recommends
-     alien
-     authbind
-     bc
-     bind9utils
-     daemontools
-     dnsutils
-     faketime
-     geoip-database
-     mysql-server
-     ldnsutils
-     libboost-all-dev
-     libbotan1.10-dev
-     libcdb-dev
-     libcurl4-openssl-dev
-     libgeoip-dev
-     libldap2-dev
-     libnet-dns-perl
-     libopendbx1-dev
-     libopendbx1-sqlite3
-     libp11-kit-dev
-     libsqliteodbc
-     libtolua-dev
-     libtool
-     libyaml-cpp-dev
-     libzmq3-dev
-     links
-     lua-posix
-     moreutils
-     p11-kit
-     pandoc
-     pkg-config
-     python-virtualenv
-     rpm
-     ruby-json
-     ruby-sqlite3
-     ruby1.9.1
-     socat
-     softhsm
-     time
-     unbound-host
-     unixodbc-dev
-     xmlto
- - virtualenv $HOME/.venv
- - source $HOME/.venv/bin/activate
- - pip install pyopenssl ndg-httpsclient pyasn1
- - pip install pandocfilters==1.2.3 mkdocs==0.14 linkchecker==9.3 click==5.1
- - deactivate
- - sudo touch /etc/authbind/byport/53
- - sudo chmod 755 /etc/authbind/byport/53
- - cd ..
- - wget https://xs.powerdns.com/tmp/libsodium_1.0.2-1_amd64.deb
- - sudo dpkg -i libsodium_1.0.2-1_amd64.deb
- - sudo mv /usr/local/lib/libsodium.* /usr/lib
- - wget ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
- - tar xzvf dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
- - fakeroot alien --to-deb dnsperf-2.0.0.0-1/dnsperf-2.0.0.0-1.el6.x86_64.rpm
- - sudo dpkg -i dnsperf_2.0.0.0-2_amd64.deb
- - wget http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
- - unzip top-1m.csv.zip -d ./pdns/regression-tests
- - cd pdns
- - travis_retry gem install bundler --no-rdoc --no-ri
- - cd modules/remotebackend
- - travis_retry ruby -S bundle install
- - cd ../..
- - sudo mkdir -p /etc/pkcs11/modules/
- - sudo cp -f regression-tests/softhsm.mod /etc/pkcs11/modules/softhsm
- - sudo cp -f regression-tests/softhsm.conf /etc/softhsm/softhsm.conf
- - sudo chmod 0755 /etc/softhsm/
- - sudo chmod 0644 /etc/softhsm/softhsm.conf
- - sudo chmod 0777 /var/lib/softhsm
- - p11-kit -l # ensure it's ok
- - echo -e "[pdns-sqlite3-1]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite3\n\n[pdns-sqlite3-2]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite32\n" > ${HOME}/.odbc.ini
+  - git describe --always --dirty=+
+
+  ### setup travis environment ###
+  - sudo sysctl net.ipv6.conf.lo.disable_ipv6=0
+  - export POSIXLY_CORRECT=1
+  - sudo apt-get -qq update
+
+
+  ### build requirements ###
+
+  # global build requirements
+  - sudo apt-get -qq --no-install-recommends install
+    libboost-all-dev
+    liblua5.1-dev
+  - cd ..
+  - wget https://xs.powerdns.com/tmp/libsodium_1.0.2-1_amd64.deb
+  - sudo dpkg -i libsodium_1.0.2-1_amd64.deb
+  - sudo mv /usr/local/lib/libsodium.* /usr/lib
+  - cd pdns
+
+  # pkcs11 build requirements
+  - sudo apt-get -qq --no-install-recommends install
+    libp11-kit-dev
+
+  # geoip-backend
+  - sudo apt-get -qq --no-install-recommends install
+    libgeoip-dev
+    libyaml-cpp-dev
+
+  # ldap-backend
+  - sudo apt-get -qq --no-install-recommends install
+    libldap-dev
+
+  # opendbx-backend
+  - sudo apt-get -qq --no-install-recommends install
+    libopendbx1-dev
+    libopendbx1-sqlite3
+
+  # remote-backend build requirements
+  - sudo apt-get -qq --no-install-recommends install
+    libzmq3-dev
+
+
+  ### documentation requirements
+  - sudo apt-get -qq --no-install-recommends install
+    pandoc
+    xmlto
+
+
+  ### test requirements ###
+
+  # authoritative test requirements / setup
+  - sudo apt-get -qq --no-install-recommends install
+    bind9utils
+    ldnsutils
+    libnet-dns-perl
+    moreutils
+    unbound-host
+    validns
+    default-jre
+  - cd ..
+  - wget http://www.verisignlabs.com/dnssec-tools/packages/jdnssec-tools-0.12.tar.gz
+  - sudo tar xfz jdnssec-tools-0.12.tar.gz --strip-components=1 -C /
+  - cd pdns
+
+  # pkcs11 test requirements / setup
+  - sudo apt-get -qq --no-install-recommends install
+    p11-kit
+    softhsm
+  - sudo mkdir -p /etc/pkcs11/modules/
+  - sudo cp -f regression-tests/softhsm.mod /etc/pkcs11/modules/softhsm.module
+  - sudo cp -f regression-tests/softhsm.conf /etc/softhsm/softhsm.conf
+  - sudo chmod 0755 /etc/softhsm/
+  - sudo chmod 0644 /etc/softhsm/softhsm.conf
+  - sudo chmod 0777 /var/lib/softhsm
+  - p11-kit -l # ensure it's ok
+
+  # bind-backend tests requirements
+  - sudo apt-get -qq --no-install-recommends install
+    alien
+  - cd ..
+  - wget ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
+  - tar xzvf dnsperf-2.0.0.0-1-rhel-6-x86_64.tar.gz
+  - fakeroot alien --to-deb dnsperf-2.0.0.0-1/dnsperf-2.0.0.0-1.el6.x86_64.rpm
+  - sudo dpkg -i dnsperf_2.0.0.0-2_amd64.deb
+  - cd pdns
+
+  # geoip-backend test requirements / setup
+  - sudo apt-get -qq --no-install-recommends install
+    geoip-database
+  - export geoipregion=oc geoipregionip=1.2.3.4
+
+  # gmysql-backend test requirements
+  - sudo apt-get -qq --no-install-recommends install
+    mysql-server
+
+  # godbc-backend test setup
+  - echo -e "[pdns-sqlite3-1]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite3\n\n[pdns-sqlite3-2]\nDriver = SQLite3\nDatabase = ${PWD}/regression-tests/pdns.sqlite32\n" > ${HOME}/.odbc.ini
+  - export GODBC_SQLITE3_DSN=pdns-sqlite3-1
+
+  # remote-backend tests requirements
+  - sudo apt-get -qq --no-install-recommends install
+    ruby-json
+    rubygems-integration
+    socat
+  - gem install bundler --no-rdoc --no-ri
+  - cd modules/remotebackend
+  - ruby -S bundle install
+  - cd ../..
+
+  # tinydns
+  - sudo apt-get -qq --no-install-recommends install
+    libcdb-dev
+
+  # documentation test requirements
+  - virtualenv $HOME/.venv
+  - source $HOME/.venv/bin/activate
+  - pip install -q pandocfilters==1.2.3 mkdocs==0.14 linkchecker==9.3 click==5.1
+
+  # recursor test requirements / setup
+  - sudo apt-get -qq --no-install-recommends install
+    authbind
+    daemontools
+  - cd ..
+  - wget http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
+  - unzip top-1m.csv.zip -d ./pdns/regression-tests
+  - cd pdns
+  - 'for suffix in {1..40}; do sudo /sbin/ip addr add 10.0.3.$suffix/32 dev lo; done'
+  - sudo touch /etc/authbind/byport/53
+  - sudo chmod 755 /etc/authbind/byport/53
+
+  # no-backend tests
+  - sudo apt-get -qq --no-install-recommends install
+    faketime
+
+
 script:
- - ./bootstrap
-#Build without --enable-botan1.10 option, Botan/SoftHSM conflict #2496
- - source $HOME/.venv/bin/activate
- - ./configure
-     --with-dynmodules='bind gmysql geoip godbc gpgsql gsqlite3 mydns tinydns pipe remote random opendbx ldap lua'
-     --with-modules=''
-     --with-sqlite3
-     --enable-unit-tests
-     --enable-remotebackend-zeromq
-     --enable-libsodium
-     --enable-experimental-pkcs11
-     --enable-tools
-     --disable-dependency-tracking
- - make -k dist
- - make -k -j 4 V=1
- - cd docs
- - make check-links
- - deactivate
- - cd ..
- - make -k install DESTDIR=/tmp/pdns-install-dir
- - find /tmp/pdns-install-dir -ls
- - make -j 4 check V=1
- - test -f pdns/test-suite.log && cat pdns/test-suite.log || true
- - test -f modules/remotebackend/test-suite.log && cat modules/remotebackend/test-suite.log || true
-# DNSName: - make -k -j 2 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns')
- - make -k -j 2 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns|speedtest')
- - cd pdns
- - make -k -j 4 pdns_recursor
- - rm -f pdns_recursor
- - ./pdnsutil test-algorithms
- - cd ..
- - ./build-scripts/dist-recursor
- - cd pdns/pdns-recursor-*/
- - ./configure
- - make -k -j 4
- - cd ..
- - ln -s pdns-recursor*/pdns_recursor .
- - cd ..
- - ./build-scripts/dist-dnsdist
- - cd pdns/dnsdistdist
- - tar xf dnsdist*.tar.bz2
- - cd dnsdist-*
- - ./configure
- - make -k -j 4
- - cd ..
- - rm -rf dnsdist-*/
- - cd ../../
- - cd regression-tests.recursor
- - cp vars.sample vars
- - ./config.sh
- - ./start.sh
- - sleep 3
- - svstat configs/*
- - ./runtests
-#DNSName - test ! -s ./failed_tests
- - ./stop.sh
- - sleep 3
- - ./clean.sh
-#DNSName - cd ../regression-tests.api
-#DNSName - ./runtests authoritative
-#DNSName - ./runtests recursor
- - cd ../regression-tests
- - touch tests/verify-dnssec-zone/allow-missing
- - touch tests/verify-dnssec-zone/skip.nsec3 # some (travis) tools in this test are unable to handle nsec3 zones
- - touch tests/verify-dnssec-zone/skip.optout
- - export geoipregion=oc geoipregionip=1.2.3.4
- - ./timestamp ./start-test-stop 5300 bind-both
- - ./timestamp ./start-test-stop 5300 bind-dnssec-both
- - ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11
- - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both
- - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both
- - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow
- - ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3
- - ./timestamp ./start-test-stop 5300 geoip
- - ./timestamp ./start-test-stop 5300 geoip-nsec3-narrow
- - ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both
- - ./timestamp ./start-test-stop 5300 gmysql-both
- - ./timestamp ./start-test-stop 5300 gmysql-nsec3-both
- - ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both
- - ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow
- - ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both
- - ./timestamp ./start-test-stop 5300 gpgsql-both
- - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both
- - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both
- - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow
- - ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both
- - ./timestamp ./start-test-stop 5300 gsqlite3-both
- - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both
- - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both
- - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow
- - ./timestamp ./start-test-stop 5300 mydns
- - ./timestamp ./start-test-stop 5300 opendbx-sqlite3
- # - GODBC_SQLITE3_DSN=pdns-sqlite3-1 ./timestamp ./start-test-stop 5300 godbc_sqlite3-nsec3
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-pipe-dnssec
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-unix-dnssec
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http-dnssec
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq
- - travis_retry ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq-dnssec
- - ./timestamp ./start-test-stop 5300 tinydns
- - rm -f tests/verify-dnssec-zone/allow-missing
- - rm -f tests/verify-dnssec-zone/skip.nsec3
- - rm -f tests/verify-dnssec-zone/skip.optout
- - THRESHOLD=90 TRACE=no ./timestamp ./recursor-test 5300 25000
- - cd ../regression-tests.nobackend/
- - ./runtests
- - test ! -s ./failed_tests
- - cd ..
- - git status
- - git status | grep -q clean
+  - ./bootstrap
+  # Build without --enable-botan1.10 option, Botan/SoftHSM conflict #2496
+  - source $HOME/.venv/bin/activate
+  - ./configure
+    --with-dynmodules='bind gmysql geoip gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote tinydns'
+    --with-modules=''
+    --with-sqlite3
+    --enable-libsodium
+    --enable-experimental-pkcs11
+    --enable-remotebackend-zeromq
+    --enable-tools
+    --enable-unit-tests
+    --enable-backend-unit-tests
+    --disable-dependency-tracking
+  - deactivate
+
+  - make -k dist
+
+  - make -k -j3
+
+  - cd docs
+  - source $HOME/.venv/bin/activate
+  - make check-links
+  - deactivate
+  - cd ..
+
+  - make -k install DESTDIR=/tmp/pdns-install-dir
+  - find /tmp/pdns-install-dir -ls
+
+  - make -j3 check
+  - test -f pdns/test-suite.log && cat pdns/test-suite.log || true
+  - test -f modules/remotebackend/test-suite.log && cat modules/remotebackend/test-suite.log || true
+
+  #DNSName - make -k -j3 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns')
+  - make -k -j3 -C pdns $(grep '(EXEEXT):' pdns/Makefile | cut -f1 -d\$ | grep -E -v 'dnsdist|calidns|speedtest')
+
+  - cd pdns
+  - ./pdnsutil test-algorithms
+  - cd ..
+
+  - cd regression-tests
+  - ./timestamp ./start-test-stop 5300 bind-both
+  - ./timestamp ./start-test-stop 5300 bind-dnssec-both
+  - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-both
+  - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-optout-both
+  - ./timestamp ./start-test-stop 5300 bind-dnssec-nsec3-narrow
+  - ./timestamp ./start-test-stop 5300 bind-hybrid-nsec3
+  - ./timestamp ./start-test-stop 5300 bind-dnssec-pkcs11
+
+  - ./timestamp ./start-test-stop 5300 geoip
+  - ./timestamp ./start-test-stop 5300 geoip-nsec3-narrow
+
+  - ./timestamp ./start-test-stop 5300 gmysql-nodnssec-both
+  - ./timestamp ./start-test-stop 5300 gmysql-both
+  - ./timestamp ./start-test-stop 5300 gmysql-nsec3-both
+  - ./timestamp ./start-test-stop 5300 gmysql-nsec3-optout-both
+  - ./timestamp ./start-test-stop 5300 gmysql-nsec3-narrow
+
+  # - ./timestamp ./start-test-stop 5300 godbc_sqlite3-nsec3
+
+  - ./timestamp ./start-test-stop 5300 gpgsql-nodnssec-both
+  - ./timestamp ./start-test-stop 5300 gpgsql-both
+  - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-both
+  - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-optout-both
+  - ./timestamp ./start-test-stop 5300 gpgsql-nsec3-narrow
+
+  - ./timestamp ./start-test-stop 5300 gsqlite3-nodnssec-both
+  - ./timestamp ./start-test-stop 5300 gsqlite3-both
+  - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-both
+  - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-optout-both
+  - ./timestamp ./start-test-stop 5300 gsqlite3-nsec3-narrow
+
+  - ./timestamp ./start-test-stop 5300 mydns
+
+  - ./timestamp ./start-test-stop 5300 opendbx-sqlite3
+
+  - ./timestamp ./start-test-stop 5300 remotebackend-pipe
+  - ./timestamp ./start-test-stop 5300 remotebackend-pipe-dnssec
+  - ./timestamp ./start-test-stop 5300 remotebackend-unix
+  - ./timestamp ./start-test-stop 5300 remotebackend-unix-dnssec
+  - ./timestamp ./start-test-stop 5300 remotebackend-http
+  - ./timestamp ./start-test-stop 5300 remotebackend-http-dnssec
+  - ./timestamp ./start-test-stop 5300 remotebackend-zeromq
+  - ./timestamp ./start-test-stop 5300 remotebackend-zeromq-dnssec
+
+  - ./timestamp ./start-test-stop 5300 tinydns
+  - cd ..
+
+
+  ### recursor ###
+
+  # in-tree build
+  - cd pdns
+  - make -k -j3 pdns_recursor
+  - rm -f pdns_recursor
+  - cd ..
+
+  # distribution build
+  - ./build-scripts/dist-recursor
+  - cd pdns/pdns-recursor-*/
+  - ./configure
+  - make -k -j3
+  - cd ..
+  - ln -s pdns-recursor*/pdns_recursor .
+  - cd ..
+
+  # regression-tests
+  - cd regression-tests.recursor
+  - cp vars.sample vars
+  - ./config.sh
+  - ./start.sh
+  - sleep 3
+  - svstat configs/*
+  - ./runtests
+  #DNSName: - test ! -s ./failed_tests
+  - ./stop.sh
+  - sleep 3
+  - ./clean.sh
+  - cd ..
+
+  # bulktest
+  - cd regression-tests
+  - THRESHOLD=90 TRACE=no ./timestamp ./recursor-test 5300 25000
+  - cd ..
+
+
+  ### dnsdist ###
+
+  # distribution build
+  - ./build-scripts/dist-dnsdist
+  - cd pdns/dnsdistdist
+  - tar xf dnsdist*.tar.bz2
+  - cd dnsdist-*
+  - ./configure
+  - make -k -j3
+  - cd ..
+  - rm -rf dnsdist-*/
+  - cd ../../
+
+
+  ### api ###
+  - cd regression-tests.api
+  #DNSName: - ./runtests authoritative
+  #DNSName: - ./runtests recursor
+  - cd ..
+
+
+  ### no backend tests ###
+  - cd regression-tests.nobackend/
+  - ./runtests
+  - test ! -s ./failed_tests
+  - cd ..
+
+
+  - git status
+  - git status | grep -q clean
+
+
 notifications:
   irc:
     channels:
index a40d043f816a60d084c45245edf4966ab138b935..8bef5bcd84e06988f5a6b76bce6d8453fd8a59a2 100644 (file)
@@ -39,7 +39,6 @@ case $context in
                        connstr="zeromq:endpoint=ipc:///tmp/pdns.0"
                        $testsdir/zeromq-backend.rb &
                        echo $! > pdns-remotebackend.pid
-                       sleep 20 # just a test
                        ;;
                unix)
                        connstr="unix:path=$testsdir/remote.socket"