]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t0061-run-command.sh
Merge branch 'js/update-index-ignore-removal-for-skip-worktree'
[thirdparty/git.git] / t / t0061-run-command.sh
index 015fac8b5d077165c7f9ac8090fd4e2ac12a7cb3..17c9c0f3bb64782d86b9f15901791c4e05b9d122 100755 (executable)
@@ -210,10 +210,23 @@ test_expect_success MINGW 'verify curlies are quoted properly' '
        test_cmp expect actual
 '
 
-test_expect_success MINGW 'can spawn with argv[0] containing spaces' '
-       cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" ./ &&
-       test_must_fail "$PWD/test-fake-ssh$X" 2>err &&
-       grep TRASH_DIRECTORY err
+test_expect_success MINGW 'can spawn .bat with argv[0] containing spaces' '
+       bat="$TRASH_DIRECTORY/bat with spaces in name.bat" &&
+
+       # Every .bat invocation will log its arguments to file "out"
+       rm -f out &&
+       echo "echo %* >>out" >"$bat" &&
+
+       # Ask git to invoke .bat; clone will fail due to fake SSH helper
+       test_must_fail env GIT_SSH="$bat" git clone myhost:src ssh-clone &&
+
+       # Spawning .bat can fail if there are two quoted cmd.exe arguments.
+       # .bat itself is first (due to spaces in name), so just one more is
+       # needed to verify. GIT_SSH will invoke .bat multiple times:
+       # 1) -G myhost
+       # 2) myhost "git-upload-pack src"
+       # First invocation will always succeed. Test the second one.
+       grep "git-upload-pack" out
 '
 
 test_done