aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml2
-rw-r--r--CMakeLists.txt4
-rw-r--r--Makefile4
-rwxr-xr-xscripts/travis.sh7
-rw-r--r--src/main.c1
-rw-r--r--src/testdir/Makefile15
7 files changed, 24 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index a36e19fe97..128b1b1481 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,7 @@ src/testdir/test.log
src/testdir/test.ok
src/testdir/*.failed
src/testdir/X*
+src/testdir/valgrind.*
# local make targets
local.mk
diff --git a/.travis.yml b/.travis.yml
index d1a0445925..cb54bbcc09 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,2 +1,2 @@
language: c
-script: make cmake CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$PWD/dist" && make && make test > /dev/null 2>&1 && make install
+script: ./scripts/travis.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 04df162f07..04b59acd28 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,6 +18,10 @@ else()
set(DEBUG 0)
endif()
+if(DEFINED $ENV{VALGRIND_CHECK})
+ add_definitions(-DEXITFREE)
+endif()
+
# Modules used by platform auto-detection
include(CheckLibraryExists)
diff --git a/Makefile b/Makefile
index 3aa82fa0bf..d724816e12 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
-include local.mk
-CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=.deps/usr -DLibUV_USE_STATIC=YES
+CMAKE_FLAGS = -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=.deps/usr -DLibUV_USE_STATIC=YES
# Extra CMake flags which extend the default set
-CMAKE_EXTRA_FLAGS :=
+CMAKE_EXTRA_FLAGS =
build/bin/nvim: deps
${MAKE} -C build
diff --git a/scripts/travis.sh b/scripts/travis.sh
new file mode 100755
index 0000000000..90e8082f86
--- /dev/null
+++ b/scripts/travis.sh
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+export VALGRIND_CHECK=1
+make cmake CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$PWD/dist"
+make
+make test > /dev/null 2>&1
+make install
diff --git a/src/main.c b/src/main.c
index c5d7d528cf..1c8f336d87 100644
--- a/src/main.c
+++ b/src/main.c
@@ -276,6 +276,7 @@ static char *(main_errors[]) =
* (MSDOS).
* Note that we may use mch_exit() before mch_init()!
*/
+ malloc(10323);
mch_init();
TIME_MSG("shell init");
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 16db2846c2..663abffff9 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -4,13 +4,6 @@
VIMPROG = ../../build/bin/nvim
-# Uncomment this line to use valgrind for memory leaks and extra warnings.
-# The output goes into a file "valgrind.testN"
-# Vim should be compiled with EXITFREE to avoid false warnings.
-# This will make testing about 10 times as slow.
-# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
-
-
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test7.out test8.out test9.out test10.out test11.out \
test12.out test13.out test14.out test15.out test17.out \
@@ -34,6 +27,14 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
SCRIPTS_GUI = test16.out
+ifdef VALGRIND_CHECK
+VALGRIND := valgrind --leak-check=yes --error-exitcode=1 --log-file=valgrind.$*
+endif
+
+ifdef TESTNUM
+SCRIPTS = test$(TESTNUM).out
+endif
+
.SUFFIXES: .in .out
nongui: nolog $(SCRIPTS) report