summaryrefslogtreecommitdiff
path: root/t/valgrind
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2009-02-05 21:03:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-02-06 01:48:22 (GMT)
commit5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4 (patch)
treec91e90aa6803843a9bfb9d276f56e8e5d8cf59a4 /t/valgrind
parenta6d63b749369f3ba9c6d2f382efd27838604b7db (diff)
downloadgit-5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4.zip
git-5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4.tar.gz
git-5caa81d1b4f1b0b9ed73605ab1e4d91ba31a56b4.tar.bz2
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>
Diffstat (limited to 't/valgrind')
-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 5f341b8..9e013fa 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 dc92612..582b4dc 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 \