openssl/.travis.yml
Alessandro Ghedini c880b3e314 Add Travis builds with undefined behavior sanitizer
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-11-21 14:19:40 +01:00

85 lines
2.2 KiB
YAML

language: c
addons:
apt:
packages:
- clang-3.6
- gcc-5
- binutils-mingw-w64
- gcc-mingw-w64
- wine
sources:
- llvm-toolchain-precise-3.6
- ubuntu-toolchain-r-test
os:
- linux
- osx
compiler:
- clang
- clang-3.6
- gcc
- gcc-5
- i686-w64-mingw32-gcc
- x86_64-w64-mingw32-gcc
env:
- CONFIG_OPTS=""
- CONFIG_OPTS="shared"
- CONFIG_OPTS="--debug --strict-warnings"
matrix:
include:
- os: linux
compiler: clang-3.6
env: CONFIG_OPTS="-fsanitize=address"
- os: linux
compiler: clang-3.6
env: CONFIG_OPTS="no-asm --debug --strict-warnings -fno-sanitize-recover -fsanitize=address -fsanitize=undefined"
- os: linux
compiler: gcc-5
env: CONFIG_OPTS="-fsanitize=address"
- os: linux
compiler: gcc-5
env: CONFIG_OPTS="no-asm --debug --strict-warnings -fno-sanitize-recover -fsanitize=address -fsanitize=undefined"
exclude:
- os: osx
compiler: clang-3.6
- os: osx
compiler: gcc-5
- os: osx
compiler: i686-w64-mingw32-gcc
- os: osx
compiler: x86_64-w64-mingw32-gcc
- compiler: i686-w64-mingw32-gcc
env: CONFIG_OPTS="shared"
- compiler: x86_64-w64-mingw32-gcc
env: CONFIG_OPTS="shared"
allow_failures:
- compiler: i686-w64-mingw32-gcc
env: CONFIG_OPTS="--debug --strict-warnings"
- compiler: x86_64-w64-mingw32-gcc
env: CONFIG_OPTS="--debug --strict-warnings"
before_script:
- if [ "$CC" == i686-w64-mingw32-gcc ]; then
export CROSS_COMPILE=${CC%%gcc}; unset CC;
./Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
export CROSS_COMPILE=${CC%%gcc}; unset CC;
./Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
else
./config $CONFIG_OPTS;
fi
script:
- make
- if [ -n "$CROSS_COMPILE" ]; then
export EXE_SHELL="wine" WINEPREFIX=`pwd`;
fi
- make test
notifications:
email:
- openssl-commits@openssl.org