On 2015-01-21 23.33, Junio C Hamano wrote:
> Are you reporting differences between the state before these patches
> and after, or just the fact that with these patches the named tests
> break (which may or may not be broken before the patches)?
>
The intention was to report what is now breaking.
One example is this one:
---------------------
git.git/master:
ok 15 # skip Test that "git rm -f" fails if its rm fails (missing SANITY)
git.git/pu:
not ok 15 - Test that "git rm -f" fails if its rm fails
#
# chmod a-w . &&
# test_must_fail git rm -f baz &&
# chmod 775 .
#
The next step could be to dig further:
If I run that sequence manually:
chmod 755 .
touch x
chmod a-w .
rm x
touch y
x is gone, (but shoudn't according to POSIX)
y is not created, "access denied"
--------------
I can see that there are 3 groups of OS/FS combinations:
Group 1:
File access bits are not maintained, and not obeyed.
Typical: VFAT, Git for Windows, (and some network protocols like SAMBA,
depending on the OS/FS involved and/or the mount options)
Typically core.filemode is false after "git init"
Group 2:
File access bits are maintained and obeyed:
POSIX/Unix/Linux/Mac OS and CYGWIN
Typically core.filemode is true after "git init"
Group 3 :
File access bits are maintained, but not (fully) obeyed
running as root under Linux/Unix...
Or Windows, when a file is allowed to be deleted from a directory without
write permissions.
-----------------
In short, the following seems to be an improvement:
diff --git a/t/test-lib.sh b/t/test-lib.sh
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1039,7 +1039,17 @@ test_lazy_prereq NOT_ROOT '
# When the tests are run as root, permission tests will report that
# things are writable when they shouldn't be.
test_lazy_prereq SANITY '
- test_have_prereq POSIXPERM,NOT_ROOT
+ mkdir ds &&
+ touch ds/x &&
+ chmod -w ds &&
+ if rm ds/x
+ then
+ chmod +w ds
+ false
+ else
+ chmod +w ds
+ true
+ fi
'
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html