* [minor] two tests broken when run with a --root directory that's a symlink
@ 2012-10-11 21:55 Ævar Arnfjörð Bjarmason
2012-10-11 22:38 ` [PATCH] bash prompt: fix tests when run with a symlink --root SZEDER Gábor
2012-10-11 22:50 ` [minor] two tests broken when run with a --root directory that's a symlink Michael Haggerty
0 siblings, 2 replies; 4+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2012-10-11 21:55 UTC (permalink / raw)
To: Git Mailing List; +Cc: SZEDER Gábor, Tim Henigan
These issues are minor, I noticed it because I test with /dev/shm/git
as the --root, which on Debian is symlinked to /run/..
$ rm -rf /tmp/{foo,bar}
$ mkdir /tmp/target; ln -s /tmp/target /tmp/link
$ prove ./t4035-diff-quiet.sh ./t9903-bash-prompt.sh :: --root=/tmp/target
./t4035-diff-quiet.sh ... ok
./t9903-bash-prompt.sh .. ok
All tests successful.
Files=2, Tests=64, 1 wallclock secs ( 0.04 usr 0.00 sys + 0.07
cusr 0.06 csys = 0.17 CPU)
Result: PASS
$ prove ./t4035-diff-quiet.sh ./t9903-bash-prompt.sh :: --root=/tmp/link
./t4035-diff-quiet.sh ... Dubious, test returned 1 (wstat 256, 0x100)
Failed 3/20 subtests
./t9903-bash-prompt.sh .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 6/44 subtests
Everything else in the test suite passes with a --root that's a symlink.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] bash prompt: fix tests when run with a symlink --root
2012-10-11 21:55 [minor] two tests broken when run with a --root directory that's a symlink Ævar Arnfjörð Bjarmason
@ 2012-10-11 22:38 ` SZEDER Gábor
2012-10-11 22:50 ` [minor] two tests broken when run with a --root directory that's a symlink Michael Haggerty
1 sibling, 0 replies; 4+ messages in thread
From: SZEDER Gábor @ 2012-10-11 22:38 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason; +Cc: git, SZEDER Gábor
Some __gitdir() tests fail when they're run with a --root directory
which is a symlink, because they use $TRASH_DIRECTORY to construct the
expected absolute paths. Use the path got from 'pwd -P' instead
throughout the test script.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
t/t9903-bash-prompt.sh | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index f17c1f8b..7a7b198f 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -11,6 +11,8 @@ test_description='test git-specific bash prompt functions'
actual="$TRASH_DIRECTORY/actual"
+TRASH_ROOT="$(pwd -P)"
+
test_expect_success 'setup for prompt tests' '
mkdir -p subdir/subsubdir &&
git init otherrepo &&
@@ -32,9 +34,9 @@ test_expect_success 'setup for prompt tests' '
'
test_expect_success 'gitdir - from command line (through $__git_dir)' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
(
- __git_dir="$TRASH_DIRECTORY/otherrepo/.git" &&
+ __git_dir="$TRASH_ROOT/otherrepo/.git" &&
__gitdir > "$actual"
) &&
test_cmp expected "$actual"
@@ -59,7 +61,7 @@ test_expect_success 'gitdir - .git directory in cwd' '
'
test_expect_success 'gitdir - .git directory in parent' '
- echo "$TRASH_DIRECTORY/.git" > expected &&
+ echo "$TRASH_ROOT/.git" > expected &&
(
cd subdir/subsubdir &&
__gitdir > "$actual"
@@ -77,7 +79,7 @@ test_expect_success 'gitdir - cwd is a .git directory' '
'
test_expect_success 'gitdir - parent is a .git directory' '
- echo "$TRASH_DIRECTORY/.git" > expected &&
+ echo "$TRASH_ROOT/.git" > expected &&
(
cd .git/refs/heads &&
__gitdir > "$actual"
@@ -86,9 +88,9 @@ test_expect_success 'gitdir - parent is a .git directory' '
'
test_expect_success 'gitdir - $GIT_DIR set while .git directory in cwd' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
(
- GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+ GIT_DIR="$TRASH_ROOT/otherrepo/.git" &&
export GIT_DIR &&
__gitdir > "$actual"
) &&
@@ -96,9 +98,9 @@ test_expect_success 'gitdir - $GIT_DIR set while .git directory in cwd' '
'
test_expect_success 'gitdir - $GIT_DIR set while .git directory in parent' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
(
- GIT_DIR="$TRASH_DIRECTORY/otherrepo/.git" &&
+ GIT_DIR="$TRASH_ROOT/otherrepo/.git" &&
export GIT_DIR &&
cd subdir &&
__gitdir > "$actual"
@@ -108,15 +110,15 @@ test_expect_success 'gitdir - $GIT_DIR set while .git directory in parent' '
test_expect_success 'gitdir - non-existing $GIT_DIR' '
(
- GIT_DIR="$TRASH_DIRECTORY/non-existing" &&
+ GIT_DIR="$TRASH_ROOT/non-existing" &&
export GIT_DIR &&
test_must_fail __gitdir
)
'
test_expect_success 'gitdir - gitfile in cwd' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
- echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" > subdir/.git &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
+ echo "gitdir: $TRASH_ROOT/otherrepo/.git" > subdir/.git &&
test_when_finished "rm -f subdir/.git" &&
(
cd subdir &&
@@ -126,8 +128,8 @@ test_expect_success 'gitdir - gitfile in cwd' '
'
test_expect_success 'gitdir - gitfile in parent' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
- echo "gitdir: $TRASH_DIRECTORY/otherrepo/.git" > subdir/.git &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
+ echo "gitdir: $TRASH_ROOT/otherrepo/.git" > subdir/.git &&
test_when_finished "rm -f subdir/.git" &&
(
cd subdir/subsubdir &&
@@ -137,7 +139,7 @@ test_expect_success 'gitdir - gitfile in parent' '
'
test_expect_success SYMLINKS 'gitdir - resulting path avoids symlinks' '
- echo "$TRASH_DIRECTORY/otherrepo/.git" > expected &&
+ echo "$TRASH_ROOT/otherrepo/.git" > expected &&
mkdir otherrepo/dir &&
test_when_finished "rm -rf otherrepo/dir" &&
ln -s otherrepo/dir link &&
@@ -152,7 +154,7 @@ test_expect_success SYMLINKS 'gitdir - resulting path avoids symlinks' '
test_expect_success 'gitdir - not a git repository' '
(
cd subdir/subsubdir &&
- GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY" &&
+ GIT_CEILING_DIRECTORIES="$TRASH_ROOT" &&
export GIT_CEILING_DIRECTORIES &&
test_must_fail __gitdir
)
@@ -250,7 +252,7 @@ echo "edit $(git log -1 --format="%h")" > "$1"
EOF
test_when_finished "rm -f fake_editor.sh" &&
chmod a+x fake_editor.sh &&
- test_set_editor "$TRASH_DIRECTORY/fake_editor.sh" &&
+ test_set_editor "$TRASH_ROOT/fake_editor.sh" &&
git checkout b1 &&
test_when_finished "git checkout master" &&
git rebase -i HEAD^ &&
--
1.8.0.rc0.83.gc8e1777
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [minor] two tests broken when run with a --root directory that's a symlink
2012-10-11 21:55 [minor] two tests broken when run with a --root directory that's a symlink Ævar Arnfjörð Bjarmason
2012-10-11 22:38 ` [PATCH] bash prompt: fix tests when run with a symlink --root SZEDER Gábor
@ 2012-10-11 22:50 ` Michael Haggerty
2012-10-11 23:26 ` Junio C Hamano
1 sibling, 1 reply; 4+ messages in thread
From: Michael Haggerty @ 2012-10-11 22:50 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Git Mailing List, SZEDER Gábor, Tim Henigan
On 10/11/2012 11:55 PM, Ævar Arnfjörð Bjarmason wrote:
> These issues are minor, I noticed it because I test with /dev/shm/git
> as the --root, which on Debian is symlinked to /run/..
>
> $ rm -rf /tmp/{foo,bar}
> $ mkdir /tmp/target; ln -s /tmp/target /tmp/link
> $ prove ./t4035-diff-quiet.sh ./t9903-bash-prompt.sh :: --root=/tmp/target
> ./t4035-diff-quiet.sh ... ok
> ./t9903-bash-prompt.sh .. ok
> All tests successful.
> Files=2, Tests=64, 1 wallclock secs ( 0.04 usr 0.00 sys + 0.07
> cusr 0.06 csys = 0.17 CPU)
> Result: PASS
> $ prove ./t4035-diff-quiet.sh ./t9903-bash-prompt.sh :: --root=/tmp/link
> ./t4035-diff-quiet.sh ... Dubious, test returned 1 (wstat 256, 0x100)
> Failed 3/20 subtests
> ./t9903-bash-prompt.sh .. Dubious, test returned 1 (wstat 256, 0x100)
> Failed 6/44 subtests
>
> Everything else in the test suite passes with a --root that's a symlink.
I ran into the same problem a while ago, and submitted a patch series
that fixes t4035 (whose problems are related to GIT_CEILING_DIRECTORIES):
http://thread.gmane.org/gmane.comp.version-control.git/206633
Junio didn't like the approach so much and I haven't yet had time to
submit a revised version.
Michael
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [minor] two tests broken when run with a --root directory that's a symlink
2012-10-11 22:50 ` [minor] two tests broken when run with a --root directory that's a symlink Michael Haggerty
@ 2012-10-11 23:26 ` Junio C Hamano
0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2012-10-11 23:26 UTC (permalink / raw)
To: Michael Haggerty
Cc: Ævar Arnfjörð Bjarmason, Git Mailing List,
SZEDER Gábor, Tim Henigan
Michael Haggerty <mhagger@alum.mit.edu> writes:
> I ran into the same problem a while ago, and submitted a patch series
> that fixes t4035 (whose problems are related to GIT_CEILING_DIRECTORIES):
>
> http://thread.gmane.org/gmane.comp.version-control.git/206633
>
> Junio didn't like the approach so much and I haven't yet had time to
> submit a revised version.
I like the approach of comparing each element of CEILING and the
directory not before but after resolving any symlinks in them.
My comments was only about the implementation that seemed to make
the API layering boundary more complex than necessary.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-10-11 23:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-11 21:55 [minor] two tests broken when run with a --root directory that's a symlink Ævar Arnfjörð Bjarmason
2012-10-11 22:38 ` [PATCH] bash prompt: fix tests when run with a symlink --root SZEDER Gábor
2012-10-11 22:50 ` [minor] two tests broken when run with a --root directory that's a symlink Michael Haggerty
2012-10-11 23:26 ` Junio C Hamano
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).