Browse Source

Fix testcase failure when extended attributes are in use

06cbe855 (Make core.sharedRepository more generic, 2008-04-16) made
several testcases in t1301-shared-repo.sh which fail if on a system
which creates files with extended attributes (e.g. SELinux), since ls
appends a '+' sign to the permission set in such cases.  In fact,
POSIX.1 allows ls to add a single printable character after the usual
3x3 permission bits to show that an optional alternate/additional access
method is associated with the path.

This fixes the testcase to strip any such sign prior to verifying the
permission set.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Deskin Miller <deskinm@umich.edu>
maint
Junio C Hamano 16 years ago
parent
commit
5610e3b031
  1. 10
      t/t1301-shared-repo.sh

10
t/t1301-shared-repo.sh

@ -20,6 +20,10 @@ test_expect_success 'shared = 0400 (faulty permission u-w)' ' @@ -20,6 +20,10 @@ test_expect_success 'shared = 0400 (faulty permission u-w)' '
test $ret != "0"
'

modebits () {
ls -l "$1" | sed -e 's|^\(..........\).*|\1|'
}

for u in 002 022
do
test_expect_success "shared=1 does not clear bits preset by umask $u" '
@ -85,8 +89,7 @@ do @@ -85,8 +89,7 @@ do

rm -f .git/info/refs &&
git update-server-info &&
actual="$(ls -l .git/info/refs)" &&
actual=${actual%% *} &&
actual="$(modebits .git/info/refs)" &&
test "x$actual" = "x-$y" || {
ls -lt .git/info
false
@ -98,8 +101,7 @@ do @@ -98,8 +101,7 @@ do

rm -f .git/info/refs &&
git update-server-info &&
actual="$(ls -l .git/info/refs)" &&
actual=${actual%% *} &&
actual="$(modebits .git/info/refs)" &&
test "x$actual" = "x-$x" || {
ls -lt .git/info
false

Loading…
Cancel
Save