summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2009-02-05 22:03:00 +0100
committerJunio C Hamano <gitster@pobox.com>2009-02-05 17:48:22 -0800
commit5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4 (patch)
treec91e90aa6803843a9bfb9d276f56e8e5d8cf59a4
parenta6d63b749369f3ba9c6d2f382efd27838604b7db (diff)
downloadgit-5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4.tar.gz
valgrind: do not require valgrind 3.4.0 or newer
Valgrind 3.4.0 is pretty new, and even if --track-origins is a nice feature, it is not the end of the world if that is not available. So play nice and use that option only when only an older version of valgrind is available. In the same spirit, refrain from the use of '...' in suppression files, which is also a feature only valgrind 3.4 and newer understand. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/valgrind/default.supp4
-rwxr-xr-xt/valgrind/valgrind.sh11
2 files changed, 13 insertions, 2 deletions
diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp
index 5f341b8598..9e013fa3b2 100644
--- a/t/valgrind/default.supp
+++ b/t/valgrind/default.supp
@@ -38,6 +38,8 @@
writing-data-from-zlib-triggers-even-more-errors
Memcheck:Param
write(buf)
- ...
+ obj:/lib/ld-*.so
+ fun:write_in_full
+ fun:write_buffer
fun:write_loose_object
}
diff --git a/t/valgrind/valgrind.sh b/t/valgrind/valgrind.sh
index dc9261265b..582b4dca94 100755
--- a/t/valgrind/valgrind.sh
+++ b/t/valgrind/valgrind.sh
@@ -2,11 +2,20 @@
base=$(basename "$0")
+TRACK_ORIGINS=
+
+VALGRIND_VERSION=$(valgrind --version)
+VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)')
+VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)')
+test 3 -gt "$VALGRIND_MAJOR" ||
+test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" ||
+TRACK_ORIGINS=--track-origins=yes
+
exec valgrind -q --error-exitcode=126 \
--leak-check=no \
--suppressions="$GIT_VALGRIND/default.supp" \
--gen-suppressions=all \
- --track-origins=yes \
+ $TRACK_ORIGINS \
--log-fd=4 \
--input-fd=4 \
$GIT_VALGRIND_OPTIONS \