Skip to content

Commit 88184d1

Browse files
committed
run valgrind in Travis CI
Because this runs apt-get, it will not work as-is for OSX. So when we have OSX in Travis, we will have to wrap this somehow. See open-source-parsers#250. Closes open-source-parsers#222.
1 parent ae177fd commit 88184d1

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

.travis.yml

+10-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@
22
# http://about.travis-ci.org/docs/user/build-configuration/
33
# This file can be validated on:
44
# http://lint.travis-ci.org/
5-
before_install: sudo apt-get install cmake
5+
6+
#before_install: sudo apt-get install -y cmake
7+
# cmake is pre-installed in Travis for both linux and osx
8+
9+
before_install:
10+
- sudo apt-get update -qq
11+
- sudo apt-get install -qq valgrind
12+
os:
13+
- linux
614
language: cpp
715
compiler:
816
- gcc
917
- clang
10-
script: cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . && make && make jsoncpp_check
18+
script: ./travis.sh
1119
env:
1220
matrix:
1321
- SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false

dev.makefile

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ test-amalgamate:
2626
python3.4 amalgamate.py
2727
cd dist; gcc -I. -c jsoncpp.cpp
2828

29+
valgrind:
30+
valgrind --error-exitcode=42 --leak-check=full ./build/debug/src/test_lib_json/jsoncpp_test
31+
2932
clean:
3033
\rm -rf *.gz *.asc dist/
3134

travis.sh

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env sh
2+
# This is called by `.travis.yml` via Travis CI.
3+
# Travis supplies $TRAVIS_OS_NAME.
4+
# http://docs.travis-ci.com/user/multi-os/
5+
# Our .travis.yml also defines:
6+
# - SHARED_LIB=ON/OFF
7+
# - STATIC_LIB=ON/OFF
8+
# - CMAKE_PKG=ON/OFF
9+
# - BUILD_TYPE=release/debug
10+
# - VERBOSE_MAKE=false/true
11+
# - VERBOSE (set or not)
12+
13+
# -e: fail on error
14+
# -v: show commands
15+
# -x: show expanded commands
16+
set -vex
17+
18+
env | sort
19+
20+
cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE .
21+
make
22+
23+
# Python is not available in Travis for osx.
24+
# https://github.com/travis-ci/travis-ci/issues/2320
25+
if [ "$TRAVIS_OS_NAME" != "osx" ]
26+
then
27+
make jsoncpp_check
28+
valgrind --error-exitcode=42 --leak-check=full ./src/test_lib_json/jsoncpp_test
29+
fi

0 commit comments

Comments
 (0)