git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Test fails on ubuntu breezy
@ 2006-04-13  7:53 Aneesh Kumar
  2006-04-13 10:20 ` Peter Eriksen
  0 siblings, 1 reply; 8+ messages in thread
From: Aneesh Kumar @ 2006-04-13  7:53 UTC (permalink / raw)
  To: Git Mailing List

kvaneesh@home:~/git-work/git.build/t$ ./t3600-rm.sh
Committing initial tree e5c556e46aae6124ff4a2a466c95004e92d9a2e4
*   ok 1: Pre-check that foo exists and is in index before git-rm foo
*   ok 2: Test that git-rm foo succeeds
*   ok 3: Post-check that foo exists but is not in index after git-rm foo
*   ok 4: Pre-check that bar exists and is in index before "git-rm -f bar"
*   ok 5: Test that "git-rm -f bar" succeeds
*   ok 6: Post-check that bar does not exist and is not in index after
"git-rm -f bar"
*   ok 7: Test that "git-rm -- -q" succeeds (remove a file that looks
like an option)
*   ok 8: Test that "git-rm -f" succeeds with embedded space, tab, or
newline characters.
* FAIL 9: Test that "git-rm -f" fails if its rm fails
        git-rm -f baz
*   ok 10: When the rm in "git-rm -f" fails, it should not remove the
file from the index
* failed 1 among 10 test(s)
kvaneesh@home:~/git-work/git.build/t$

-aneesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-13  7:53 Aneesh Kumar
@ 2006-04-13 10:20 ` Peter Eriksen
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Eriksen @ 2006-04-13 10:20 UTC (permalink / raw)
  To: Git Mailing List

On Thu, Apr 13, 2006 at 01:23:07PM +0530, Aneesh Kumar wrote:
> kvaneesh@home:~/git-work/git.build/t$ ./t3600-rm.sh
> Committing initial tree e5c556e46aae6124ff4a2a466c95004e92d9a2e4
> *   ok 1: Pre-check that foo exists and is in index before git-rm foo
> *   ok 2: Test that git-rm foo succeeds
> *   ok 3: Post-check that foo exists but is not in index after git-rm foo
> *   ok 4: Pre-check that bar exists and is in index before "git-rm -f bar"
> *   ok 5: Test that "git-rm -f bar" succeeds
> *   ok 6: Post-check that bar does not exist and is not in index after
> "git-rm -f bar"
> *   ok 7: Test that "git-rm -- -q" succeeds (remove a file that looks
> like an option)
> *   ok 8: Test that "git-rm -f" succeeds with embedded space, tab, or
> newline characters.
> * FAIL 9: Test that "git-rm -f" fails if its rm fails
>         git-rm -f baz
> *   ok 10: When the rm in "git-rm -f" fails, it should not remove the
> file from the index
> * failed 1 among 10 test(s)
> kvaneesh@home:~/git-work/git.build/t$

On solaris 10 too, only test 5 also fails.

Peter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
@ 2006-04-13 11:54 linux
  2006-04-13 18:56 ` Junio C Hamano
  0 siblings, 1 reply; 8+ messages in thread
From: linux @ 2006-04-13 11:54 UTC (permalink / raw)
  To: git

I've recently encountered the same problem with t/t3600-rm.sh step 9,
but I put it down to compiling as root.

Basically, the chmod of the directory didn't stop the delete from
happening, since I had umask 002 and it was g+w.

Anyway, that test is fragile.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-13 11:54 Test fails on ubuntu breezy linux
@ 2006-04-13 18:56 ` Junio C Hamano
  2006-04-15  6:47   ` Aneesh Kumar
  0 siblings, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2006-04-13 18:56 UTC (permalink / raw)
  To: linux, Peter Eriksen, Aneesh Kumar; +Cc: git, Carl Worth

linux@horizon.com writes:

> I've recently encountered the same problem with t/t3600-rm.sh step 9,
> but I put it down to compiling as root.
>
> Basically, the chmod of the directory didn't stop the delete from
> happening, since I had umask 002 and it was g+w.
>
> Anyway, that test is fragile.

Indeed.  I am not sure about test #5, but here is my stab at
fixing test #9.

-- >8 --
[PATCH] t3600-rm: skip failed-remove test when we cannot make an unremovable file

When running t3600-rm test under fakeroot (or as root), we
cannot make a file unremovable with "chmod a-w .".  Detect this
case early and skip that test.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index d1947e1..acaa4d6 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -23,6 +23,16 @@ else
     test_tabs=n
 fi
 
+# Later we will try removing an unremovable path to make sure
+# git-rm barfs, but if the test is run as root that cannot be
+# arranged.
+: >test-file
+chmod a-w .
+rm -f test-file
+test -f test-file && test_failed_remove=y
+chmod 775 .
+rm -f test-file
+
 test_expect_success \
     'Pre-check that foo exists and is in index before git-rm foo' \
     '[ -f foo ] && git-ls-files --error-unmatch foo'
@@ -56,12 +66,14 @@ test "$test_tabs" = y && test_expect_suc
     "git-rm -f 'space embedded' 'tab	embedded' 'newline
 embedded'"
 
-if test "$test_tabs" = y; then
-chmod u-w .
+if test "$test_failed_remove" = y; then
+chmod a-w .
 test_expect_failure \
     'Test that "git-rm -f" fails if its rm fails' \
     'git-rm -f baz'
-chmod u+w .
+chmod 775 .
+else
+    test_expect_success 'skipping removal failure (perhaps running as root?)' :
 fi
 
 test_expect_success \

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-13 18:56 ` Junio C Hamano
@ 2006-04-15  6:47   ` Aneesh Kumar
  2006-04-15  7:24     ` Junio C Hamano
  2006-04-15  7:33     ` Aneesh Kumar
  0 siblings, 2 replies; 8+ messages in thread
From: Aneesh Kumar @ 2006-04-15  6:47 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux, Peter Eriksen, git, Carl Worth

[-- Attachment #1: Type: text/plain, Size: 294 bytes --]

I am still having failure with the top of the tree. I guess it is
because git rm exit with status 0.

kvaneesh@home:/tmp/test$ git rm -f a
rm: cannot remove `a': Permission denied
kvaneesh@home:/tmp/test$ echo $?
0
kvaneesh@home:/tmp/test$


I am attaching the logs below

-aneesh

[-- Attachment #2: test2 --]
[-- Type: application/octet-stream, Size: 1435 bytes --]


+ touch -- foo bar baz 'space embedded' -q
+ git-add -- foo bar baz 'space embedded' -q
+ git-commit -m 'add normal files'
Committing initial tree e5c556e46aae6124ff4a2a466c95004e92d9a2e4
+ test_tabs=y
+ touch -- 'tab embedded' 'newline
embedded'
+ git-add -- 'tab       embedded' 'newline
embedded'
+ git-commit -m 'add files with tabs and newlines'
+ :
+ chmod a-w .
+ rm -f test-file
rm: cannot remove `test-file': Permission denied
+ test -f test-file
+ test_failed_remove=y
+ chmod 775 .
+ rm -f test-file
+ test y = y
+ chmod a-w .
+ test_expect_failure 'Test that "git-rm -f" fails if its rm fails' 'git-rm -f baz'
+ test 2 = 2
+ say 'expecting failure: git-rm -f baz'
+ echo '* expecting failure: git-rm -f baz'
+ test_run_ 'git-rm -f baz'
+ eval 'git-rm -f baz'
+ eval_ret=0
+ return 0
+ '[' 0 = 0 -a 0 '!=' 0 ']'
+ test_failure_ 'Test that "git-rm -f" fails if its rm fails' 'git-rm -f baz'
++ expr 0 + 1
+ test_count=1
++ expr 0 + 1
+ test_failure=1
+ say 'FAIL 1: Test that "git-rm -f" fails if its rm fails'
+ echo '* FAIL 1: Test that "git-rm -f" fails if its rm fails'
* FAIL 1: Test that "git-rm -f" fails if its rm fails
+ shift
+ echo 'git-rm -f baz'
+ sed -e 's/^/  /'
        git-rm -f baz
+ test '' = ''
+ chmod 775 .
+ test_done
+ trap - exit
+ case "$test_failure" in
+ say 'failed 1 among 1 test(s)'
+ echo '* failed 1 among 1 test(s)'
* failed 1 among 1 test(s)
+ exit 1
kvaneesh@home:~/git-work/git.build/t$

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-15  6:47   ` Aneesh Kumar
@ 2006-04-15  7:24     ` Junio C Hamano
  2006-04-15 15:43       ` Aneesh Kumar
  2006-04-15  7:33     ` Aneesh Kumar
  1 sibling, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2006-04-15  7:24 UTC (permalink / raw)
  To: Aneesh Kumar; +Cc: git

"Aneesh Kumar" <aneesh.kumar@gmail.com> writes:

> I am still having failure with the top of the tree. I guess it is
> because git rm exit with status 0.

Please don't guess, but validate (I know you are capable of
doing so).

What I would do to see what is happening would be to do
something like the attached patch and re-run the test.

BTW, you did "sh -x t3600-rm.sh" which is very good.  I usually
do it when debugging hard-to-debug testsuite problem, especially
ones which I do not know intimately, written by somebody else,
like this:

	sh -x tXXXX-that-test.sh -i

The -i option makes it immediately stop at the first test failure.

-- >8 --
diff --git a/git-rm.sh b/git-rm.sh
index fda4541..622ffca 100755
--- a/git-rm.sh
+++ b/git-rm.sh
@@ -43,6 +43,8 @@ case "$#" in
 	;;
 esac
 
+set -x
+
 if test -f "$GIT_DIR/info/exclude"
 then
 	git-ls-files -z \

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-15  6:47   ` Aneesh Kumar
  2006-04-15  7:24     ` Junio C Hamano
@ 2006-04-15  7:33     ` Aneesh Kumar
  1 sibling, 0 replies; 8+ messages in thread
From: Aneesh Kumar @ 2006-04-15  7:33 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux, Peter Eriksen, git, Carl Worth

On 4/15/06, Aneesh Kumar <aneesh.kumar@gmail.com> wrote:
> I am still having failure with the top of the tree. I guess it is
> because git rm exit with status 0.
>
> kvaneesh@home:/tmp/test$ git rm -f a
> rm: cannot remove `a': Permission denied
> kvaneesh@home:/tmp/test$ echo $?
> 0
>


I think it is xargs
kvaneesh@home:/tmp/test$ echo a | xargs rm
rm: cannot remove `a': Permission denied
kvaneesh@home:/tmp/test$ echo $?
0
kvaneesh@home:/tmp/test$

on ubuntu Dapper it returns 123 status.   I will file a bug report
against xargs.

-aneesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Test fails on ubuntu breezy
  2006-04-15  7:24     ` Junio C Hamano
@ 2006-04-15 15:43       ` Aneesh Kumar
  0 siblings, 0 replies; 8+ messages in thread
From: Aneesh Kumar @ 2006-04-15 15:43 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 4/15/06, Junio C Hamano <junkio@cox.net> wrote:
> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
>
> > I am still having failure with the top of the tree. I guess it is
> > because git rm exit with status 0.
>
> Please don't guess, but validate (I know you are capable of
> doing so).
>
>

I did :). I sent another mail explaining it is xargs in breezy. I also
filed a bug. But they are not going to fix it in breezy. The below is
the response i got.

"As Ubuntu Breezy is a released probuct, only security-related fixes
are accepted. If you think this fix is important enough, you could
discuss the issue with the maintainers of Ubuntu backports, and see if
they are interested in making a backport available: "

Right now i am commenting out the test case to build the .deb file.

-aneesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-04-15 15:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-13 11:54 Test fails on ubuntu breezy linux
2006-04-13 18:56 ` Junio C Hamano
2006-04-15  6:47   ` Aneesh Kumar
2006-04-15  7:24     ` Junio C Hamano
2006-04-15 15:43       ` Aneesh Kumar
2006-04-15  7:33     ` Aneesh Kumar
  -- strict thread matches above, loose matches on Subject: below --
2006-04-13  7:53 Aneesh Kumar
2006-04-13 10:20 ` Peter Eriksen

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).