2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/link/13.t 211352 2010-08-15 21:24:17Z pjd $
5 desc="link returns EPERM if the parent directory of the destination file has its immutable flag set"
27 expect 0 mkdir ${n0} 0755
29 expect 0 create ${n0}/${n1} 0644
30 expect 1 stat ${n0}/${n1} nlink
31 expect 0 link ${n0}/${n1} ${n0}/${n2}
32 expect 2 stat ${n0}/${n1} nlink
33 expect 0 unlink ${n0}/${n2}
34 expect 1 stat ${n0}/${n1} nlink
36 expect 0 chflags ${n0} SF_IMMUTABLE
37 expect EPERM link ${n0}/${n1} ${n0}/${n2}
38 expect 1 stat ${n0}/${n1} nlink
39 expect 0 chflags ${n0} none
40 expect 0 link ${n0}/${n1} ${n0}/${n2}
41 expect 2 stat ${n0}/${n1} nlink
42 expect 0 unlink ${n0}/${n2}
43 expect 1 stat ${n0}/${n1} nlink
45 expect 0 chflags ${n0} SF_NOUNLINK
46 expect 0 link ${n0}/${n1} ${n0}/${n2}
47 expect 2 stat ${n0}/${n1} nlink
48 expect 0 chflags ${n0} none
49 expect 0 unlink ${n0}/${n2}
50 expect 1 stat ${n0}/${n1} nlink
52 expect 0 chflags ${n0} SF_APPEND
53 expect 0 link ${n0}/${n1} ${n0}/${n2}
54 expect 2 stat ${n0}/${n1} nlink
55 expect 0 chflags ${n0} none
56 expect 0 unlink ${n0}/${n2}
57 expect 1 stat ${n0}/${n1} nlink
61 expect 0 chflags ${n0} UF_IMMUTABLE
62 expect EPERM link ${n0}/${n1} ${n0}/${n2}
63 expect 1 stat ${n0}/${n1} nlink
64 expect 0 chflags ${n0} none
65 expect 0 link ${n0}/${n1} ${n0}/${n2}
66 expect 2 stat ${n0}/${n1} nlink
67 expect 0 unlink ${n0}/${n2}
68 expect 1 stat ${n0}/${n1} nlink
70 expect 0 chflags ${n0} UF_NOUNLINK
71 expect 0 link ${n0}/${n1} ${n0}/${n2}
72 expect 2 stat ${n0}/${n1} nlink
73 expect 0 chflags ${n0} none
74 expect 0 unlink ${n0}/${n2}
75 expect 1 stat ${n0}/${n1} nlink
77 expect 0 chflags ${n0} UF_APPEND
78 expect 0 link ${n0}/${n1} ${n0}/${n2}
79 expect 2 stat ${n0}/${n1} nlink
80 expect 0 chflags ${n0} none
81 expect 0 unlink ${n0}/${n2}
82 expect 1 stat ${n0}/${n1} nlink
86 expect 0 unlink ${n0}/${n1}