mirror of
https://github.com/minetest/minetest.git
synced 2024-11-23 16:13:46 +01:00
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
|
- env: PLATFORM=Unix COMPILER=clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
os: linux
|
os: linux
|
||||||
|
- env: PLATFORM=Unix COMPILER=clang VALGRIND=1
|
||||||
|
compiler: clang
|
||||||
|
os: linux
|
||||||
|
dist: trusty
|
||||||
- env: PLATFORM=Unix COMPILER=g++-6
|
- env: PLATFORM=Unix COMPILER=g++-6
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
os: linux
|
os: linux
|
||||||
|
@ -18,6 +18,9 @@ if [[ $PLATFORM == "Unix" ]]; then
|
|||||||
# Linking to LevelDB is broken, use a custom build
|
# Linking to LevelDB is broken, use a custom build
|
||||||
wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
|
wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
|
||||||
sudo 7z x -o/usr 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
|
else
|
||||||
brew update
|
brew update
|
||||||
brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit
|
brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit
|
||||||
|
@ -24,8 +24,15 @@ if [[ $PLATFORM == "Unix" ]]; then
|
|||||||
-DBUILD_SERVER=TRUE \
|
-DBUILD_SERVER=TRUE \
|
||||||
$CMAKE_FLAGS ..
|
$CMAKE_FLAGS ..
|
||||||
make -j2
|
make -j2
|
||||||
|
|
||||||
echo "Running unit tests."
|
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
|
elif [[ $PLATFORM == Win* ]]; then
|
||||||
[[ $CC == "clang" ]] && exit 1 # Not supposed to happen
|
[[ $CC == "clang" ]] && exit 1 # Not supposed to happen
|
||||||
# We need to have our build directory outside of the minetest directory because
|
# We need to have our build directory outside of the minetest directory because
|
||||||
|
Loading…
Reference in New Issue
Block a user