 95d9d5ec75
			
		
	
	95d9d5ec75
	
	
	
		
			
			With --valgrind=memcheck-fast, the tests run under memcheck but without the autodetected --track-origins. If you just run valgrind to see *if* there is any memory issue with your program, the extra information is not needed, and it comes at a roughly 30% hit in runtime. While it is possible to achieve the same through GIT_VALGRIND_OPTIONS, this should be more discoverable and hopefully encourage more users to run their tests with valgrind. Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			723 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			723 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| base=$(basename "$0")
 | |
| 
 | |
| TOOL_OPTIONS='--leak-check=no'
 | |
| 
 | |
| 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" "$@"
 |