Subject: Re: [PATCH v3 12/35] userdiff tests: change setup loop to individual test setup

From: Junio C Hamano <[email-masked]>
Date: Wed, 24 Feb 2021 18:52:41 -0800

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> +# check each individual file
> +for i in $(git -C t4018 ls-files)
> +do
> +	test_expect_success "setup hunk header: $i" "
> +		grep -v '^t4018' \"t4018/$i\" >\"t4018/$i.content\" &&
> +		sed -n -e 's/^t4018 header: //p' <\"t4018/$i\" >\"t4018/$i.header\" &&
> +		cp \"t4018/$i.content\" \"$i\" &&
>  
>  		# add test file to the index
> -		git add "$i" &&
> +		git add \"$i\" &&
>  		# place modified file in the worktree
> -		sed -e "s/ChangeMe/IWasChanged/" <"t4018/$i.content" >"$i" || return 1
> -	done
> -'
> +		sed -e 's/ChangeMe/IWasChanged/' <\"t4018/$i.content\" >\"$i\"
> +	"

Please use '' around the second argument (i.e. test body) of the
test_expect_success, and use "" inside it.  "$i" that is used in the
loop is visible perfectly fine inside the test body when it is
eval'ed, and we won't have to count ugly backslashes that way.

>  
> -# check each individual file
> -for i in $(git ls-files)
> -do
>  	test_expect_success "hunk header: $i" "
>  		git diff -U1 $i >diff &&
>  		sed -n -e 's/^.*@@$//p' -e 's/^.*@@ //p' <diff >ctx &&