* [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