[RFC PATCH 1/3] t0009: add tests to cover more error reporting scenarios
From: Kaartic Sivaraam <hidden>
Date: 2026-09-24 12:05:15
Subsystem:
the rest · Maintainer:
Linus Torvalds
Introduce few more tests to t0009 to cover error reporting scenarios when --git-dir is used. Signed-off-by: Kaartic Sivaraam <redacted> --- t/t0009-git-dir-validation.sh | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/t/t0009-git-dir-validation.sh b/t/t0009-git-dir-validation.sh
index 4cba478e50..244dc07c0e 100755
--- a/t/t0009-git-dir-validation.sh
+++ b/t/t0009-git-dir-validation.sh@@ -74,4 +74,40 @@ test_expect_success 'setup: .git as an empty directory is ignored' ' ) ' +test_expect_success 'setup: custom git directory with missing HEAD is rejected' ' + test_when_finished "rm -rf parent/empty-dir" && + mkdir -p parent/empty-dir && + ( + test_must_fail git --git-dir parent/empty-dir rev-parse --is-bare-repository 2>stderr && + test_grep "not a git repository" stderr + ) +' + +test_expect_success 'setup: custom git directory with HEAD as a symlink outside refs/ is rejected' ' + test_when_finished "rm -rf parent/head-as-link-to-garbage" && + mkdir -p parent/head-as-link-to-garbage && + ( + cd parent/head-as-link-to-garbage && + git init --bare real-repo && + touch garbage && + rm real-repo/HEAD && + ln -s ../garbage real-repo/HEAD && + test_must_fail git --git-dir real-repo rev-parse --is-bare-repository 2>stderr && + test_grep "not a git repository" stderr + ) +' + +test_expect_success 'setup: custom git directory with invalid GIT_OBJECT_DIRECTORY configuration is rejected' ' + test_when_finished "rm -rf parent/invalid-git-object-directory-config" && + mkdir -p parent/invalid-git-object-directory-config && + ( + cd parent/invalid-git-object-directory-config && + git init --bare real-repo && + test_must_fail env GIT_OBJECT_DIRECTORY="$(pwd)/does-not-exist" \ + git --git-dir real-repo rev-parse --is-bare-repository 2>stderr && + test_grep "not a git repository" stderr + ) +' + + test_done
--
2.56.0.rc1.12.g2c9c8d64bb