Skip to content

Commit 9d6ecda

Browse files
committed
Perform memory regression test in Travis/Ubuntu/cmake/g++ build
The CMake build configuration is now set to Debug to obtain usable function call names in the heap trace. As this yields different and larger binaries, ccache is disabled for this stage.
1 parent ac0e05b commit 9d6ecda

File tree

2 files changed

+3759
-6
lines changed

2 files changed

+3759
-6
lines changed

.travis.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,10 @@ jobs:
182182
- CCACHE_CPP2=yes
183183
script: echo "Not running any tests for a debug build."
184184

185-
# cmake build using g++-5
185+
# cmake build using g++-5 + memory regression test
186186
- stage: Test different OS/CXX/Flags
187187
os: linux
188188
compiler: gcc
189-
cache: ccache
190189
env:
191190
- BUILD_SYSTEM=cmake
192191
addons:
@@ -195,14 +194,22 @@ jobs:
195194
- ubuntu-toolchain-r-test
196195
packages:
197196
- g++-5
197+
- valgrind
198198
before_install:
199199
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
200200
install:
201-
- ccache -z
202-
- ccache --max-size=1G
203-
- cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_CXX_COMPILER=/usr/bin/g++-5'
201+
- cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Debug' '-DCMAKE_CXX_COMPILER=/usr/bin/g++-5'
204202
- cmake --build build -- -j4
205-
script: (cd build; ctest -V -L CORE -j2)
203+
env:
204+
- NAME="memory-regression"
205+
script:
206+
- cd build && ctest -V -L CORE -j2
207+
- valgrind --tool=massif --massif-out-file=massif.out
208+
bin/cbmc ../regression/cbmc/address_space_size_limit1/test.c
209+
--no-simplify --unwind 300 --object-bits 8
210+
- if ! ../scripts/memory-test/memory.py
211+
-r ../scripts/memory-test/massif.ref.x86-64 massif.out ; then
212+
echo "Dumping massif.out" ; cat massif.out ; exit 1 ; fi
206213

207214
- stage: Test different OS/CXX/Flags
208215
os: osx

0 commit comments

Comments
 (0)