diff options
-rwxr-xr-x | tests/chmod/no-x | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/chmod/no-x b/tests/chmod/no-x index cf365c01a..247b052c3 100755 --- a/tests/chmod/no-x +++ b/tests/chmod/no-x @@ -30,11 +30,27 @@ fail=0 # This must exit nonzero. chmod -R o=r d >/dev/null 2>out && fail=1 + cat <<\EOF > exp chmod: `d/no-x': Permission denied EOF -cmp out exp || fail=1 +# With native openat, du uses a different code path. +cat <<\EOF > exp-native-openat +chmod: cannot access `d/no-x/y': Permission denied +chmod: fts_read failed: Permission denied +EOF + +if cmp out exp >/dev/null 2>&1; then + : +else + if cmp out exp-native-openat; then + : + else + fail=1 + fi +fi + test $fail = 1 && diff out exp 2> /dev/null (exit $fail); exit $fail |