summaryrefslogtreecommitdiff
path: root/t/valgrind/valgrind.sh
blob: 582b4dca9497363c7bfd6ae5ecc2c98d28d5ac0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

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 \
	--log-fd=4 \
	--input-fd=4 \
	$GIT_VALGRIND_OPTIONS \
	"$GIT_VALGRIND"/../../"$base" "$@"