2 # $FreeBSD: head/tools/regression/pjdfstest/tests/link/13.t 211352 2010-08-15 21:24:17Z pjd $
4 desc="link returns EPERM if the parent directory of the destination file has its immutable flag set"
26 expect 0 mkdir ${n0} 0755
28 expect 0 create ${n0}/${n1} 0644
29 expect 1 stat ${n0}/${n1} nlink
30 expect 0 link ${n0}/${n1} ${n0}/${n2}
31 expect 2 stat ${n0}/${n1} nlink
32 expect 0 unlink ${n0}/${n2}
33 expect 1 stat ${n0}/${n1} nlink
35 expect 0 chflags ${n0} SF_IMMUTABLE
36 expect EPERM link ${n0}/${n1} ${n0}/${n2}
37 expect 1 stat ${n0}/${n1} nlink
38 expect 0 chflags ${n0} none
39 expect 0 link ${n0}/${n1} ${n0}/${n2}
40 expect 2 stat ${n0}/${n1} nlink
41 expect 0 unlink ${n0}/${n2}
42 expect 1 stat ${n0}/${n1} nlink
44 expect 0 chflags ${n0} SF_NOUNLINK
45 expect 0 link ${n0}/${n1} ${n0}/${n2}
46 expect 2 stat ${n0}/${n1} nlink
47 expect 0 chflags ${n0} none
48 expect 0 unlink ${n0}/${n2}
49 expect 1 stat ${n0}/${n1} nlink
51 expect 0 chflags ${n0} SF_APPEND
52 expect 0 link ${n0}/${n1} ${n0}/${n2}
53 expect 2 stat ${n0}/${n1} nlink
54 expect 0 chflags ${n0} none
55 expect 0 unlink ${n0}/${n2}
56 expect 1 stat ${n0}/${n1} nlink
60 expect 0 chflags ${n0} UF_IMMUTABLE
61 expect EPERM link ${n0}/${n1} ${n0}/${n2}
62 expect 1 stat ${n0}/${n1} nlink
63 expect 0 chflags ${n0} none
64 expect 0 link ${n0}/${n1} ${n0}/${n2}
65 expect 2 stat ${n0}/${n1} nlink
66 expect 0 unlink ${n0}/${n2}
67 expect 1 stat ${n0}/${n1} nlink
69 expect 0 chflags ${n0} UF_NOUNLINK
70 expect 0 link ${n0}/${n1} ${n0}/${n2}
71 expect 2 stat ${n0}/${n1} nlink
72 expect 0 chflags ${n0} none
73 expect 0 unlink ${n0}/${n2}
74 expect 1 stat ${n0}/${n1} nlink
76 expect 0 chflags ${n0} UF_APPEND
77 expect 0 link ${n0}/${n1} ${n0}/${n2}
78 expect 2 stat ${n0}/${n1} nlink
79 expect 0 chflags ${n0} none
80 expect 0 unlink ${n0}/${n2}
81 expect 1 stat ${n0}/${n1} nlink
85 expect 0 unlink ${n0}/${n1}