Add a new step to check memleaks on our current unit tests suite
- 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
# 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
-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