2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/link/12.t 211352 2010-08-15 21:24:17Z pjd $
5 desc="link returns EPERM if the source file has its immutable or append-only flag set"
26 expect 0 create ${n0} 0644
28 expect 1 stat ${n0} nlink
29 expect 0 link ${n0} ${n1}
30 expect 2 stat ${n0} nlink
32 expect 1 stat ${n0} nlink
34 expect 0 chflags ${n0} SF_IMMUTABLE
35 expect EPERM link ${n0} ${n1}
36 expect 1 stat ${n0} nlink
37 expect 0 chflags ${n0} none
38 expect 0 link ${n0} ${n1}
39 expect 2 stat ${n0} nlink
41 expect 1 stat ${n0} nlink
43 expect 0 chflags ${n0} SF_NOUNLINK
44 expect 0 link ${n0} ${n1}
45 expect 2 stat ${n0} nlink
46 expect 0 chflags ${n0} none
48 expect 1 stat ${n0} nlink
50 expect 0 chflags ${n0} SF_APPEND
51 expect EPERM link ${n0} ${n1}
52 expect 0 chflags ${n0} none
53 expect 0 link ${n0} ${n1}
54 expect 2 stat ${n0} nlink
56 expect 1 stat ${n0} nlink
60 expect 0 chflags ${n0} UF_IMMUTABLE
61 expect EPERM link ${n0} ${n1}
62 expect 0 chflags ${n0} none
63 expect 0 link ${n0} ${n1}
64 expect 2 stat ${n0} nlink
66 expect 1 stat ${n0} nlink
68 expect 0 chflags ${n0} UF_NOUNLINK
69 expect 0 link ${n0} ${n1}
70 expect 2 stat ${n0} nlink
71 expect 0 chflags ${n0} none
73 expect 1 stat ${n0} nlink
75 expect 0 chflags ${n0} UF_APPEND
76 expect EPERM link ${n0} ${n1}
77 expect 0 chflags ${n0} none
78 expect 0 link ${n0} ${n1}
79 expect 2 stat ${n0} nlink
81 expect 1 stat ${n0} nlink