 341aad8d41
			
		
	
	341aad8d41
	
	
	
		
			
			Future-proof test scripts that do local VAR=VAL without quoting VAL (which is OK in POSIX but broken in some shells) that is a positional parameter, e.g. $4. Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Helpers for tests invoking parallel-checkout
 | |
| 
 | |
| # Parallel checkout tests need full control of the number of workers
 | |
| unset GIT_TEST_CHECKOUT_WORKERS
 | |
| 
 | |
| set_checkout_config () {
 | |
| 	if test $# -ne 2
 | |
| 	then
 | |
| 		BUG "usage: set_checkout_config <workers> <threshold>"
 | |
| 	fi &&
 | |
| 
 | |
| 	test_config_global checkout.workers $1 &&
 | |
| 	test_config_global checkout.thresholdForParallelism $2
 | |
| }
 | |
| 
 | |
| # Run "${@:2}" and check that $1 checkout workers were used
 | |
| test_checkout_workers () {
 | |
| 	if test $# -lt 2
 | |
| 	then
 | |
| 		BUG "too few arguments to test_checkout_workers"
 | |
| 	fi &&
 | |
| 
 | |
| 	local expected_workers="$1" &&
 | |
| 	shift &&
 | |
| 
 | |
| 	local trace_file=trace-test-checkout-workers &&
 | |
| 	rm -f "$trace_file" &&
 | |
| 	(
 | |
| 		GIT_TRACE2="$(pwd)/$trace_file" &&
 | |
| 		export GIT_TRACE2 &&
 | |
| 		"$@" 2>&8
 | |
| 	) &&
 | |
| 
 | |
| 	local workers="$(grep "child_start\[..*\] git checkout--worker" "$trace_file" | wc -l)" &&
 | |
| 	test $workers -eq $expected_workers &&
 | |
| 	rm "$trace_file"
 | |
| } 8>&2 2>&4
 | |
| 
 | |
| # Verify that both the working tree and the index were created correctly
 | |
| verify_checkout () {
 | |
| 	if test $# -ne 1
 | |
| 	then
 | |
| 		BUG "usage: verify_checkout <repository path>"
 | |
| 	fi &&
 | |
| 
 | |
| 	git -C "$1" diff-index --ignore-submodules=none --exit-code HEAD -- &&
 | |
| 	git -C "$1" status --porcelain >"$1".status &&
 | |
| 	test_must_be_empty "$1".status
 | |
| }
 |