All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH 10/10] Additional tests to capture worktree special cases
Date: Sun, 2 Mar 2008 17:35:43 +0700	[thread overview]
Message-ID: <20080302103543.GA9028@laptop> (raw)
In-Reply-To: <cover.1204453703.git.pclouds@gmail.com>

Most of them are for setup_git_directory_gently() commands
as those are likely to break.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 t/t1501-worktree.sh |   57 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/t/t1501-worktree.sh b/t/t1501-worktree.sh
index 7ee3820..a53c1f5 100755
--- a/t/t1501-worktree.sh
+++ b/t/t1501-worktree.sh
@@ -47,7 +47,19 @@ export GIT_CONFIG="$(pwd)"/$GIT_DIR/config
 test_rev_parse 'subdirectory' false false true sub/dir/
 cd ../../.. || exit 1
 
-say "core.worktree = absolute path"
+say "core.worktree = absolute path with GIT_DIR unset"
+mkdir -p $(pwd)/repo.git/work/sub/dir || exit 1
+unset GIT_DIR
+export GIT_CONFIG=$(pwd)/repo.git/config
+git config core.worktree "$(pwd)/repo.git/work"
+test_rev_parse 'outside'      false false false
+cd repo.git/work || exit 1
+test_rev_parse 'inside'       false true true ''
+cd sub/dir || exit 1
+test_rev_parse 'subdirectory' false true true sub/dir/
+cd ../../../.. || exit 1
+
+say "core.worktree = absolute path with GIT_DIR set"
 export GIT_DIR=$(pwd)/repo.git
 export GIT_CONFIG=$GIT_DIR/config
 git config core.worktree "$(pwd)/work"
@@ -58,6 +70,47 @@ cd sub/dir || exit 1
 test_rev_parse 'subdirectory' false false true sub/dir/
 cd ../../.. || exit 1
 
+test_expect_success '"git ls-files -o" gets correct prefix' '
+	(cd work/sub && touch untracked &&
+	test "$(git ls-files -o)" = untracked)'
+
+rm work/sub/untracked || exit 1
+
+cat <<EOF >expected
+:100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M	sub/tracked
+EOF
+
+cat <<EOF >expected2
+:100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M	tracked
+EOF
+
+test_expect_success '"git diff-files" gets correct prefix' '
+	(cd work/sub  && touch tracked &&
+	git add tracked && echo modified > tracked &&
+	git diff-files > ../../result &&
+	git diff-files --relative > ../../result2 &&
+	git rm -f tracked) &&
+	cmp result expected &&
+	cmp result2 expected2'
+
+cat <<EOF >expected
+:100644 100644 e69de29... 0000000... M	sub/tracked
+EOF
+
+cat <<EOF >expected2
+:100644 100644 e69de29... 0000000... M	tracked
+EOF
+
+
+test_expect_success '"git diff" gets correct prefix' '
+	(cd work/sub  && touch tracked &&
+	git add tracked && echo modified > tracked &&
+	git diff --raw > ../../result &&
+	git diff --raw --relative > ../../result2 &&
+	git rm -f tracked) &&
+	cmp result expected &&
+	cmp result2 expected2'
+
 say "GIT_WORK_TREE=relative path (override core.worktree)"
 export GIT_DIR=$(pwd)/repo.git
 export GIT_CONFIG=$GIT_DIR/config
@@ -103,7 +156,7 @@ test_expect_success 'repo finds its work tree from work tree, too' '
 	 test sub/dir/tracked = "$(git ls-files)")
 '
 
-test_expect_success '_gently() groks relative GIT_DIR & GIT_WORK_TREE' '
+test_expect_success '"git diff" setup worktree properly' '
 	cd repo.git/work/sub/dir &&
 	GIT_DIR=../../.. GIT_WORK_TREE=../.. GIT_PAGER= \
 		git diff --exit-code tracked &&
-- 
1.5.4.2.281.g28d0e

      parent reply	other threads:[~2008-03-02 10:36 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1204453703.git.pclouds@gmail.com>
2008-03-02 10:33 ` [PATCH 01/10] "git read-tree -m" and the like require worktree Nguyễn Thái Ngọc Duy
2008-03-11 13:02   ` Johannes Schindelin
2008-03-11 14:57     ` Nguyen Thai Ngoc Duy
2008-03-11 15:06       ` Johannes Schindelin
2008-03-11 15:41         ` Nguyen Thai Ngoc Duy
2008-03-02 10:33 ` [PATCH 02/10] Make sure setup_git_directory is called before accessing repository Nguyễn Thái Ngọc Duy
2008-03-02 10:33 ` [PATCH 03/10] Make get_git_dir() and 'git rev-parse --git-dir' absolute path Nguyễn Thái Ngọc Duy
2008-03-11 13:20   ` Johannes Schindelin
2008-03-11 15:06     ` Nguyen Thai Ngoc Duy
2008-03-11 15:18       ` Johannes Schindelin
2008-03-11 15:39         ` Nguyen Thai Ngoc Duy
2008-03-11 16:20           ` Johannes Schindelin
2008-03-02 10:34 ` [PATCH 04/10] Make setup_work_tree() return new prefix Nguyễn Thái Ngọc Duy
2008-03-11 13:27   ` Johannes Schindelin
2008-03-11 15:18     ` Nguyen Thai Ngoc Duy
2008-03-02 10:34 ` [PATCH 05/10] http-push: Avoid calling setup_git_directory() twice Nguyễn Thái Ngọc Duy
2008-03-11 13:28   ` Johannes Schindelin
2008-03-11 14:54     ` Nguyen Thai Ngoc Duy
2008-03-11 15:08       ` Johannes Schindelin
2008-03-11 16:12         ` Nguyen Thai Ngoc Duy
2008-03-02 10:34 ` [PATCH 06/10] Completely move out worktree setup from setup_git_directory_gently() Nguyễn Thái Ngọc Duy
2008-03-11 13:31   ` Johannes Schindelin
2008-03-11 15:28     ` Nguyen Thai Ngoc Duy
2008-03-11 16:21       ` Johannes Schindelin
2008-03-02 10:34 ` [PATCH 07/10] builtin-archive: mark unused prefix "unused_prefix" Nguyễn Thái Ngọc Duy
2008-03-11 13:33   ` Johannes Schindelin
2008-03-11 14:50     ` Nguyen Thai Ngoc Duy
2008-03-11 15:38       ` Jay Soffian
2008-03-11 16:21         ` Nguyen Thai Ngoc Duy
2008-03-02 10:35 ` [PATCH 08/10] Make setup_git_directory() auto-setup worktree if found Nguyễn Thái Ngọc Duy
2008-03-02 10:35 ` [PATCH 09/10] Documentation: update api-builtin and api-setup Nguyễn Thái Ngọc Duy
2008-03-02 10:35 ` Nguyễn Thái Ngọc Duy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080302103543.GA9028@laptop \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.