git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[WIP PATCH 18/18] t1510: setup case #15

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Oct 24, 2010, 12:11 UTC
Message-ID
<1287922310-14678-19-git-send-email-pclouds@gmail.com>
In-Reply-To
<1287922310-14678-1-git-send-email-pclouds@gmail.com>
---
 t/t1510-repo-setup.sh |  256 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 256 insertions(+), 0 deletions(-)
diff --git a/t/t1510-repo-setup.sh b/t/t1510-repo-setup.sh
index 5c1b96e..f412890 100755
--- a/t/t1510-repo-setup.sh
+++ b/t/t1510-repo-setup.sh
@@ -2224,4 +2224,260 @@ EOF
 	GIT_DIR="$TRASH_DIRECTORY/14/.git" test_repo 14/sub/sub
 '
 
+#
+# case #15
+#
+############################################################
+#
+# Input:
+#
+#  - GIT_WORK_TREE is set
+#  - GIT_DIR is set
+#  - core.worktree is set
+#  - .git is a file
+#  - core.bare is not set, cwd is outside .git
+#
+# Output:
+#
+# same as case #7 except that git_dir is set by .git file
+
+test_expect_success '#15: setup' '
+	unset GIT_DIR GIT_WORK_TREE &&
+	mkdir 15 15/sub 15/sub/sub 15.wt 15.wt/sub 15/wt 15/wt/sub &&
+	cd 15 &&
+	git init &&
+	git config core.worktree non-existent &&
+	mv .git ../15.git &&
+	echo gitdir: ../15.git >.git &&
+	cd ..
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR=.git GIT_WORK_TREE="$TRASH_DIRECTORY/15" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR=.git GIT_WORK_TREE=. test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY/15" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=. test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+sub/sub/
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE="$TRASH_DIRECTORY/15" test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+sub/sub/
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE=../.. test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORKTREE in subdir' '
+	cat >15/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+sub/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY/15" test_repo 15/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORKTREE(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15
+$TRASH_DIRECTORY/15
+sub/sub/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=../.. test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR=.git GIT_WORK_TREE="$TRASH_DIRECTORY/15/wt" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR=.git GIT_WORK_TREE=wt test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=wt test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY/15/wt" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15/sub/sub
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE="$TRASH_DIRECTORY/15/wt" test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15/sub/sub
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE=../../wt test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15/sub/sub
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=../../wt test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY/15/wt
+$TRASH_DIRECTORY/15/sub/sub
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY/15/wt" test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/
+EOF
+	GIT_DIR=.git GIT_WORK_TREE="$TRASH_DIRECTORY" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/
+EOF
+	GIT_DIR=.git GIT_WORK_TREE=.. test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=.. test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. at root' '
+	cat >15/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY" test_repo 15
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/sub/sub/
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE="$TRASH_DIRECTORY" test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/sub/sub/
+EOF
+	GIT_DIR=../../.git GIT_WORK_TREE=../../.. test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/sub/sub/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE=../../../ test_repo 15/sub/sub
+'
+
+test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
+	cat >15/sub/sub/expected <<EOF &&
+$TRASH_DIRECTORY/15.git
+$TRASH_DIRECTORY
+$TRASH_DIRECTORY
+15/sub/sub/
+EOF
+	GIT_DIR="$TRASH_DIRECTORY/15/.git" GIT_WORK_TREE="$TRASH_DIRECTORY" test_repo 15/sub/sub
+'
+
 test_done
-- 
1.7.0.2.445.gcbdb3
Previous: Nguyễn Thái Ngọc Duy
Message 23 of 23 in “setup tests”
  1. 00/18 setup testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  2. 01/18 rev-parse: add --internal-cwd and --internal-git-dir for testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  3. Jonathan NiederOct 24, 2010
  4. Nguyen Thai Ngoc DuyOct 25, 2010
  5. Jakub NarebskiOct 25, 2010
  6. Nguyen Thai Ngoc DuyOct 25, 2010
  7. 02/18 Add t1510 for setup testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  8. 03/18 t1510: setup case #0Nguyễn Thái Ngọc Duy, Oct 24, 2010
  9. 04/18 t1510: setup case #1Nguyễn Thái Ngọc Duy, Oct 24, 2010
  10. 05/18 t1510: setup case #2Nguyễn Thái Ngọc Duy, Oct 24, 2010
  11. 06/18 t1510: setup case #3Nguyễn Thái Ngọc Duy, Oct 24, 2010
  12. 07/18 t1510: setup case #4Nguyễn Thái Ngọc Duy, Oct 24, 2010
  13. 08/18 t1510: setup case #5Nguyễn Thái Ngọc Duy, Oct 24, 2010
  14. 09/18 t1510: setup case #6Nguyễn Thái Ngọc Duy, Oct 24, 2010
  15. 10/18 t1510: setup case #7Nguyễn Thái Ngọc Duy, Oct 24, 2010
  16. 11/18 t1510: setup case #8Nguyễn Thái Ngọc Duy, Oct 24, 2010
  17. 12/18 t1510: setup case #9Nguyễn Thái Ngọc Duy, Oct 24, 2010
  18. 13/18 t1510: setup case #10Nguyễn Thái Ngọc Duy, Oct 24, 2010
  19. 14/18 t1510: setup case #11Nguyễn Thái Ngọc Duy, Oct 24, 2010
  20. 15/18 t1510: setup case #12Nguyễn Thái Ngọc Duy, Oct 24, 2010
  21. 16/18 t1510: setup case #13Nguyễn Thái Ngọc Duy, Oct 24, 2010
  22. 17/18 t1510: setup case #14Nguyễn Thái Ngọc Duy, Oct 24, 2010
  23. 18/18 t1510: setup case #15Nguyễn Thái Ngọc Duy, Oct 24, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.