48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
The last test of t4129 creates a directory and expects its setgid bit
|
|
(g+s) to be off. But this makes the test fail when the parent directory
|
|
has the bit set, as setgid's state is inherited by newly created
|
|
subdirectories. Make the test more robust by accepting the presence of
|
|
the setgid bit on the created directory. We only allow 'S' (setgid on
|
|
but no executable permission) and not 's' (setgid on with executable
|
|
permission) because the previous 'umask 0077' shouldn't allow the second
|
|
scenario to happen.
|
|
|
|
Note that only subdirectories inherit this bit, so we don't have to make
|
|
the same change for the regular file that is also created by this test.
|
|
But checking the permissions using grep instead of test_cmp makes the
|
|
test a little simpler, so let's use it for the regular file as well.
|
|
|
|
Also note that the sticky bit (+t) and the setuid bit (u+s) are not
|
|
inherited, so we don't have to worry about those.
|
|
|
|
Reported-by: Kevin Daudt <me@ikke.info>
|
|
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
|
|
---
|
|
t/t4129-apply-samemode.sh | 10 ++++------
|
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/t/t4129-apply-samemode.sh b/t/t4129-apply-samemode.sh
|
|
index 41818d8315..3818398ca9 100755
|
|
--- a/t/t4129-apply-samemode.sh
|
|
+++ b/t/t4129-apply-samemode.sh
|
|
@@ -90,12 +90,10 @@ test_expect_success POSIXPERM 'do not use core.sharedRepository for working tree
|
|
rm -rf d f1 &&
|
|
git apply patch-f1-and-f2.txt &&
|
|
|
|
- echo "-rw-------" >f1_mode.expected &&
|
|
- echo "drwx------" >d_mode.expected &&
|
|
- test_modebits f1 >f1_mode.actual &&
|
|
- test_modebits d >d_mode.actual &&
|
|
- test_cmp f1_mode.expected f1_mode.actual &&
|
|
- test_cmp d_mode.expected d_mode.actual
|
|
+ test_modebits f1 >f1_mode &&
|
|
+ test_modebits d >d_mode &&
|
|
+ grep "^-rw-------$" f1_mode &&
|
|
+ grep "^drwx--[-S]---$" d_mode
|
|
)
|
|
'
|
|
|
|
--
|
|
2.29.2
|
|
|
|
|