summaryrefslogtreecommitdiffstats
path: root/tools/regression/fstest/tests/unlink/10.t
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/fstest/tests/unlink/10.t')
-rw-r--r--tools/regression/fstest/tests/unlink/10.t52
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/regression/fstest/tests/unlink/10.t b/tools/regression/fstest/tests/unlink/10.t
new file mode 100644
index 0000000..cf4188a
--- /dev/null
+++ b/tools/regression/fstest/tests/unlink/10.t
@@ -0,0 +1,52 @@
+#!/bin/sh
+# $FreeBSD$
+
+desc="unlink returns EPERM if the parent directory of the named file has its immutable or append-only flag set"
+
+dir=`dirname $0`
+. ${dir}/../misc.sh
+
+require chflags
+
+echo "1..30"
+
+n0=`namegen`
+n1=`namegen`
+
+expect 0 mkdir ${n0} 0755
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} SF_IMMUTABLE
+expect EPERM unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+expect 0 unlink ${n0}/${n1}
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} UF_IMMUTABLE
+expect EPERM unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+expect 0 unlink ${n0}/${n1}
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} SF_APPEND
+expect EPERM unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+expect 0 unlink ${n0}/${n1}
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} UF_APPEND
+expect EPERM unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+expect 0 unlink ${n0}/${n1}
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} SF_NOUNLINK
+expect 0 unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+
+expect 0 create ${n0}/${n1} 0644
+expect 0 chflags ${n0} UF_NOUNLINK
+expect 0 unlink ${n0}/${n1}
+expect 0 chflags ${n0} none
+
+expect 0 rmdir ${n0}
OpenPOWER on IntegriCloud