forked from Mirrorlandia_minetest/minetest
CI: Add memleak checking using valgrind (#5350)
Add a new step to check memleaks on our current unit tests suite
This commit is contained in:
parent
0e27b4b978
commit
9878ce05e7
@ -22,6 +22,10 @@ matrix:
|
||||
- env: PLATFORM=Unix COMPILER=clang
|
||||
compiler: clang
|
||||
os: linux
|
||||
- env: PLATFORM=Unix COMPILER=clang VALGRIND=1
|
||||
compiler: clang
|
||||
os: linux
|
||||
dist: trusty
|
||||
- env: PLATFORM=Unix COMPILER=g++-6
|
||||
compiler: gcc
|
||||
os: linux
|
||||
|
@ -18,6 +18,9 @@ if [[ $PLATFORM == "Unix" ]]; then
|
||||
# Linking to LevelDB is broken, use a custom build
|
||||
wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
|
||||
sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z
|
||||
if [[ "$VALGRIND" == "1" ]]; then
|
||||
sudo apt-get install valgrind
|
||||
fi
|
||||
else
|
||||
brew update
|
||||
brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit
|
||||
|
@ -24,8 +24,15 @@ if [[ $PLATFORM == "Unix" ]]; then
|
||||
-DBUILD_SERVER=TRUE \
|
||||
$CMAKE_FLAGS ..
|
||||
make -j2
|
||||
|
||||
echo "Running unit tests."
|
||||
../bin/minetest --run-unittests && exit 0
|
||||
CMD="../bin/minetest --run-unittests"
|
||||
if [[ "$VALGRIND" == "1" ]]; then
|
||||
valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ${CMD} && exit 0
|
||||
else
|
||||
${CMD} && exit 0
|
||||
fi
|
||||
|
||||
elif [[ $PLATFORM == Win* ]]; then
|
||||
[[ $CC == "clang" ]] && exit 1 # Not supposed to happen
|
||||
# We need to have our build directory outside of the minetest directory because
|
||||
|
Loading…
Reference in New Issue
Block a user