diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-01-15 21:48:45 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-01-15 21:48:45 -0800 |
commit | 8dbabb31dfcda172b8220ba6ebce3e8938dc1df3 (patch) | |
tree | fb558a315517f1e9d84235b9ae1120d3423905e8 | |
parent | Merge branch 'ds/maintenance-part-4' (diff) | |
parent | t4129: don't fail if setgid is set in the test directory (diff) | |
download | tgif-8dbabb31dfcda172b8220ba6ebce3e8938dc1df3.tar.xz |
Merge branch 'mt/t4129-with-setgid-dir'
Some tests expect that "ls -l" output has either '-' or 'x' for
group executable bit, but setgid bit can be inherited from parent
directory and make these fields 'S' or 's' instead, causing test
failures.
* mt/t4129-with-setgid-dir:
t4129: don't fail if setgid is set in the test directory
-rw-r--r-- | t/test-lib-functions.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index 999982fe4a..2f08ce7cba 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -367,9 +367,14 @@ test_chmod () { git update-index --add "--chmod=$@" } -# Get the modebits from a file or directory. +# Get the modebits from a file or directory, ignoring the setgid bit (g+s). +# This bit is inherited by subdirectories at their creation. So we remove it +# from the returning string to prevent callers from having to worry about the +# state of the bit in the test directory. +# test_modebits () { - ls -ld "$1" | sed -e 's|^\(..........\).*|\1|' + ls -ld "$1" | sed -e 's|^\(..........\).*|\1|' \ + -e 's|^\(......\)S|\1-|' -e 's|^\(......\)s|\1x|' } # Unset a configuration variable, but don't fail if it doesn't exist. |