| #!/bin/sh | |
| base=$(basename "$0") | |
| TOOL_OPTIONS='--leak-check=no' | |
| test -z "$GIT_VALGRIND_ENABLED" && | |
| exec "$GIT_VALGRIND"/../../"$base" "$@" | |
| 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 \ | |
| "$GIT_VALGRIND"/../../"$base" "$@" |