Avoid a failed test on Cygwin.
authorWayne Davison <wayne@opencoder.net>
Mon, 13 Jul 2020 22:33:07 +0000 (15:33 -0700)
committerWayne Davison <wayne@opencoder.net>
Mon, 13 Jul 2020 22:33:07 +0000 (15:33 -0700)
testsuite/dir-sgid.test

index 44cd61e7ebbe3ffb30aeeb6b12122b5497c3c1af..dadc55077413f7f591fd7583fb690e38de19f02f 100644 (file)
@@ -23,12 +23,19 @@ testit() {
     check_perms "$todir/to/program" $4 "Target $1"
 }
 
+mkdir "$scratchdir/dir"
+# Cygwin has a persistent default dir ACL that ruins this test.
+case `getfacl "$scratchdir/dir" 2>/dev/null || true` in
+*default:user::*) test_skipped "The default ACL mode interferes with this test" ;;
+esac
+
 echo "File!" >"$scratchdir/file"
 echo "#!/bin/sh" >"$scratchdir/program"
-mkdir "$scratchdir/dir"
+
 chmod u=rwx,g=rw,g+s,o=r "$scratchdir/dir" || test_skipped "Can't chmod"
 chmod 664 "$scratchdir/file"
 chmod 775 "$scratchdir/program"
+
 [ -g "$scratchdir/dir" ] || test_skipped "The directory setgid bit vanished!"
 mkdir "$scratchdir/dir/blah"
 [ -g "$scratchdir/dir/blah" ] || test_skipped "Your filesystem doesn't use directory setgid; maybe it's BSD."