40 lines
884 B
40 lines
884 B
#!/bin/sh |
|
|
|
base=$(basename "$0") |
|
case "$base" in |
|
test-*) |
|
program="$GIT_VALGRIND/../../t/helper/$base" |
|
;; |
|
*) |
|
program="$GIT_VALGRIND/../../$base" |
|
;; |
|
esac |
|
|
|
TOOL_OPTIONS='--leak-check=no' |
|
|
|
test -z "$GIT_VALGRIND_ENABLED" && |
|
exec "$program" "$@" |
|
|
|
case "$GIT_VALGRIND_MODE" in |
|
memcheck-fast) |
|
;; |
|
memcheck) |
|
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" || |
|
TOOL_OPTIONS="$TOOL_OPTIONS --track-origins=yes" |
|
;; |
|
*) |
|
TOOL_OPTIONS="--tool=$GIT_VALGRIND_MODE" |
|
esac |
|
|
|
exec valgrind -q --error-exitcode=126 \ |
|
--gen-suppressions=all \ |
|
--suppressions="$GIT_VALGRIND/default.supp" \ |
|
$TOOL_OPTIONS \ |
|
--log-fd=4 \ |
|
--input-fd=4 \ |
|
$GIT_VALGRIND_OPTIONS \ |
|
"$program" "$@"
|
|
|