xref: /openbsd/regress/sys/ffs/tests/link/13.t (revision 404b540a)
1#!/bin/sh
2# $FreeBSD: src/tools/regression/fstest/tests/link/13.t,v 1.1 2007/01/17 01:42:09 pjd Exp $
3
4desc="link returns EPERM if the parent directory of the destination file has its immutable flag set"
5
6n0=`namegen`
7n1=`namegen`
8n2=`namegen`
9
10expect 0 mkdir ${n0} 0755
11
12expect 0 create ${n0}/${n1} 0644
13expect 0 link ${n0}/${n1} ${n0}/${n2}
14expect 0 unlink ${n0}/${n2}
15
16expect 0 chflags ${n0} SF_IMMUTABLE
17expect EPERM link ${n0}/${n1} ${n0}/${n2}
18expect 0 chflags ${n0} none
19expect 0 link ${n0}/${n1} ${n0}/${n2}
20expect 0 unlink ${n0}/${n2}
21
22expect 0 chflags ${n0} UF_IMMUTABLE
23expect EPERM link ${n0}/${n1} ${n0}/${n2}
24expect 0 chflags ${n0} none
25expect 0 link ${n0}/${n1} ${n0}/${n2}
26expect 0 unlink ${n0}/${n2}
27
28expect 0 chflags ${n0} SF_APPEND
29expect 0 link ${n0}/${n1} ${n0}/${n2}
30expect 0 chflags ${n0} none
31expect 0 unlink ${n0}/${n2}
32
33expect 0 chflags ${n0} UF_APPEND
34expect 0 link ${n0}/${n1} ${n0}/${n2}
35expect 0 chflags ${n0} none
36expect 0 unlink ${n0}/${n2}
37
38expect 0 unlink ${n0}/${n1}
39expect 0 rmdir ${n0}
40