Subject: Re: [PATCH v3 1/6] t7610: unsuppress output

From: Junio C Hamano <[email-masked]>
Date: Thu, 25 Apr 2019 11:31:41 +0900

Denton Liu <[email-masked]> writes:

> The output for commands used to be suppressed by redirecting both stdout
> and stderr to /dev/null. However, this should not happen since the
> output is useful for debugging and, without the "-v" flag, test scripts
> don't output anyway.
>
> Unsuppress the output by removing the redirections to /dev/null.

Thanks for clearly justifying the clean-up.

I take it that with this there is no behaviour changes (e.g. a
command that may change its behaviour depending on where its
standard output goes does not change the outcome of the tests)?

I am not worried about the invocations of "git mergetool" downstream
of the pipe that is fed by "yes", and the remainder are a handful of
"git merge" invocations, which looked OK to me.

Thanks.

> Signed-off-by: Denton Liu <[email-masked]>
> ---
>  t/t7610-mergetool.sh | 122 +++++++++++++++++++++----------------------
>  1 file changed, 61 insertions(+), 61 deletions(-)
>
> diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
> index a9fb971615..69711487dd 100755
> --- a/t/t7610-mergetool.sh
> +++ b/t/t7610-mergetool.sh
> @@ -130,14 +130,14 @@ test_expect_success 'custom mergetool' '
>  	test_when_finished "git reset --hard" &&
>  	git checkout -b test$test_count branch1 &&
>  	git submodule update -N &&
> -	test_must_fail git merge master >/dev/null 2>&1 &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> +	test_must_fail git merge master &&
> +	( yes "" | git mergetool both ) &&
>  	( yes "" | git mergetool file1 file1 ) &&
> -	( yes "" | git mergetool file2 "spaced name" >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
> -	( yes "l" | git mergetool submod >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file2 "spaced name" ) &&
> +	( yes "" | git mergetool subdir/file3 ) &&
> +	( yes "d" | git mergetool file11 ) &&
> +	( yes "d" | git mergetool file12 ) &&
> +	( yes "l" | git mergetool submod ) &&
>  	test "$(cat file1)" = "master updated" &&
>  	test "$(cat file2)" = "master new" &&
>  	test "$(cat subdir/file3)" = "master new sub" &&
> @@ -153,15 +153,15 @@ test_expect_success 'mergetool crlf' '
>  	# test_when_finished is LIFO.)
>  	test_config core.autocrlf true &&
>  	git checkout -b test$test_count branch1 &&
> -	test_must_fail git merge master >/dev/null 2>&1 &&
> -	( yes "" | git mergetool file1 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool file2 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool "spaced name" >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
> -	( yes "r" | git mergetool submod >/dev/null 2>&1 ) &&
> +	test_must_fail git merge master &&
> +	( yes "" | git mergetool file1 ) &&
> +	( yes "" | git mergetool file2 ) &&
> +	( yes "" | git mergetool "spaced name" ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "" | git mergetool subdir/file3 ) &&
> +	( yes "d" | git mergetool file11 ) &&
> +	( yes "d" | git mergetool file12 ) &&
> +	( yes "r" | git mergetool submod ) &&
>  	test "$(printf x | cat file1 -)" = "$(printf "master updated\r\nx")" &&
>  	test "$(printf x | cat file2 -)" = "$(printf "master new\r\nx")" &&
>  	test "$(printf x | cat subdir/file3 -)" = "$(printf "master new sub\r\nx")" &&
> @@ -176,8 +176,8 @@ test_expect_success 'mergetool in subdir' '
>  	git submodule update -N &&
>  	(
>  		cd subdir &&
> -		test_must_fail git merge master >/dev/null 2>&1 &&
> -		( yes "" | git mergetool file3 >/dev/null 2>&1 ) &&
> +		test_must_fail git merge master &&
> +		( yes "" | git mergetool file3 ) &&
>  		test "$(cat file3)" = "master new sub"
>  	)
>  '
> @@ -188,14 +188,14 @@ test_expect_success 'mergetool on file in parent dir' '
>  	git submodule update -N &&
>  	(
>  		cd subdir &&
> -		test_must_fail git merge master >/dev/null 2>&1 &&
> -		( yes "" | git mergetool file3 >/dev/null 2>&1 ) &&
> -		( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) &&
> -		( yes "" | git mergetool ../file2 ../spaced\ name >/dev/null 2>&1 ) &&
> -		( yes "" | git mergetool ../both >/dev/null 2>&1 ) &&
> -		( yes "d" | git mergetool ../file11 >/dev/null 2>&1 ) &&
> -		( yes "d" | git mergetool ../file12 >/dev/null 2>&1 ) &&
> -		( yes "l" | git mergetool ../submod >/dev/null 2>&1 ) &&
> +		test_must_fail git merge master &&
> +		( yes "" | git mergetool file3 ) &&
> +		( yes "" | git mergetool ../file1 ) &&
> +		( yes "" | git mergetool ../file2 ../spaced\ name ) &&
> +		( yes "" | git mergetool ../both ) &&
> +		( yes "d" | git mergetool ../file11 ) &&
> +		( yes "d" | git mergetool ../file12 ) &&
> +		( yes "l" | git mergetool ../submod ) &&
>  		test "$(cat ../file1)" = "master updated" &&
>  		test "$(cat ../file2)" = "master new" &&
>  		test "$(cat ../submod/bar)" = "branch1 submodule" &&
> @@ -209,9 +209,9 @@ test_expect_success 'mergetool skips autoresolved' '
>  	git submodule update -N &&
>  	test_must_fail git merge master &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
> -	( yes "l" | git mergetool submod >/dev/null 2>&1 ) &&
> +	( yes "d" | git mergetool file11 ) &&
> +	( yes "d" | git mergetool file12 ) &&
> +	( yes "l" | git mergetool submod ) &&
>  	output="$(git mergetool --no-prompt)" &&
>  	test "$output" = "No files need merging"
>  '
> @@ -259,9 +259,9 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
>  	rm -rf .git/rr-cache &&
>  	git checkout -b test$test_count branch1 &&
>  	git submodule update -N &&
> -	test_must_fail git merge master >/dev/null 2>&1 &&
> -	( yes "l" | git mergetool --no-prompt submod >/dev/null 2>&1 ) &&
> -	( yes "d" "d" | git mergetool --no-prompt >/dev/null 2>&1 ) &&
> +	test_must_fail git merge master &&
> +	( yes "l" | git mergetool --no-prompt submod ) &&
> +	( yes "d" "d" | git mergetool --no-prompt ) &&
>  	git submodule update -N &&
>  	output="$(yes "n" | git mergetool --no-prompt)" &&
>  	test "$output" = "No files need merging"
> @@ -369,9 +369,9 @@ test_expect_success 'deleted vs modified submodule' '
>  	git checkout -b test$test_count.a test$test_count &&
>  	test_must_fail git merge master &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "r" | git mergetool submod ) &&
>  	rmdir submod && mv submod-movedaside submod &&
>  	test "$(cat submod/bar)" = "branch1 submodule" &&
> @@ -386,9 +386,9 @@ test_expect_success 'deleted vs modified submodule' '
>  	git submodule update -N &&
>  	test_must_fail git merge master &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "l" | git mergetool submod ) &&
>  	test ! -e submod &&
>  	output="$(git mergetool --no-prompt)" &&
> @@ -400,9 +400,9 @@ test_expect_success 'deleted vs modified submodule' '
>  	git submodule update -N &&
>  	test_must_fail git merge test$test_count &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "r" | git mergetool submod ) &&
>  	test ! -e submod &&
>  	test -d submod.orig &&
> @@ -416,9 +416,9 @@ test_expect_success 'deleted vs modified submodule' '
>  	git submodule update -N &&
>  	test_must_fail git merge test$test_count &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "l" | git mergetool submod ) &&
>  	test "$(cat submod/bar)" = "master submodule" &&
>  	git submodule update -N &&
> @@ -440,9 +440,9 @@ test_expect_success 'file vs modified submodule' '
>  	git checkout -b test$test_count.a branch1 &&
>  	test_must_fail git merge master &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "r" | git mergetool submod ) &&
>  	rmdir submod && mv submod-movedaside submod &&
>  	test "$(cat submod/bar)" = "branch1 submodule" &&
> @@ -456,9 +456,9 @@ test_expect_success 'file vs modified submodule' '
>  	git checkout -b test$test_count.b test$test_count &&
>  	test_must_fail git merge master &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "l" | git mergetool submod ) &&
>  	git submodule update -N &&
>  	test "$(cat submod)" = "not a submodule" &&
> @@ -472,9 +472,9 @@ test_expect_success 'file vs modified submodule' '
>  	git submodule update -N &&
>  	test_must_fail git merge test$test_count &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both >/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "r" | git mergetool submod ) &&
>  	test -d submod.orig &&
>  	git submodule update -N &&
> @@ -488,9 +488,9 @@ test_expect_success 'file vs modified submodule' '
>  	git submodule update -N &&
>  	test_must_fail git merge test$test_count &&
>  	test -n "$(git ls-files -u)" &&
> -	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
> -	( yes "" | git mergetool both>/dev/null 2>&1 ) &&
> -	( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
> +	( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
> +	( yes "" | git mergetool both ) &&
> +	( yes "d" | git mergetool file11 file12 ) &&
>  	( yes "l" | git mergetool submod ) &&
>  	test "$(cat submod/bar)" = "master submodule" &&
>  	git submodule update -N &&
> @@ -543,7 +543,7 @@ test_expect_success 'submodule in subdirectory' '
>  	git add subdir/subdir_module &&
>  	git commit -m "change submodule in subdirectory on test$test_count.b" &&
>  
> -	test_must_fail git merge test$test_count.a >/dev/null 2>&1 &&
> +	test_must_fail git merge test$test_count.a &&
>  	(
>  		cd subdir &&
>  		( yes "l" | git mergetool subdir_module )
> @@ -554,7 +554,7 @@ test_expect_success 'submodule in subdirectory' '
>  	git reset --hard &&
>  	git submodule update -N &&
>  
> -	test_must_fail git merge test$test_count.a >/dev/null 2>&1 &&
> +	test_must_fail git merge test$test_count.a &&
>  	( yes "r" | git mergetool subdir/subdir_module ) &&
>  	test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
>  	git submodule update -N &&
> @@ -641,7 +641,7 @@ test_expect_success 'filenames seen by tools start with ./' '
>  	test_config mergetool.myecho.trustExitCode true &&
>  	test_must_fail git merge master &&
>  	git mergetool --no-prompt --tool myecho -- both >actual &&
> -	grep ^\./both_LOCAL_ actual >/dev/null
> +	grep ^\./both_LOCAL_ actual
>  '
>  
>  test_lazy_prereq MKTEMP '
> @@ -658,8 +658,8 @@ test_expect_success MKTEMP 'temporary filenames are used with mergetool.writeToT
>  	test_config mergetool.myecho.trustExitCode true &&
>  	test_must_fail git merge master &&
>  	git mergetool --no-prompt --tool myecho -- both >actual &&
> -	! grep ^\./both_LOCAL_ actual >/dev/null &&
> -	grep /both_LOCAL_ actual >/dev/null
> +	! grep ^\./both_LOCAL_ actual &&
> +	grep /both_LOCAL_ actual
>  '
>  
>  test_expect_success 'diff.orderFile configuration is honored' '