Subject: Re: [PATCH 1/4] t7800-difftool: cleanup temporary repositories used by tests

From: Junio C Hamano <[email-masked]>
Date: Mon, 20 Sep 2021 11:28:05 -0700

David Aguilar <[email-masked]> writes:

> The "dirlinks" and "growing" repositories should not outlive the
> tests that use them.
>
> Signed-off-by: David Aguilar <[email-masked]>
> ---
>  t/t7800-difftool.sh | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
> index a173f564bc..a923f193da 100755
> --- a/t/t7800-difftool.sh
> +++ b/t/t7800-difftool.sh
> @@ -414,6 +414,7 @@ test_expect_success 'setup change in subdirectory' '
>  test_expect_success 'difftool -d with growing paths' '
>  	a=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&
>  	git init growing &&
> +	test_when_finished rm -rf growing &&

If "git init" fails after it created the directory, it will be left
behind because test_when_finished hasn't been called yet.  The same
problem exists in the other hunk.  Moving it above "git init" may
trigger "rm -rf X" where X does not exist yet, but that is what you
are giving the 'f'orce option there for.

Not a huge deal and no need to resend only to fix them alone,
though.

>  	(
>  		cd growing &&
>  		echo "test -f \"\$2/b\"" | write_script .git/test-for-b.sh &&
> @@ -646,6 +647,7 @@ test_expect_success 'difftool properly honors gitlink and core.worktree' '
>  test_expect_success SYMLINKS 'difftool --dir-diff symlinked directories' '
>  	test_when_finished git reset --hard &&
>  	git init dirlinks &&
> +	test_when_finished rm -rf dirlinks &&
>  	(
>  		cd dirlinks &&
>  		git config diff.tool checktrees &&