diff --git a/.travis.yml b/.travis.yml index 548757d1..17b9ea1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,12 +33,13 @@ addons: matrix: include: - # gcc coverage (+valgrind,+Autobahn if master or develop) + # gcc coverage - compiler: gcc env: - GCC_VER=5 - VARIANT=coverage - ADDRESS_MODEL=64 + - DO_VALGRIND=false - BUILD_SYSTEM=cmake - PATH=$PWD/cmake/bin:$PATH addons: @@ -56,6 +57,7 @@ matrix: env: - GCC_VER=4.8 - VARIANT=release + - DO_VALGRIND=false - ADDRESS_MODEL=64 addons: apt: @@ -71,6 +73,7 @@ matrix: env: - GCC_VER=6 - VARIANT=release + - DO_VALGRIND=true - ADDRESS_MODEL=64 - BUILD_SYSTEM=cmake - PATH=$PWD/cmake/bin:$PATH @@ -90,6 +93,7 @@ matrix: - GCC_VER=5 - VARIANT=ubasan - CLANG_VER=3.8 + - DO_VALGRIND=false - ADDRESS_MODEL=64 - UBSAN_OPTIONS='print_stacktrace=1' - BUILD_SYSTEM=cmake diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bf9623e..dd3d67a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Version 63: * Use std::to_string instead of lexical_cast * Don't use cached Boost +* Control running with valgrind explicitly -------------------------------------------------------------------------------- diff --git a/scripts/build-and-test.sh b/scripts/build-and-test.sh index 5a274128..c09f13d0 100755 --- a/scripts/build-and-test.sh +++ b/scripts/build-and-test.sh @@ -9,6 +9,8 @@ shopt -s globstar ################################## ENVIRONMENT ################################# +DO_VALGRIND=${DO_VALGRIND:-false} + # If not CI, then set some defaults if [[ "${CI:-}" == "" ]]; then TRAVIS_BRANCH=${TRAVIS_BRANCH:-feature} @@ -140,7 +142,7 @@ if [[ $VARIANT == "coverage" ]]; then lcov --no-external -c -i -d . -o baseline.info > /dev/null # Perform test - if [[ $MAIN_BRANCH == "1" ]]; then + if [[ $MAIN_BRANCH == "1" && "$DO_VALGRIND" = true ]]; then run_tests_with_valgrind # skip slow autobahn tests #run_autobahn_test_suite @@ -164,5 +166,9 @@ if [[ $VARIANT == "coverage" ]]; then # Clean up these stragglers so BOOST_ROOT cache is clean find $BOOST_ROOT/bin.v2 -name "*.gcda" | xargs rm -f else - run_tests_with_debugger + if [[ $MAIN_BRANCH == "1" && "$DO_VALGRIND" = true ]]; then + run_tests_with_valgrind + else + run_tests_with_debugger + fi fi