7a930005ad
1, Remove simple test just with --strict-warnings enabled. 2, Share the three common envs with amd64. 3, Add matrix item running test in bionic(default xenial) for arm64. 4, Enable MSan test on arm64 for extended test. 5, Enable UBSan test on arm64 for extended test. Change-Id: Ic1f2c5e39ee6fbafed6ede74a925301121463520 Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10519) (cherry picked from commit 77fedcdc8cf5446354a1e7ff9123d8ada5b79b06)
310 lines
12 KiB
YAML
310 lines
12 KiB
YAML
dist: trusty
|
|
sudo: required
|
|
|
|
osx_image: xcode9.3
|
|
|
|
language: c
|
|
cache: ccache
|
|
git:
|
|
submodules: false
|
|
quiet: true
|
|
|
|
before_install:
|
|
- if [ -n "$COVERALLS" ]; then
|
|
pip install --user cpp-coveralls;
|
|
fi;
|
|
- if expr "$CONFIG_OPTS" ":" ".*enable-external-tests" > /dev/null; then
|
|
git submodule update --init --recursive;
|
|
fi;
|
|
- eval "${MATRIX_EVAL}"
|
|
|
|
arch:
|
|
- amd64
|
|
- arm64
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
|
|
env:
|
|
- CONFIG_OPTS="" DESTDIR="_install"
|
|
- CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2"
|
|
- CONFIG_OPTS="no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE" BUILDONLY="yes" CHECKDOCS="yes" GENERATE="yes" CPPFLAGS="-ansi"
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
arch: arm64
|
|
dist: bionic
|
|
compiler: clang
|
|
env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES no-deprecated" BUILDONLY="yes"
|
|
- os: linux
|
|
arch: arm64
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-6.0
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan disable-afalgeng -D__NO_STRING_INLINES -Wno-unused-command-line-argument" MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
|
|
- os: linux
|
|
arch: arm64
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-6.0
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg no-shared enable-buildtest-c++ -fno-sanitize=alignment -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument" MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
|
|
- os: linux
|
|
arch: s390x
|
|
compiler: gcc
|
|
env: CONFIG_OPTS="--strict-warnings"
|
|
- os: linux-ppc64le
|
|
sudo: false
|
|
compiler: clang
|
|
env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: CONFIG_OPTS="--strict-warnings" COMMENT="Move to the BORINGTEST build when interoperable"
|
|
- os: linux
|
|
compiler: clang
|
|
env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES no-deprecated"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: i686-w64-mingw32-gcc
|
|
env: CONFIG_OPTS="no-stdio" BUILDONLY="yes"
|
|
# Uncomment if there is reason to believe that PPC-specific problem
|
|
# can be diagnosed with this possibly >30 mins sanitizer build...
|
|
#- os: linux-ppc64le
|
|
# sudo: false
|
|
# compiler: gcc
|
|
# env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-ubsan no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
- golang-1.6
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-nextprotoneg enable-weak-ssl-ciphers no-shared -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" COVERALLS="yes" BORINGSSL_TESTS="yes" CXX="g++-5"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
- golang-1.6
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-external-tests" BORINGSSL_TESTS="yes" CXX="g++-5" TESTS=95
|
|
- os: linux
|
|
compiler: clang
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan -D__NO_STRING_INLINES -Wno-unused-command-line-argument"
|
|
- os: linux
|
|
compiler: clang
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg no-shared -fno-sanitize=alignment -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument"
|
|
- os: linux
|
|
compiler: clang
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2 no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- gcc-5
|
|
- g++-5
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
compiler: gcc-5
|
|
env: UBUNTU_GCC_HACK="yes" EXTENDED_TEST="yes" CONFIG_OPTS="--debug no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC" OPENSSL_TEST_RAND_ORDER=0
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: i686-w64-mingw32-gcc
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic"
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-mingw-w64
|
|
- gcc-mingw-w64
|
|
compiler: x86_64-w64-mingw32-gcc
|
|
env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic"
|
|
- os: linux
|
|
language: python
|
|
python: 3.7
|
|
dist: xenial # required for Python 3.7 (travis-ci/travis-ci#9069)
|
|
sudo: required # required for Python 3.7 (travis-ci/travis-ci#9069)
|
|
install: pip install flake8
|
|
before_script:
|
|
# stop the build if there are Python syntax errors or undefined names
|
|
- flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
|
|
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
- flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
script: true
|
|
- os: linux
|
|
compiler: gcc
|
|
env: EXTENDED_TEST="yes" CONFIGURE_TARGET="linux-generic32" CONFIG_OPTS="--strict-warnings no-shared no-dso no-pic no-autoload-config no-engine no-comp no-cms no-dh no-dsa no-ec2m no-srp no-des no-mdc2 no-md4 no-rc2 no-rc4 no-bf no-camellia no-cast no-idea no-seed no-whirlpool no-ocsp no-sm2 no-sm3 no-sm4 no-ssl3 no-ssl3-method no-psk no-heartbeats no-nextprotoneg no-sctp no-srtp no-asm -DOPENSSL_SMALL_FOOTPRINT"
|
|
exclude:
|
|
- os: linux
|
|
compiler: clang
|
|
- os: osx
|
|
compiler: gcc
|
|
- arch: arm64
|
|
os: osx
|
|
|
|
before_script:
|
|
- env
|
|
- if [ "$TRAVIS_PULL_REQUEST" != "false" -a -n "$EXTENDED_TEST" ]; then
|
|
(git log -1 $TRAVIS_COMMIT_RANGE | grep '\[extended tests\]' > /dev/null) || travis_terminate 0;
|
|
fi
|
|
- if [ -n "$DESTDIR" ]; then
|
|
sh .travis-create-release.sh $TRAVIS_OS_NAME;
|
|
tar -xzf _srcdist.tar.gz;
|
|
mkdir _build;
|
|
cd _build;
|
|
srcdir=../_srcdist;
|
|
top=..;
|
|
else
|
|
srcdir=.;
|
|
top=.;
|
|
fi
|
|
- if [ -n "$UBUNTU_GCC_HACK" ]; then
|
|
$CC -dumpspecs | sed "s/--push-state//g; s/--pop-state/--as-needed/g" > gcc-specs.txt;
|
|
CC="$CC -specs=gcc-specs.txt";
|
|
fi
|
|
- if [ "$CC" = i686-w64-mingw32-gcc ]; then
|
|
export CROSS_COMPILE=${CC%%gcc}; unset CC;
|
|
$srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
|
|
elif [ "$CC" = x86_64-w64-mingw32-gcc ]; then
|
|
export CROSS_COMPILE=${CC%%gcc}; unset CC;
|
|
$srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
|
|
else
|
|
if [ "$CC" = clang-3.9 ]; then
|
|
sudo cp .travis-apt-pin.preferences /etc/apt/preferences.d/no-ubuntu-clang;
|
|
curl -sSL "http://apt.llvm.org/llvm-snapshot.gpg.key" | sudo -E apt-key add -;
|
|
echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.9 main" | sudo tee -a /etc/apt/sources.list > /dev/null;
|
|
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test";
|
|
sudo -E apt-get -yq update;
|
|
sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install clang-3.9;
|
|
elif which ccache >/dev/null; then
|
|
CC="ccache $CC";
|
|
fi;
|
|
if [ -n "$CONFIGURE_TARGET" ]; then
|
|
$srcdir/Configure $CONFIGURE_TARGET $CONFIG_OPTS;
|
|
else
|
|
$srcdir/config -v $CONFIG_OPTS;
|
|
fi;
|
|
fi
|
|
- ./configdata.pm --dump
|
|
- cd $top
|
|
|
|
script:
|
|
- if [ -z "$BUILDONLY" ]; then
|
|
make="make -s";
|
|
else
|
|
make="make";
|
|
fi
|
|
- if [ -n "$GENERATE" ]; then
|
|
make2="$make PERL=no-perl";
|
|
else
|
|
make2="$make";
|
|
fi
|
|
- top=${PWD}
|
|
- if [ -n "$DESTDIR" ]; then
|
|
cd _build;
|
|
fi
|
|
- if $make update; then
|
|
echo -e '+\057 MAKE UPDATE OK';
|
|
else
|
|
echo -e '+\057 MAKE UPDATE FAILED';
|
|
travis_terminate 1;
|
|
fi
|
|
- git diff --exit-code
|
|
- if [ -n "$CHECKDOCS" ]; then
|
|
if $make doc-nits; then
|
|
echo -e '+\057\057 MAKE DOC-NITS OK';
|
|
else
|
|
echo -e '+\057\057 MAKE DOC-NITS FAILED';
|
|
travis_terminate 1;
|
|
fi;
|
|
fi
|
|
- if [ -n "$GENERATE" ]; then
|
|
if $make build_all_generated; then
|
|
echo -e '+\057\057\057 MAKE BUILD_ALL_GENERATED OK';
|
|
else
|
|
echo -e '+\057\057\057 MAKE BUILD_ALL_GENERATED FAILED';
|
|
travis_terminate 1;
|
|
fi;
|
|
fi
|
|
- if $make2; then
|
|
echo -e '+\057\057\057\057 MAKE OK';
|
|
else
|
|
echo -e '+\057\057\057\057 MAKE FAILED';
|
|
travis_terminate 1;
|
|
fi;
|
|
- if [ -z "$BUILDONLY" ]; then
|
|
if [ -n "$CROSS_COMPILE" ]; then
|
|
sudo dpkg --add-architecture i386;
|
|
sudo apt-get update;
|
|
sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install wine;
|
|
export EXE_SHELL="wine" WINEPREFIX=`pwd`;
|
|
fi;
|
|
if [ -e krb5/src ]; then
|
|
sudo apt-get -yq install bison dejagnu gettext keyutils ldap-utils libldap2-dev libkeyutils-dev python-cjson python-paste python-pyrad slapd tcl-dev tcsh;
|
|
fi;
|
|
if HARNESS_VERBOSE=yes BORING_RUNNER_DIR=$top/boringssl/ssl/test/runner make test; then
|
|
echo -e '+\057\057\057\057\057 MAKE TEST OK';
|
|
else
|
|
echo -e '+\057\057\057\057\057 MAKE TEST FAILED';
|
|
travis_terminate 1;
|
|
fi;
|
|
else
|
|
if $make build_tests >~/build.log 2>&1; then
|
|
echo -e '+\057\057\057\057\057\057 MAKE BUILD_TESTS OK';
|
|
else
|
|
echo -e '+\057\057\057\057\057\057 MAKE BUILD_TESTS FAILED';
|
|
cat ~/build.log
|
|
travis_terminate 1;
|
|
fi;
|
|
fi
|
|
- if [ -n "$DESTDIR" ]; then
|
|
mkdir "$top/$DESTDIR";
|
|
if $make install DESTDIR="$top/$DESTDIR" >~/install.log 2>&1 ; then
|
|
echo -e '+\057\057\057\057\057\057\057 MAKE INSTALL OK';
|
|
else
|
|
echo -e '+\057\057\057\057\057\057\057 MAKE INSTALL FAILED';
|
|
cat ~/install.log;
|
|
travis_terminate 1;
|
|
fi;
|
|
fi
|
|
- cd $top
|
|
|
|
after_success:
|
|
- if [ -n "$COVERALLS" ]; then
|
|
coveralls -b . --gcov gcov-5 --gcov-options '\-lpbc';
|
|
fi;
|
|
|
|
notifications:
|
|
email:
|
|
secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4="
|