With the new --valgrind-only=<pattern> option, one can enable --valgrind at a per-test granularity, exactly analogous to --verbose-only from the previous commit. The options are wired such that --valgrind implies --verbose (as before), but --valgrind-only=<pattern> implies --verbose-only=<pattern> unless --verbose is also in effect. Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			799 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			799 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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" "$@"
 |