Skip to content

Commit

Permalink
Fix testcase failure when extended attributes are in use
Browse files Browse the repository at this point in the history
06cbe85 (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>
  • Loading branch information
Junio C Hamano committed Oct 20, 2008
1 parent 09cff06 commit 5610e3b
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions t/t1301-shared-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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" '
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 5610e3b

Please sign in to comment.