aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml84
1 files changed, 73 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml
index 6f4f928bc..7069e1ed6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,24 +1,86 @@
-os:
- - linux
- - osx
-
+language: c
sudo: false
+addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-precise-3.7
+ packages:
+ - cmake
+ - gcc-4.8
+ - lcov
+ - clang-3.7
+ - valgrind
-language: c
+matrix:
+ include:
+ - os: linux
+ compiler: gcc
+ env: BUILD_TYPE=normal
+ - os: linux
+ compiler: clang
+ env: BUILD_TYPE=normal
+ - os: osx
+ compiler: gcc
+ env: BUILD_TYPE=normal
+ - os: osx
+ compiler: clang
+ env: BUILD_TYPE=normal
+ - os: linux
+ compiler: gcc
+ dist: trusty
+ env: BUILD_TYPE=cmake
+ - os: linux
+ compiler: clang
+ dist: trusty
+ env: BUILD_TYPE=cmake
+ - os: linux
+ compiler: gcc
+ env: BUILD_TYPE=coverage
+ - os: linux
+ compiler: gcc
+ env: BUILD_TYPE=distcheck
install:
+ - pip install --user cpp-coveralls
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl libidn rtmpdump libssh2 c-ares libmetalink libressl nghttp2; fi
before_script:
- - ./buildconf
-
-script: ./configure --enable-debug && make && make test-nonflaky
+ - ./buildconf
-compiler:
- - clang
- - gcc
+script:
+ - |
+ if [ "$BUILD_TYPE" = "coverage" ]; then
+ export CC="gcc-4.8"
+ ./configure --enable-debug --disable-shared --enable-code-coverage
+ make
+ make TFLAGS=-n test-nonflaky
+ make "TFLAGS=-n -e 1 2 3 4 5 6 7 8 9 10" test-nonflaky
+ make "TFLAGS=-n -t 1 2 3 4 5 6 7 8 9 10" test-nonflaky
+ coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp' -i src -i lib -i lib/vtls -i lib/vauth -e tests -e docs
+ fi
+ - |
+ if [ "$BUILD_TYPE" = "normal" ]; then
+ ./configure --enable-debug
+ make
+ make TFLAGS=-n test-nonflaky
+ fi
+ - |
+ if [ "$BUILD_TYPE" = "cmake" ]; then
+ mkdir build
+ cd build
+ cmake ..
+ make
+ fi
+ - |
+ if [ "$BUILD_TYPE" = "distcheck" ]; then
+ ./configure
+ make
+ ./maketgz 99.98.97
+ tar xvf curl-99.98.97.tar.gz && cd curl-99.98.97 && ./configure && make && make TFLAGS=1 test
+ fi
notifications:
email: false