From: "SZEDER Gábor" <szeder@ira.uka.de>
To: git@vger.kernel.org
Cc: "Eduardo D'Avila" <erdavila@gmail.com>,
"SZEDER Gábor" <szeder@ira.uka.de>
Subject: [PATCHv3 03/16] completion, bash prompt: move __gitdir() tests to completion test suite
Date: Mon, 24 Jun 2013 18:39:13 +0200 [thread overview]
Message-ID: <1372091966-19315-4-git-send-email-szeder@ira.uka.de> (raw)
In-Reply-To: <1372091966-19315-1-git-send-email-szeder@ira.uka.de>
Currently __gitdir() is duplicated in the git completion and prompt
scripts, while its tests are in the prompt test suite. This patch
series is about to change __git_ps1() in a way that it won't need
__gitdir() anymore and __gitdir() will be removed from the prompt
script.
So move all __gitdir() tests from the prompt test suite over to the
completion test suite. Update the setup tests so that they perform
only those steps that are necessary for each test suite.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
t/t9902-completion.sh | 134 +++++++++++++++++++++++++++++++++++++++++++++++++
t/t9903-bash-prompt.sh | 128 ----------------------------------------------
2 files changed, 134 insertions(+), 128 deletions(-)
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 81a1657e..5469dee8 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -122,6 +122,140 @@ test_gitcomp_nl ()
invalid_variable_name='${foo.bar}'
+actual="$TRASH_DIRECTORY/actual"
+
+test_expect_success 'setup for __gitdir tests' '
+ mkdir -p subdir/subsubdir &&
+ git init otherrepo
+'
+
+test_expect_success '__gitdir - from command line (through $__git_dir)' '
+ echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+ (
+ __git_dir="$TRASH_DIRECTORY/otherrepo/.git" &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - repo as argument' '
+ echo "otherrepo/.git" >expected &&
+ __gitdir "otherrepo" >"$actual" &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - remote as argument' '
+ echo "remote" >expected &&
+ __gitdir "remote" >"$actual" &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - .git directory in cwd' '
+ echo ".git" >expected &&
+ __gitdir >"$actual" &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - .git directory in parent' '
+ echo "$(pwd -P)/.git" >expected &&
+ (
+ cd subdir/subsubdir &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - cwd is a .git directory' '
+ echo "." >expected &&
+ (
+ cd .git &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - parent is a .git directory' '
+ echo "$(pwd -P)/.git" >expected &&
+ (
+ cd .git/refs/heads &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - $GIT_DIR set while .git directory in cwd' '
+ echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+ (
+ GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+ export GIT_DIR &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - $GIT_DIR set while .git directory in parent' '
+ echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
+ (
+ GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+ export GIT_DIR &&
+ cd subdir &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - non-existing $GIT_DIR' '
+ (
+ GIT_DIR="$TRASH_DIRECTORY/non-existing" &&
+ export GIT_DIR &&
+ test_must_fail __gitdir
+ )
+'
+
+test_expect_success '__gitdir - gitfile in cwd' '
+ echo "$(pwd -P)/otherrepo/.git" >expected &&
+ echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
+ test_when_finished "rm -f subdir/.git" &&
+ (
+ cd subdir &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - gitfile in parent' '
+ echo "$(pwd -P)/otherrepo/.git" >expected &&
+ echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
+ test_when_finished "rm -f subdir/.git" &&
+ (
+ cd subdir/subsubdir &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success SYMLINKS '__gitdir - resulting path avoids symlinks' '
+ echo "$(pwd -P)/otherrepo/.git" >expected &&
+ mkdir otherrepo/dir &&
+ test_when_finished "rm -rf otherrepo/dir" &&
+ ln -s otherrepo/dir link &&
+ test_when_finished "rm -f link" &&
+ (
+ cd link &&
+ __gitdir >"$actual"
+ ) &&
+ test_cmp expected "$actual"
+'
+
+test_expect_success '__gitdir - not a git repository' '
+ (
+ cd subdir/subsubdir &&
+ GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY" &&
+ export GIT_CEILING_DIRECTORIES &&
+ test_must_fail __gitdir
+ )
+'
+
test_expect_success '__gitcomp - trailing space - options' '
test_gitcomp "--re" "--dry-run --reuse-message= --reedit-message=
--reset-author" <<-EOF
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index 442b9a20..df36239a 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -12,7 +12,6 @@ test_description='test git-specific bash prompt functions'
actual="$TRASH_DIRECTORY/actual"
test_expect_success 'setup for prompt tests' '
- mkdir -p subdir/subsubdir &&
git init otherrepo &&
echo 1 >file &&
git add file &&
@@ -35,133 +34,6 @@ test_expect_success 'setup for prompt tests' '
git checkout master
'
-test_expect_success 'gitdir - from command line (through $__git_dir)' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
- (
- __git_dir="$TRASH_DIRECTORY/otherrepo/.git" &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - repo as argument' '
- echo "otherrepo/.git" >expected &&
- __gitdir "otherrepo" >"$actual" &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - remote as argument' '
- echo "remote" >expected &&
- __gitdir "remote" >"$actual" &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - .git directory in cwd' '
- echo ".git" >expected &&
- __gitdir >"$actual" &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - .git directory in parent' '
- echo "$(pwd -P)/.git" >expected &&
- (
- cd subdir/subsubdir &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - cwd is a .git directory' '
- echo "." >expected &&
- (
- cd .git &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - parent is a .git directory' '
- echo "$(pwd -P)/.git" >expected &&
- (
- cd .git/refs/heads &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - $GIT_DIR set while .git directory in cwd' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
- (
- GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
- export GIT_DIR &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - $GIT_DIR set while .git directory in parent' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" >expected &&
- (
- GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
- export GIT_DIR &&
- cd subdir &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - non-existing $GIT_DIR' '
- (
- GIT_DIR="$TRASH_DIRECTORY/non-existing" &&
- export GIT_DIR &&
- test_must_fail __gitdir
- )
-'
-
-test_expect_success 'gitdir - gitfile in cwd' '
- echo "$(pwd -P)/otherrepo/.git" >expected &&
- echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
- test_when_finished "rm -f subdir/.git" &&
- (
- cd subdir &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - gitfile in parent' '
- echo "$(pwd -P)/otherrepo/.git" >expected &&
- echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" >subdir/.git &&
- test_when_finished "rm -f subdir/.git" &&
- (
- cd subdir/subsubdir &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success SYMLINKS 'gitdir - resulting path avoids symlinks' '
- echo "$(pwd -P)/otherrepo/.git" >expected &&
- mkdir otherrepo/dir &&
- test_when_finished "rm -rf otherrepo/dir" &&
- ln -s otherrepo/dir link &&
- test_when_finished "rm -f link" &&
- (
- cd link &&
- __gitdir >"$actual"
- ) &&
- test_cmp expected "$actual"
-'
-
-test_expect_success 'gitdir - not a git repository' '
- (
- cd subdir/subsubdir &&
- GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY" &&
- export GIT_CEILING_DIRECTORIES &&
- test_must_fail __gitdir
- )
-'
-
test_expect_success 'prompt - branch name' '
printf " (master)" >expected &&
__git_ps1 >"$actual" &&
--
1.8.3.1.599.g4459181
next prev parent reply other threads:[~2013-06-24 16:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-24 16:39 [PATCHv3 00/16] bash prompt speedup SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 01/16] bash prompt: fix redirection coding style in tests SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 02/16] bash prompt: use 'write_script' helper in interactive rebase test SZEDER Gábor
2013-06-24 16:39 ` SZEDER Gábor [this message]
2013-06-24 16:39 ` [PATCHv3 04/16] bash prompt: add a test for symbolic link symbolic refs SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 05/16] bash prompt: print unique detached HEAD abbreviated object name SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 06/16] bash prompt: return early from __git_ps1() when not in a git repository SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 07/16] bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir() SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 08/16] bash prompt: use bash builtins to find out rebase state SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 09/16] bash prompt: use bash builtins to find out current branch SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 10/16] bash prompt: combine 'git rev-parse' executions in the main code path SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 11/16] bash prompt: combine 'git rev-parse' for detached head SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 12/16] bash prompt: use bash builtins to check for unborn branch for dirty state SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 13/16] bash prompt: use bash builtins to check stash state SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 14/16] bash prompt: avoid command substitution when checking for untracked files SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 15/16] bash prompt: avoid command substitution when finalizing gitstring SZEDER Gábor
2013-06-24 16:39 ` [PATCHv3 16/16] bash prompt: mention that PROMPT_COMMAND mode is faster SZEDER Gábor
2013-06-24 19:25 ` [PATCHv3 00/16] bash prompt speedup Junio C Hamano
2013-06-25 2:00 ` Eduardo R. D'Avila
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=1372091966-19315-4-git-send-email-szeder@ira.uka.de \
--to=szeder@ira.uka.de \
--cc=erdavila@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).