From 4ed173fc891a1130952a0dfc5e529c716d672d5e Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Tue, 12 Aug 2014 09:51:33 +0200 Subject: [PATCH 1/3] .travis.yml: enable 32-bit builds As Ubuntu supports running 32-bit executables based on its multiarch setup, we can enable the tests on 32-bit configurations as well. Currently, valgrind fails for 32-bit executables on the 64-bit host. This requires some more investigation. --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2aab9a8..179acca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,18 +6,18 @@ compiler: env: matrix: - - CONF=debug - - CONF=release + - CONF=debug BITS=64 + - CONF=release BITS=64 + - CONF=debug BITS=32 + - CONF=release BITS=32 global: - GITHUB_REPO='miloyip/rapidjson' - # prepare for 32/64 bit multi-arch support - - BITS=64 - secure: "HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk=" before_install: - sudo add-apt-repository -y ppa:codegear/release - sudo apt-get update -qq - - sudo apt-get install -y premake4 valgrind + - sudo apt-get install -qq premake4 valgrind g++-multilib install: true @@ -29,7 +29,7 @@ script: - make -C build/gmake -f example.make config=${CONF}${BITS} - pushd bin - ./unittest_${CONF}_x${BITS}_gmake - - valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake + - if [ "$BITS" = 64 ]; then valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake; fi - if [ "$CONF" = "release" ]; then ./perftest_${CONF}_x${BITS}_gmake; fi - popd - ./build/travis-doxygen.sh; From fa3996ea1ddb9bc524ac24d66d3ed3e63c179354 Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Tue, 12 Aug 2014 15:44:45 +0200 Subject: [PATCH 2/3] .travis.yml: install libc6-dbg:i386 to run valgrind on 32-bit --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 179acca..d3c02bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ env: before_install: - sudo add-apt-repository -y ppa:codegear/release - sudo apt-get update -qq - - sudo apt-get install -qq premake4 valgrind g++-multilib + - sudo apt-get install -qq premake4 valgrind g++-multilib libc6-dbg:i386 install: true @@ -29,7 +29,7 @@ script: - make -C build/gmake -f example.make config=${CONF}${BITS} - pushd bin - ./unittest_${CONF}_x${BITS}_gmake - - if [ "$BITS" = 64 ]; then valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake; fi + - valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake - if [ "$CONF" = "release" ]; then ./perftest_${CONF}_x${BITS}_gmake; fi - popd - ./build/travis-doxygen.sh; From e6139299f3e76035b786d0671234c544082d8d14 Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Tue, 12 Aug 2014 15:57:47 +0200 Subject: [PATCH 3/3] .travis.yml: add g++-multilib/libc6-dbg:i386 only on BITS=32 --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d3c02bc..cc98e3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,8 @@ env: before_install: - sudo add-apt-repository -y ppa:codegear/release - sudo apt-get update -qq - - sudo apt-get install -qq premake4 valgrind g++-multilib libc6-dbg:i386 + - sudo apt-get install -qq premake4 valgrind + - if [ "$BITS" = 32 ]; then sudo apt-get install -qq g++-multilib libc6-dbg:i386; fi install: true