# Re: Test fails on ubuntu breezy

6 messages from 2006-04-13 to 2006-04-15. Participants: linux@horizon.com, Junio C Hamano, Aneesh Kumar.
Thread: https://gitlist.dev/t/3860

## linux@horizon.com, 2006-04-13 11:54

Subject: Re: Test fails on ubuntu breezy
Message-ID: <20060413115447.11819.qmail@science.horizon.com>
URL: https://gitlist.dev/e/20060413115447.11819.qmail%40science.horizon.com

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

```

## Junio C Hamano, 2006-04-13 18:56

Subject: Re: Test fails on ubuntu breezy
Message-ID: <7vpsjl1ezb.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vpsjl1ezb.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20060413115447.11819.qmail@science.horizon.com>

```
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 \

```

## Aneesh Kumar, 2006-04-15 06:47

Subject: Re: Test fails on ubuntu breezy
Message-ID: <cc723f590604142347p7646aa40r52506a0d85b7d817@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590604142347p7646aa40r52506a0d85b7d817%40mail.gmail.com
In-Reply-To: <7vpsjl1ezb.fsf@assigned-by-dhcp.cox.net>

```
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

```

## Junio C Hamano, 2006-04-15 07:24

Subject: Re: Test fails on ubuntu breezy
Message-ID: <7vbqv3jo77.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vbqv3jo77.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <cc723f590604142347p7646aa40r52506a0d85b7d817@mail.gmail.com>

```
"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 \

```

## Aneesh Kumar, 2006-04-15 07:33

Subject: Re: Test fails on ubuntu breezy
Message-ID: <cc723f590604150033t53fa1af5wa10f93a059f4a9ce@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590604150033t53fa1af5wa10f93a059f4a9ce%40mail.gmail.com
In-Reply-To: <cc723f590604142347p7646aa40r52506a0d85b7d817@mail.gmail.com>

```
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

```

## Aneesh Kumar, 2006-04-15 15:43

Subject: Re: Test fails on ubuntu breezy
Message-ID: <cc723f590604150843v33a52bb4ocab5de0482effc92@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590604150843v33a52bb4ocab5de0482effc92%40mail.gmail.com
In-Reply-To: <7vbqv3jo77.fsf@assigned-by-dhcp.cox.net>

```
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

```
