Subject: Re: [PATCH 4/7] t7450: test verify_path() handling of gitmodules

From: Jonathan Nieder <[email-masked]>
Date: Mon, 5 Oct 2020 00:53:11 -0700

Hi,

Jeff King wrote:

> Commit 10ecfa7649 (verify_path: disallow symlinks in .gitmodules,
> 2018-05-04) made it impossible to load a symlink .gitmodules file into
> the index. However, there are no tests of this behavior. Let's make sure
> this case is covered. We can easily reuse the test setup created by
> the matching b7b1fca175 (fsck: complain when .gitmodules is a symlink,
> 2018-05-04).
>
> Signed-off-by: Jeff King <[email-masked]>
> ---
>  t/t7450-bad-meta-files.sh | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/t/t7450-bad-meta-files.sh b/t/t7450-bad-meta-files.sh
> index 6b703b12bc..b73985157f 100755
> --- a/t/t7450-bad-meta-files.sh
> +++ b/t/t7450-bad-meta-files.sh
> @@ -139,7 +139,7 @@ test_expect_success 'index-pack --strict works for non-repo pack' '
>  	grep gitmodulesName output
>  '
>  
> -test_expect_success 'fsck detects symlinked .gitmodules file' '
> +test_expect_success 'create repo with symlinked .gitmodules file' '
>  	git init symlink &&
>  	(
>  		cd symlink &&
> @@ -155,8 +155,14 @@ test_expect_success 'fsck detects symlinked .gitmodules file' '
>  		{
>  			printf "100644 blob $content\t$tricky\n" &&
>  			printf "120000 blob $target\t.gitmodules\n"
> -		} >bad-tree &&
> -		tree=$(git mktree <bad-tree) &&
> +		} >bad-tree
> +	) &&
> +	tree=$(git -C symlink mktree <symlink/bad-tree)
> +'

This is super nitpicky, but: test scripts can be hard to maintain when
there's this kind of state carried from assertion to assertion without
it being made obvious.

Can this include "setup" or "set up" in the name to do that?  E.g.

	test_expect_success 'set up repo with symlinked .gitmodules file' '
		...
	'

Thanks,
Jonathan