diff mbox series

annotate-tests: quote variable expansions containing path names

Message ID cec4f442-03ea-e846-2613-f390b1e4d31b@kdbg.org (mailing list archive)
State Accepted
Commit 107d10fe4f05c6d13b25a2196689a451175a38df
Headers show
Series annotate-tests: quote variable expansions containing path names | expand

Commit Message

Johannes Sixt Jan. 30, 2021, 4:22 p.m. UTC
The test case added by 9466e3809d ("blame: enable funcname blaming with
userdiff driver", 2020-11-01) forgot to quote variable expansions. This
causes failures when the current directory contains blanks.

On variable that the test case introduces will not have IFS characters
and could remain without quotes, but let's quote all expansions for
consistency, not just the one that has the path name.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 t/annotate-tests.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Philippe Blain Jan. 30, 2021, 5:14 p.m. UTC | #1
Hi Johannes,

Le 2021-01-30 à 11:22, Johannes Sixt a écrit :
> The test case added by 9466e3809d ("blame: enable funcname blaming with
> userdiff driver", 2020-11-01) forgot to quote variable expansions. This
> causes failures when the current directory contains blanks.

Woops, sorry for that.

> 
> On variable 

s/On/One/

> that the test case introduces will not have IFS characters
> and could remain without quotes, but let's quote all expansions for
> consistency, not just the one that has the path name.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
>   t/annotate-tests.sh | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
> index ee5d2d4cf8..29ce89090d 100644
> --- a/t/annotate-tests.sh
> +++ b/t/annotate-tests.sh
> @@ -483,12 +483,12 @@ test_expect_success 'setup -L :funcname with userdiff driver' '
>   	echo "fortran-* diff=fortran" >.gitattributes &&
>   	fortran_file=fortran-external-function &&
>   	orig_file="$TEST_DIRECTORY/t4018/$fortran_file" &&
> -	cp $orig_file . &&
> -	git add $fortran_file &&
> +	cp "$orig_file" . &&
> +	git add "$fortran_file" &&
>   	GIT_AUTHOR_NAME="A" GIT_AUTHOR_EMAIL="A@test.git" \
>   	git commit -m "add fortran file" &&
> -	sed -e "s/ChangeMe/IWasChanged/" <"$orig_file" >$fortran_file &&
> -	git add $fortran_file &&
> +	sed -e "s/ChangeMe/IWasChanged/" <"$orig_file" >"$fortran_file" &&
> +	git add "$fortran_file" &&
>   	GIT_AUTHOR_NAME="B" GIT_AUTHOR_EMAIL="B@test.git" \
>   	git commit -m "change fortran file"
>   '
> 

The patch obviously looks good:

Acked-by: Philippe Blain <levraiphilippeblain@gmail.com>

Apart from that, maybe we could set up one of the CI jobs to
clone git.git into a path with spaces, to try to avoid these
kind of errors in the future ?

Thanks,

Philippe.
Jeff King Feb. 3, 2021, 5:22 a.m. UTC | #2
On Sat, Jan 30, 2021 at 12:14:56PM -0500, Philippe Blain wrote:

> Apart from that, maybe we could set up one of the CI jobs to
> clone git.git into a path with spaces, to try to avoid these
> kind of errors in the future ?

We put a space in the temporary trash directory created by the test
suite for exactly this purpose. So I was curious why it didn't detect
this problem.

It looks like it's because the issue is with $TEST_DIRECTORY, which is
outside the trash directory.

-Peff
Johannes Sixt Feb. 3, 2021, 5:23 p.m. UTC | #3
Am 03.02.21 um 06:22 schrieb Jeff King:
> On Sat, Jan 30, 2021 at 12:14:56PM -0500, Philippe Blain wrote:
> 
>> Apart from that, maybe we could set up one of the CI jobs to
>> clone git.git into a path with spaces, to try to avoid these
>> kind of errors in the future ?
> 
> We put a space in the temporary trash directory created by the test
> suite for exactly this purpose. So I was curious why it didn't detect
> this problem.
> 
> It looks like it's because the issue is with $TEST_DIRECTORY, which is
> outside the trash directory.

Yes, correct. I was also suprised at first that this was not caught.

-- Hannes
diff mbox series

Patch

diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index ee5d2d4cf8..29ce89090d 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -483,12 +483,12 @@  test_expect_success 'setup -L :funcname with userdiff driver' '
 	echo "fortran-* diff=fortran" >.gitattributes &&
 	fortran_file=fortran-external-function &&
 	orig_file="$TEST_DIRECTORY/t4018/$fortran_file" &&
-	cp $orig_file . &&
-	git add $fortran_file &&
+	cp "$orig_file" . &&
+	git add "$fortran_file" &&
 	GIT_AUTHOR_NAME="A" GIT_AUTHOR_EMAIL="A@test.git" \
 	git commit -m "add fortran file" &&
-	sed -e "s/ChangeMe/IWasChanged/" <"$orig_file" >$fortran_file &&
-	git add $fortran_file &&
+	sed -e "s/ChangeMe/IWasChanged/" <"$orig_file" >"$fortran_file" &&
+	git add "$fortran_file" &&
 	GIT_AUTHOR_NAME="B" GIT_AUTHOR_EMAIL="B@test.git" \
 	git commit -m "change fortran file"
 '