git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/2] Several fixes for the test suite related to spaces in filenames
@ 2018-01-03 16:54 Johannes Schindelin
  2018-01-03 16:54 ` [PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces Johannes Schindelin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Johannes Schindelin @ 2018-01-03 16:54 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

The second issue was found long ago, and the patch carried in Git for
Windows, although nothing about it is specific to Windows.

The first patch was developed today, when I tried to verify that Git's
test suite passes if Git is cloned to a directory called `with spaces/`.


Johannes Schindelin (2):
  Allow the test suite to pass in a directory whose name contains spaces
  t0302 & t3900: add forgotten quotes

 t/t0302-credential-store.sh | 2 +-
 t/t3900-i18n-commit.sh      | 8 ++++----
 t/t7500-commit.sh           | 4 ++--
 t/t9020-remote-svn.sh       | 4 ++--
 t/t9107-git-svn-migrate.sh  | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)


base-commit: 1eaabe34fc6f486367a176207420378f587d3b48
Published-As: https://github.com/dscho/git/releases/tag/with-spaces-v1
Fetch-It-Via: git fetch https://github.com/dscho/git with-spaces-v1
-- 
2.15.1.windows.2.391.g0b42e3c56de


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces
  2018-01-03 16:54 [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Johannes Schindelin
@ 2018-01-03 16:54 ` Johannes Schindelin
  2018-01-03 16:54 ` [PATCH 2/2] t0302 & t3900: add forgotten quotes Johannes Schindelin
  2018-01-03 19:08 ` [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Jeff King
  2 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2018-01-03 16:54 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

It is totally legitimate to clone Git's source code anywhere, including
into, say, directories whose name (or the name of its absolute path)
contains spaces.

However, a couple of tests failed to anticipate this, for lack of
quoting (or in one instance, for failure to expect more than one space
in the absolute path of the TEST_DIRECTORY). This can be easily verified
by calling these commands in your current clone:

	git clone . with\ spaces
	cd with\ spaces
	make -j15 test

Let's fix this.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t7500-commit.sh          | 4 ++--
 t/t9020-remote-svn.sh      | 4 ++--
 t/t9107-git-svn-migrate.sh | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index 5739d3ed232..1d33c5feb3e 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -130,8 +130,8 @@ EOF
 test_expect_success 'commit message from template with whitespace issue' '
 	echo "content galore" >>foo &&
 	git add foo &&
-	GIT_EDITOR="$TEST_DIRECTORY"/t7500/add-whitespaced-content git commit \
-		--template "$TEMPLATE" &&
+	GIT_EDITOR=\""$TEST_DIRECTORY"\"/t7500/add-whitespaced-content \
+	git commit --template "$TEMPLATE" &&
 	commit_msg_is "commit message"
 '
 
diff --git a/t/t9020-remote-svn.sh b/t/t9020-remote-svn.sh
index 4d81ba1c2c4..6fca08e5e35 100755
--- a/t/t9020-remote-svn.sh
+++ b/t/t9020-remote-svn.sh
@@ -25,8 +25,8 @@ init_git () {
 	git init &&
 	#git remote add svnsim testsvn::sim:///$TEST_DIRECTORY/t9020/example.svnrdump
 	# let's reuse an existing dump file!?
-	git remote add svnsim testsvn::sim://$TEST_DIRECTORY/t9154/svn.dump
-	git remote add svnfile testsvn::file://$TEST_DIRECTORY/t9154/svn.dump
+	git remote add svnsim "testsvn::sim://$TEST_DIRECTORY/t9154/svn.dump"
+	git remote add svnfile "testsvn::file://$TEST_DIRECTORY/t9154/svn.dump"
 }
 
 if test -e "$GIT_BUILD_DIR/git-remote-testsvn"
diff --git a/t/t9107-git-svn-migrate.sh b/t/t9107-git-svn-migrate.sh
index 9f3ef8f2ef6..ceaa5bad105 100755
--- a/t/t9107-git-svn-migrate.sh
+++ b/t/t9107-git-svn-migrate.sh
@@ -28,7 +28,7 @@ test_expect_success 'git-svn-HEAD is a real HEAD' '
 	git rev-parse --verify refs/heads/git-svn-HEAD^0
 '
 
-svnrepo_escaped=$(echo $svnrepo | sed 's/ /%20/')
+svnrepo_escaped=$(echo $svnrepo | sed 's/ /%20/g')
 
 test_expect_success 'initialize old-style (v0) git svn layout' '
 	mkdir -p "$GIT_DIR"/git-svn/info "$GIT_DIR"/svn/info &&
-- 
2.15.1.windows.2.391.g0b42e3c56de



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] t0302 & t3900: add forgotten quotes
  2018-01-03 16:54 [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Johannes Schindelin
  2018-01-03 16:54 ` [PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces Johannes Schindelin
@ 2018-01-03 16:54 ` Johannes Schindelin
  2018-01-03 19:08 ` [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Jeff King
  2 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2018-01-03 16:54 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

When cleaning up files in the $HOME directory, it really makes sense to
quote the path, especially in Git's test suite, where the HOME directory
is *guaranteed* to contain spaces in its name.

It would appear that those two tests pass even without cleaning up the
files, but really more by pure chance than by design (the cleanup seems
not actually to be necessary).

However, if anybody would have a left-over `trash/` directory in Git's
`t/` directory, these tests would fail, because they would all of a
sudden try to delete that directory, but without the `-r` (recursive)
flag. That is how this issue was found.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t0302-credential-store.sh | 2 +-
 t/t3900-i18n-commit.sh      | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/t/t0302-credential-store.sh b/t/t0302-credential-store.sh
index 1d8d1f210b9..d6b54e8c65a 100755
--- a/t/t0302-credential-store.sh
+++ b/t/t0302-credential-store.sh
@@ -37,7 +37,7 @@ helper_test store
 unset XDG_CONFIG_HOME
 
 test_expect_success 'if custom xdg file exists, home and xdg files not created' '
-	test_when_finished "rm -f $HOME/xdg/git/credentials" &&
+	test_when_finished "rm -f \"$HOME/xdg/git/credentials\"" &&
 	test -s "$HOME/xdg/git/credentials" &&
 	test_path_is_missing "$HOME/.git-credentials" &&
 	test_path_is_missing "$HOME/.config/git/credentials"
diff --git a/t/t3900-i18n-commit.sh b/t/t3900-i18n-commit.sh
index 3b94283e355..9e4e694d939 100755
--- a/t/t3900-i18n-commit.sh
+++ b/t/t3900-i18n-commit.sh
@@ -40,7 +40,7 @@ test_expect_success 'UTF-16 refused because of NULs' '
 '
 
 test_expect_success 'UTF-8 invalid characters refused' '
-	test_when_finished "rm -f $HOME/stderr $HOME/invalid" &&
+	test_when_finished "rm -f \"$HOME/stderr $HOME/invalid\"" &&
 	echo "UTF-8 characters" >F &&
 	printf "Commit message\n\nInvalid surrogate:\355\240\200\n" \
 		>"$HOME/invalid" &&
@@ -49,7 +49,7 @@ test_expect_success 'UTF-8 invalid characters refused' '
 '
 
 test_expect_success 'UTF-8 overlong sequences rejected' '
-	test_when_finished "rm -f $HOME/stderr $HOME/invalid" &&
+	test_when_finished "rm -f \"$HOME/stderr $HOME/invalid\"" &&
 	rm -f "$HOME/stderr" "$HOME/invalid" &&
 	echo "UTF-8 overlong" >F &&
 	printf "\340\202\251ommit message\n\nThis is not a space:\300\240\n" \
@@ -59,7 +59,7 @@ test_expect_success 'UTF-8 overlong sequences rejected' '
 '
 
 test_expect_success 'UTF-8 non-characters refused' '
-	test_when_finished "rm -f $HOME/stderr $HOME/invalid" &&
+	test_when_finished "rm -f \"$HOME/stderr $HOME/invalid\"" &&
 	echo "UTF-8 non-character 1" >F &&
 	printf "Commit message\n\nNon-character:\364\217\277\276\n" \
 		>"$HOME/invalid" &&
@@ -68,7 +68,7 @@ test_expect_success 'UTF-8 non-characters refused' '
 '
 
 test_expect_success 'UTF-8 non-characters refused' '
-	test_when_finished "rm -f $HOME/stderr $HOME/invalid" &&
+	test_when_finished "rm -f \"$HOME/stderr $HOME/invalid\"" &&
 	echo "UTF-8 non-character 2." >F &&
 	printf "Commit message\n\nNon-character:\357\267\220\n" \
 		>"$HOME/invalid" &&
-- 
2.15.1.windows.2.391.g0b42e3c56de

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] Several fixes for the test suite related to spaces in filenames
  2018-01-03 16:54 [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Johannes Schindelin
  2018-01-03 16:54 ` [PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces Johannes Schindelin
  2018-01-03 16:54 ` [PATCH 2/2] t0302 & t3900: add forgotten quotes Johannes Schindelin
@ 2018-01-03 19:08 ` Jeff King
  2018-01-04  0:22   ` Junio C Hamano
  2 siblings, 1 reply; 5+ messages in thread
From: Jeff King @ 2018-01-03 19:08 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git, Junio C Hamano

On Wed, Jan 03, 2018 at 05:54:44PM +0100, Johannes Schindelin wrote:

> The second issue was found long ago, and the patch carried in Git for
> Windows, although nothing about it is specific to Windows.
> 
> The first patch was developed today, when I tried to verify that Git's
> test suite passes if Git is cloned to a directory called `with spaces/`.

Heh, the whole point of the space in the trash directory was to find
these issues early, but obviously it is not foolproof. :)

The patches themselves look good to me from inspection. Thanks.

-Peff

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] Several fixes for the test suite related to spaces in filenames
  2018-01-03 19:08 ` [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Jeff King
@ 2018-01-04  0:22   ` Junio C Hamano
  0 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2018-01-04  0:22 UTC (permalink / raw)
  To: Jeff King; +Cc: Johannes Schindelin, git

Jeff King <peff@peff.net> writes:

> On Wed, Jan 03, 2018 at 05:54:44PM +0100, Johannes Schindelin wrote:
>
>> The second issue was found long ago, and the patch carried in Git for
>> Windows, although nothing about it is specific to Windows.
>> 
>> The first patch was developed today, when I tried to verify that Git's
>> test suite passes if Git is cloned to a directory called `with spaces/`.
>
> Heh, the whole point of the space in the trash directory was to find
> these issues early, but obviously it is not foolproof. :)

Exactly.

> The patches themselves look good to me from inspection. Thanks.

Yes, these changes look good.  Thanks both.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-04  0:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-03 16:54 [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Johannes Schindelin
2018-01-03 16:54 ` [PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces Johannes Schindelin
2018-01-03 16:54 ` [PATCH 2/2] t0302 & t3900: add forgotten quotes Johannes Schindelin
2018-01-03 19:08 ` [PATCH 0/2] Several fixes for the test suite related to spaces in filenames Jeff King
2018-01-04  0:22   ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).