summaryrefslogtreecommitdiff
path: root/t/t1301-shared-repo.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-10-20 05:51:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-10-20 05:51:17 (GMT)
commit5610e3b0315d652d6b8e6535afe0e7e461c8a0a0 (patch)
tree7d59f72be09c3cd3c58ee653d76211aabcc95303 /t/t1301-shared-repo.sh
parent09cff066f65361b514dd36b03a822cfb40534f12 (diff)
downloadgit-5610e3b0315d652d6b8e6535afe0e7e461c8a0a0.zip
git-5610e3b0315d652d6b8e6535afe0e7e461c8a0a0.tar.gz
git-5610e3b0315d652d6b8e6535afe0e7e461c8a0a0.tar.bz2
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>
Diffstat (limited to 't/t1301-shared-repo.sh')
-rwxr-xr-xt/t1301-shared-repo.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh
index 2275caa..653362b 100755
--- a/t/t1301-shared-repo.sh
+++ b/t/t1301-shared-repo.sh
@@ -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
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
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