mirror of
https://frontier.innolan.net/rainlance/c-ares.git
synced 2025-10-05 09:59:38 +00:00
Do a quick execution of each of the command line tools in the continuous integration build, so that any (say) sanitizer failures show up.
103 lines
3.2 KiB
YAML
103 lines
3.2 KiB
YAML
language: c++
|
|
sudo: false
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.8
|
|
- g++-4.8
|
|
- lcov
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
env: BUILD_TYPE=normal
|
|
- os: linux
|
|
compiler: clang
|
|
env: BUILD_TYPE=normal
|
|
- os: linux
|
|
compiler: gcc
|
|
env: BUILD_TYPE=coverage
|
|
- os: linux
|
|
compiler: clang
|
|
env: BUILD_TYPE=ubsan
|
|
- os: linux
|
|
compiler: clang
|
|
env: BUILD_TYPE=asan
|
|
- os: linux
|
|
compiler: clang
|
|
env: BUILD_TYPE=lsan
|
|
# - os: linux
|
|
# compiler: clang
|
|
# env: BUILD_TYPE=analyse
|
|
- os: osx
|
|
compiler: gcc
|
|
env: BUILD_TYPE=normal
|
|
- os: osx
|
|
compiler: clang
|
|
env: BUILD_TYPE=normal
|
|
- os: osx
|
|
compiler: clang
|
|
language: objective-c
|
|
env: BUILD_TYPE=ios
|
|
install:
|
|
- pip install --user 'requests[security]<2.9.1'
|
|
- pip install --user cpp-coveralls
|
|
before_script:
|
|
- |
|
|
if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ]; then
|
|
export CXX="g++-4.8"
|
|
export CC="gcc-4.8"
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "coverage" ]; then
|
|
export CONFIG_OPTS="--enable-debug --disable-shared --enable-code-coverage"
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "asan" ]; then
|
|
export CONFIG_OPTS=--enable-debug
|
|
export CFLAGS=-fsanitize=address
|
|
export CXXFLAGS=-fsanitize=address
|
|
export LDFLAGS=-fsanitize=address
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "lsan" ]; then
|
|
export CONFIG_OPTS=--enable-debug
|
|
export CFLAGS=-fsanitize=leak
|
|
export CXXFLAGS=-fsanitize=leak
|
|
export LDFLAGS=-fsanitize=leak
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "ubsan" ]; then
|
|
export CFLAGS="-fsanitize=undefined -fno-sanitize-recover"
|
|
export LDFLAGS="-fsanitize=undefined"
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "analyse" ]; then
|
|
export SCAN_WRAP="scan-build"
|
|
export CONFIG_OPTS="--enable-debug"
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "ios" ]; then
|
|
export CONFIG_OPTS=--host=arm-apple-darwin10
|
|
export DEVPATH=`xcode-select -print-path`/Platforms/iPhoneOS.platform/Developer
|
|
export IOSFLAGS="-isysroot $DEVPATH/SDKs/iPhoneOS.sdk -arch armv7 -miphoneos-version-min=8.0.0"
|
|
export CFLAGS=$IOSFLAGS
|
|
export CXXFLAGS=$IOSFLAGS
|
|
export LDFLAGS=$IOSFLAGS
|
|
fi
|
|
script:
|
|
- ./buildconf && $SCAN_WRAP ./configure --disable-symbol-hiding --enable-expose-statics --enable-maintainer-mode --enable-debug $CONFIG_OPTS && $SCAN_WRAP make
|
|
- |
|
|
if [ "$BUILD_TYPE" != "ios" ]; then
|
|
./adig www.google.com
|
|
./acountry www.google.com
|
|
./ahost www.google.com
|
|
cd test && autoreconf -iv && ./configure $CONFIG_OPTS && make && ./arestest -v && cd ..
|
|
fi
|
|
- |
|
|
if [ "$BUILD_TYPE" = "coverage" ]; then
|
|
coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp'
|
|
fi
|