diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-03-29 10:21:58 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-29 10:22:34 -0700 |
commit | 776ffd1a303afa8cf581d62e9d0478d112fecdd2 (patch) | |
tree | 74fef4c4f16d7eec9e269b278b69f691e811d6d6 | |
parent | 012c8b307d339873bcdbbe95018ccfff904fc501 (diff) | |
download | git-776ffd1a303afa8cf581d62e9d0478d112fecdd2.tar.gz |
t4126: fix "funny directory name" test on Windows (again)
Even though "git update-index --cacheinfo" ought to be filesystem
agnostic,
$ git update-index --add --cacheinfo "100644,$empty_blob,funny /empty"
fails only on Windows, and this unfortunately makes the approach of
the previous step unworkable.
Resurrect the earlier approach to give up on running the test on
known-bad platforms. Instead of computing a custom prerequisite,
just use !MINGW we have used elsewhere.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t4126-apply-empty.sh | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/t/t4126-apply-empty.sh b/t/t4126-apply-empty.sh index 2462cdf904..56210b5609 100755 --- a/t/t4126-apply-empty.sh +++ b/t/t4126-apply-empty.sh @@ -66,29 +66,28 @@ test_expect_success 'apply --index create' ' git diff --exit-code ' -test_expect_success 'parsing a patch with no-contents and a funny pathname' ' - git reset --hard && - empty_blob=$(test_oid empty_blob) && - echo "$empty_blob" >expect && +test_expect_success !MINGW 'apply with no-contents and a funny pathname' ' + test_when_finished "rm -fr \"funny \"; git reset --hard" && + + mkdir "funny " && + >"funny /empty" && + git add "funny /empty" && + git diff HEAD -- "funny /" >sample.patch && + git diff -R HEAD -- "funny /" >elpmas.patch && - git update-index --add --cacheinfo "100644,$empty_blob,funny /empty" && - git diff --cached HEAD -- "funny /" >sample.patch && - git diff --cached -R HEAD -- "funny /" >elpmas.patch && - git reset && + git reset --hard && - git apply --cached --stat --check --apply sample.patch && - git rev-parse --verify ":funny /empty" >actual && - test_cmp expect actual && + git apply --stat --check --apply sample.patch && + test_must_be_empty "funny /empty" && - git apply --cached --stat --check --apply elpmas.patch && - test_must_fail git rev-parse --verify ":funny /empty" && + git apply --stat --check --apply elpmas.patch && + test_path_is_missing "funny /empty" && - git apply -R --cached --stat --check --apply elpmas.patch && - git rev-parse --verify ":funny /empty" >actual && - test_cmp expect actual && + git apply -R --stat --check --apply elpmas.patch && + test_must_be_empty "funny /empty" && - git apply -R --cached --stat --check --apply sample.patch && - test_must_fail git rev-parse --verify ":funny /empty" + git apply -R --stat --check --apply sample.patch && + test_path_is_missing "funny /empty" ' test_done |