kdc: support pkinit_kdc_revoke for pkinit anchors
[lorikeet-heimdal.git] / .travis.yml
index 12525bf6f11d8a091f0b87b5843412e4b9ee6536..1a1f587e63d6ae1574e40264be8f7af79f9276b4 100644 (file)
@@ -10,22 +10,27 @@ env:
 
 before_install:
     - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -qq; fi
-    - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install -qq bison comerr-dev flex libcap-ng-dev libdb-dev libedit-dev libjson-perl libldap2-dev libncurses5-dev libperl4-corelibs-perl libsqlite3-dev pkg-config python ss-dev texinfo unzip netbase; fi
-    - if [ $TRAVIS_OS_NAME = osx ]; then brew update; fi
-    - if [ $TRAVIS_OS_NAME = osx ]; then brew install cpanm bison flex berkeley-db lmdb openldap openssl; fi
+    - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install -qq bison comerr-dev flex libcap-ng-dev libdb-dev libedit-dev libjson-perl libldap2-dev libncurses5-dev libperl4-corelibs-perl libsqlite3-dev libkeyutils-dev pkg-config python ss-dev texinfo unzip netbase keyutils; fi
+    - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install -qq ldap-utils gdb apport; fi
+    - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install -qq curl libmicrohttpd-dev; fi
+    - if [ $TRAVIS_OS_NAME = linux -a -n "$COVERAGE" ]; then sudo apt-get install -qq jq; fi
+    - if [ $TRAVIS_OS_NAME = osx ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install cpanm bison flex berkeley-db lmdb openldap openssl; fi
     - if [ $TRAVIS_OS_NAME = osx ]; then sudo cpanm install JSON; fi
+    - if [ $TRAVIS_OS_NAME = osx -a -n "$COVERAGE" ]; then brew install jq; fi
     - mkdir ci-build
     - mkdir coverity-build
     - ./autogen.sh
 
 install:
     - cd ci-build
-    - if [ -n "$COVERAGE" ]; then pip install --user cpp-coveralls; fi
     - |
       if [ $TRAVIS_OS_NAME = osx ]; then
           LDFLAGS="-L/usr/local/opt/berkeley-db/lib -L/usr/local/opt/lmdb/lib" \
           CFLAGS="-I/usr/local/opt/lmdb/include" \
-          ../configure --prefix=/tmp/heimdal \
+          ../configure \
+                  --srcdir=`dirname "$PWD"` \
+                  --prefix=/tmp/heimdal \
+                  --enable-maintainer-mode $COVERAGE \
                   --enable-static=no \
                   --enable-pthread-support \
                   --disable-afs-support \
@@ -36,36 +41,39 @@ install:
                   --with-berkeley-db \
                   --with-berkeley-db-include=/usr/local/opt/berkeley-db/include
       else
-          ../configure --enable-maintainer-mode $COVERAGE
+          # This list of -Wno-error options should be reduced over time where possible
+          if [ x"$TRAVIS_COMPILER" != x"clang" ]; then
+              CFLAGS="-Wno-error=empty-body -Wno-error=shadow -Wno-error=unused-value -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations" ../configure --enable-developer --srcdir=`dirname "$PWD"` --enable-maintainer-mode $COVERAGE
+          else
+              CFLAGS="-Wno-error=shadow -Wno-error=bad-function-cast -Wno-error=unused-function -Wno-error=unused-result -Wno-error=deprecated-declarations" ../configure --enable-developer --srcdir=`dirname "$PWD"` --enable-maintainer-mode $COVERAGE
+          fi
       fi
-    - make -j3
+    - ulimit -c unlimited; make -j3
 
 script:
-    - if [ x${COVERITY_SCAN_BRANCH} != x1 ]; then make check; fi
+    - if [ x${COVERITY_SCAN_BRANCH} != x1 ]; then ulimit -c unlimited; make check${MAKE_CHECK_SUFFIX}; fi
 
 after_script:
-    - if [ -n "$COVERAGE" ]; then coveralls --gcov-options; fi
+    - if [ -n "$COVERAGE" ]; then ../tools/coveralls-tool -O $PWD -S ..; fi
+    - find . -name \*.log -print0|xargs -0 grep '^==[1-9]'
+
+after_failure:
+    - find . -name test-suite.log -print0 | xargs -0 cat
+    - if [ $TRAVIS_OS_NAME = linux ]; then echo "thread apply all bt" > x; find . -name core -print | while read core; do gdb -batch -x x `file "$core"|sed -e "s/^[^']*'//" -e "s/[ '].*$//"` "$core"; done; fi
+    - if [ $TRAVIS_OS_NAME = osx ]; then find . -name core -print | while read core; do echo bt | lldb --core "$core" `file "$core"|sed -e "s/^[^']*'//" -e "s/[ '].*$//"` "$core"; done; fi
 
 compiler:
     - clang
     - gcc
 
 matrix:
-    # Don't build on OS X with gcc
+    include:
+      - os: linux
+        compiler: gcc
+        env: COVERAGE=--enable-gcov
     exclude:
       - os: osx
         compiler: gcc
-    # Add a gcov build (XXX not yet; allows_failures doesn't match
-    # explicitly included rows)
-    #include:
-    #    - compiler: gcc
-    #      env: COVERAGE="--enable-gcov"
-    #      os: linux
-    # The gcov build is not working quite yet
-    #allow_failures:
-    #    compiler: gcc
-    #    env: COVERAGE="--enable-gcov"
-    #    os: linux
 
 notifications:
     email: