Fix valgrind run on Travis CI by updating path to executables

They are now produced in a bin/ subfolder
This commit is contained in:
Sébastien Rombauts 2023-08-29 08:22:13 +02:00
parent e2f80ec992
commit b657c5f861

View File

@ -1,136 +1,136 @@
# Copyright (c) 2012-2023 Sebastien Rombauts (sebastien.rombauts@gmail.com) # Copyright (c) 2012-2023 Sebastien Rombauts (sebastien.rombauts@gmail.com)
language: cpp language: cpp
# Use Linux unless specified otherwise # Use Linux unless specified otherwise
os: linux os: linux
cache: cache:
apt: true apt: true
env: env:
global: global:
- BUILD_TYPE=Debug - BUILD_TYPE=Debug
- ASAN=ON - ASAN=ON
- INTERNAL_SQLITE=ON - INTERNAL_SQLITE=ON
- VALGRIND=OFF - VALGRIND=OFF
# Build variants (should test a reasonable number of combination of CMake options) # Build variants (should test a reasonable number of combination of CMake options)
jobs: jobs:
include: include:
########################################################################## ##########################################################################
# GCC on Linux # GCC on Linux
########################################################################## ##########################################################################
# Coverity static code analysis # Coverity static code analysis
- dist: bionic - dist: bionic
env: env:
- COVERITY_SCAN_PROJECT_NAME=SRombauts/SQLiteCpp - COVERITY_SCAN_PROJECT_NAME=SRombauts/SQLiteCpp
- COVERITY_SCAN_BRANCH_PATTERN=master - COVERITY_SCAN_BRANCH_PATTERN=master
- COVERITY_SCAN_NOTIFICATION_EMAIL=sebastien.rombauts@gmail.com - COVERITY_SCAN_NOTIFICATION_EMAIL=sebastien.rombauts@gmail.com
- COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake ." - COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake ."
- COVERITY_SCAN_BUILD_COMMAND="make -j8" - COVERITY_SCAN_BUILD_COMMAND="make -j8"
# Encrypted COVERITY_SCAN_TOKEN, created via the "travis encrypt" command using the project repo's public key # Encrypted COVERITY_SCAN_TOKEN, created via the "travis encrypt" command using the project repo's public key
- secure: "Qm4d8NEDPBtYZCYav46uPEvDCtaRsjLXlkVS+C+WCJAPcwXCGkrr96wEi7RWcq2xD86QCh0XiqaPT+xdUmlohOYIovRhaaBmZ1lwIJ4GsG/ZR6xoFr3DYsZ3o4GyXk2vNXNxEl82AC+Xs6e6gkLOV9XRkBcjpVIvoIXgNlKWeGY=" - secure: "Qm4d8NEDPBtYZCYav46uPEvDCtaRsjLXlkVS+C+WCJAPcwXCGkrr96wEi7RWcq2xD86QCh0XiqaPT+xdUmlohOYIovRhaaBmZ1lwIJ4GsG/ZR6xoFr3DYsZ3o4GyXk2vNXNxEl82AC+Xs6e6gkLOV9XRkBcjpVIvoIXgNlKWeGY="
# GCC 7.4.0 Debug build with GCov for coverage build # GCC 7.4.0 Debug build with GCov for coverage build
- dist: bionic - dist: bionic
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
- GCOV=ON - GCOV=ON
- COVERALLS=true - COVERALLS=true
# GCC 7.4.0 Debug build with Valgrind instead of Address Sanitizer # GCC 7.4.0 Debug build with Valgrind instead of Address Sanitizer
- dist: bionic - dist: bionic
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
- ASAN=OFF - ASAN=OFF
- VALGRIND=true - VALGRIND=true
# GCC 7.4.0 Release build # GCC 7.4.0 Release build
- dist: bionic - dist: bionic
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
- BUILD_TYPE=Release - BUILD_TYPE=Release
# GCC 7.4.0 test linking with libsqlite3-dev package # GCC 7.4.0 test linking with libsqlite3-dev package
- dist: bionic - dist: bionic
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
- INTERNAL_SQLITE=OFF - INTERNAL_SQLITE=OFF
# GCC 5.4.0 # GCC 5.4.0
- dist: xenial - dist: xenial
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
# GCC 4.8.4 # GCC 4.8.4
- dist: trusty - dist: trusty
env: env:
- cc=gcc cxx=g++ - cc=gcc cxx=g++
########################################################################## ##########################################################################
# Clang on Linux # Clang on Linux
########################################################################## ##########################################################################
# Clang 7.0.0 # Clang 7.0.0
- dist: bionic - dist: bionic
env: env:
- cc=clang cxx=clang++ - cc=clang cxx=clang++
# Clang 7.0.0 # Clang 7.0.0
- dist: xenial - dist: xenial
env: env:
- cc=clang cxx=clang++ - cc=clang cxx=clang++
# Clang 5.0.0 # Clang 5.0.0
- dist: trusty - dist: trusty
env: env:
- cc=clang cxx=clang++ - cc=clang cxx=clang++
########################################################################## ##########################################################################
# Clang on OSX # Clang on OSX
########################################################################## ##########################################################################
# Latest XCode - AppleClang 9.1.0 # Latest XCode - AppleClang 9.1.0
- os: osx - os: osx
env: env:
- cc=clang cxx=clang++ - cc=clang cxx=clang++
# XCode 8.3 - AppleClang 8.1.0 # XCode 8.3 - AppleClang 8.1.0
- os: osx - os: osx
osx_image: xcode8.3 osx_image: xcode8.3
env: env:
- cc=clang cxx=clang++ - cc=clang cxx=clang++
before_install: before_install:
# Coverity: don't use addons.coverity_scan since it run on every job of the build matrix, which waste resources and exhausts quotas # Coverity: don't use addons.coverity_scan since it run on every job of the build matrix, which waste resources and exhausts quotas
# Note: the job dedicated to Coverity need to only run the shell script and then exit (to not try to build and run unit tests etc.) # Note: the job dedicated to Coverity need to only run the shell script and then exit (to not try to build and run unit tests etc.)
- if [[ -n "$COVERITY_SCAN_PROJECT_NAME" ]] ; then curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash ; exit 0 ; fi - if [[ -n "$COVERITY_SCAN_PROJECT_NAME" ]] ; then curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash ; exit 0 ; fi
- if [[ "$INTERNAL_SQLITE" == "OFF" ]]; then sudo apt-get install libsqlite3-dev ; fi - if [[ "$INTERNAL_SQLITE" == "OFF" ]]; then sudo apt-get install libsqlite3-dev ; fi
- if [[ "$VALGRIND" == "true" ]]; then sudo apt-get install valgrind ; fi - if [[ "$VALGRIND" == "true" ]]; then sudo apt-get install valgrind ; fi
- if [[ "$COVERALLS" == "true" ]]; then pip install --user cpp-coveralls ; fi - if [[ "$COVERALLS" == "true" ]]; then pip install --user cpp-coveralls ; fi
# Set the compiler environment variables properly # Set the compiler environment variables properly
- export CC=${cc} - export CC=${cc}
- export CXX=${cxx} - export CXX=${cxx}
# scripts to run before build # scripts to run before build
before_script: before_script:
- mkdir build - mkdir build
- cd build - cd build
- cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSQLITECPP_INTERNAL_SQLITE=$INTERNAL_SQLITE -DSQLITECPP_USE_ASAN=$ASAN -DSQLITECPP_USE_GCOV=$GCOV -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON .. - cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSQLITECPP_INTERNAL_SQLITE=$INTERNAL_SQLITE -DSQLITECPP_USE_ASAN=$ASAN -DSQLITECPP_USE_GCOV=$GCOV -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON ..
# build examples, and run tests (ie make & make test) # build examples, and run tests (ie make & make test)
script: script:
- cmake --build . - cmake --build .
- export ASAN_OPTIONS=verbosity=1:debug=1 - export ASAN_OPTIONS=verbosity=1:debug=1
- ctest --verbose --output-on-failure - ctest --verbose --output-on-failure
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_example1 ; fi - if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 bin/SQLiteCpp_example1 ; fi
- if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 ./SQLiteCpp_tests ; fi - if [[ "$VALGRIND" == "true" ]]; then valgrind --leak-check=full --error-exitcode=1 bin/SQLiteCpp_tests ; fi
# generate and publish GCov coveralls results # generate and publish GCov coveralls results
after_success: after_success:
- if [[ "$COVERALLS" == "true" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi - if [[ "$COVERALLS" == "true" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi