summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2017-08-21 17:20:31 +0000
committergjb <gjb@FreeBSD.org>2017-08-21 17:20:31 +0000
commitca3e579275003137158a9777898948b09f7a1cf8 (patch)
treebed1bd71c293380579cb760268838966292dfa33
parent7f25864e738474a6a3382736dce5600f592d6ab9 (diff)
downloadFreeBSD-src-ca3e579275003137158a9777898948b09f7a1cf8.zip
FreeBSD-src-ca3e579275003137158a9777898948b09f7a1cf8.tar.gz
MFC r321949, r321950, r322101:
r321949 (ngie): Add expected failures for ZFS - :f_flag fails on ZFS because UF_IMMUTABLE isn't supported. - :v_flag fails on ZFS because the mode for foo is [always] updated unnecessarily. get_filesystem(..) (supporting function that was added to the test script) is based on equivalent logic in usr.bin/extattr/tests/extattr_test.sh . r321950 (ngie): Always use first parameter passed to get_filesystem(..) instead of discarding it and using `.` instead. r322101 (ngie): Don't check result of chflags in f_flag_cleanup() This will prevent false positives from occurring if the test is run on ZFS since ZFS doesn't support fflags throbbing like UFS. PR: 221188, 221189 Approved by: re (marius) Sponsored by: The FreeBSD Foundation
-rwxr-xr-xbin/chmod/tests/chmod_test.sh19
1 files changed, 18 insertions, 1 deletions
diff --git a/bin/chmod/tests/chmod_test.sh b/bin/chmod/tests/chmod_test.sh
index 4a6a6a3..8cd7663 100755
--- a/bin/chmod/tests/chmod_test.sh
+++ b/bin/chmod/tests/chmod_test.sh
@@ -25,6 +25,13 @@
#
# $FreeBSD$
+get_filesystem()
+{
+ local mountpoint=$1
+
+ df -T $mountpoint | tail -n 1 | cut -wf 2
+}
+
atf_test_case RH_flag
RH_flag_head()
{
@@ -94,6 +101,11 @@ f_flag_body()
{
atf_check truncate -s 0 foo bar
atf_check chmod 0750 foo bar
+ case "$(get_filesystem .)" in
+ zfs)
+ atf_expect_fail "ZFS doesn't support UF_IMMUTABLE; returns EPERM - bug 221189"
+ ;;
+ esac
atf_check chflags uchg foo
atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar
atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar
@@ -103,7 +115,7 @@ f_flag_body()
f_flag_cleanup()
{
- atf_check chflags 0 foo
+ chflags 0 foo || :
}
atf_test_case h_flag
@@ -140,6 +152,11 @@ v_flag_body()
atf_check truncate -s 0 foo bar
atf_check chmod 0600 foo
atf_check chmod 0750 bar
+ case "$(get_filesystem .)" in
+ zfs)
+ atf_expect_fail "ZFS updates mode for foo unnecessarily - bug 221188"
+ ;;
+ esac
atf_check -o 'inline:bar\n' chmod -v 0600 foo bar
atf_check chmod -v 0600 foo bar
for f in foo bar; do
OpenPOWER on IntegriCloud