summaryrefslogtreecommitdiff
path: root/.travis.compiler.sh
diff options
context:
space:
mode:
authorDaniel Black <grooverdan@users.sourceforge.net>2017-04-10 19:11:01 +1000
committerSergey Vojtovich <svoj@mariadb.org>2017-04-10 22:36:21 -0400
commiteecce3d7c8a6374342ed7d0cd8844420d8957682 (patch)
tree0eed5c339fa4c11db44772e677d7b112a758fab2 /.travis.compiler.sh
parentc7319cf3d51c923a7eeb8bcdd623c36d8b2fe3c8 (diff)
downloadmariadb-git-eecce3d7c8a6374342ed7d0cd8844420d8957682.tar.gz
Travis: Test more suites, latest OSX
Remove clang-3.8 which doesn't have a repository on apt.llvm.org any more. For OSX, xcode8.3 is explicitly specified. /usr/local/Cellar is used as a cache repository to save brew install time on OSX (and /usr/local was too big). Debian autobake.sh is moved to a matrix include. Other branches of the matrix build test other test suites. An Ubuntu galera is downloaded and used in the test suite. TYPE=RelWithDebInfo used with the test to provide backtraces with line numbers when crashes occur. Build of PLUGIN_AWS_KEY_MANAGEMENT enabled in build. Code supporting TYPE=Debug and -DWITH_ASAN=ON included by not enabled due to large numbers of errors. Running more tests in parallel (6) as container based builds seem to support them. The test case timeout has been set to 2 minutes as large stalls will put test cases over 50 minute interval. ccache enabled where possible. Linux clang builds don't use them as the minimum CMake version isn't there.
Diffstat (limited to '.travis.compiler.sh')
-rwxr-xr-x.travis.compiler.sh53
1 files changed, 42 insertions, 11 deletions
diff --git a/.travis.compiler.sh b/.travis.compiler.sh
index 8ff13e834b5..35e79e177ef 100755
--- a/.travis.compiler.sh
+++ b/.travis.compiler.sh
@@ -1,15 +1,46 @@
#!/bin/sh
-if [[ "${TRAVIS_OS_NAME}" == 'linux' && "${CXX}" == 'clang++' ]]; then
- case ${GCC_VERSION} in
- 4.8) MYSQL_BUILD_CXX=clang++-3.8;;
- 5) MYSQL_BUILD_CXX=clang++-3.9;;
- 6) MYSQL_BUILD_CXX=clang++-4.0;;
- esac
- export MYSQL_BUILD_CXX MYSQL_BUILD_CC=${MYSQL_BUILD_CXX/++/} MYSQL_COMPILER_LAUNCHER=ccache
-elif [[ "${TRAVIS_OS_NAME}" == 'linux' && "${CXX}" == 'g++' ]]; then
- export MYSQL_BUILD_CXX=g++-${GCC_VERSION};
- export MYSQL_BUILD_CC=gcc-${GCC_VERSION}
+set -v -x
+if [[ "${TRAVIS_OS_NAME}" == 'linux' ]]; then
+ if [[ "${CXX}" == 'clang++' ]]; then
+ CMAKE_OPT="-DWITHOUT_TOKUDB_STORAGE_ENGINE=ON -DWITHOUT_MROONGA_STORAGE_ENGINE=ON"
+ #CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
+ if which ccache ; then
+ CMAKE_OPT="${CMAKE_OPT} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
+ fi
+ case ${GCC_VERSION} in
+ 5) CXX=clang++-3.9 ;;
+ 6) CXX=clang++-4.0 ;;
+ esac
+ export CXX CC=${CXX/++/}
+ elif [[ "${CXX}" == 'g++' ]]; then
+ CMAKE_OPT=""
+ export CXX=g++-${GCC_VERSION}
+ export CC=gcc-${GCC_VERSION}
+ fi
+ if [[ ${GCC_VERSION} == 6 ]]; then
+ wget http://mirrors.kernel.org/ubuntu/pool/universe/p/percona-xtradb-cluster-galera-2.x/percona-xtradb-cluster-galera-2.x_165-0ubuntu1_amd64.deb ;
+ ar vx percona-xtradb-cluster-galera-2.x_165-0ubuntu1_amd64.deb
+ tar -xJvf data.tar.xz
+ export WSREP_PROVIDER=$PWD/usr/lib/libgalera_smm.so
+ MYSQL_TEST_SUITES="${MYSQL_TEST_SUITES},wsrep"
+ #elif [[ ${GCC_VERSION} != 5 ]]; then
+ #CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
+ fi
+else
+ # osx_image based tests
+ CMAKE_OPT="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
+ #CMAKE_OPT="${CMAKE_OPT} -DWITH_ASAN=ON"
+ if which ccache ; then
+ CMAKE_OPT="${CMAKE_OPT} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
+ fi
+ CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_MROONGA_STORAGE_ENGINE=ON"
+ if [[ "${TYPE}" == "Debug" ]]; then
+ CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON"
+ fi
fi
+
# main.mysqlhotcopy_myisam consitently failed in travis containers
# https://travis-ci.org/grooverdan/mariadb-server/builds/217661580
-echo 'main.mysqlhotcopy_myisam : unstable in containers' | tee -a debian/unstable-tests.amd64
+echo 'main.mysqlhotcopy_myisam : unstable in containers' >> ${TRAVIS_BUILD_DIR}/mysql-test/unstable-tests
+echo 'archive.mysqlhotcopy_archive : unstable in containers' >> ${TRAVIS_BUILD_DIR}/mysql-test/unstable-tests
+set +v +x