turns printfs back on
[freebsd-src/fkvm-freebsd.git] / tools / regression / fstest / tests / truncate / 08.t
blobe4ea0fa128631de7dd876596a1ad350041ae0f35
1 #!/bin/sh
2 # $FreeBSD$
4 desc="truncate returns EPERM if the named file has its immutable or append-only flag set"
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
9 require chflags
11 echo "1..40"
13 n0=`namegen`
15 expect 0 create ${n0} 0644
16 expect 0 chflags ${n0} SF_IMMUTABLE
17 expect EPERM truncate ${n0} 123
18 expect 0 stat ${n0} size
19 expect 0 chflags ${n0} none
20 expect 0 truncate ${n0} 123
21 expect 0 unlink ${n0}
23 expect 0 create ${n0} 0644
24 expect 0 chflags ${n0} UF_IMMUTABLE
25 expect EPERM truncate ${n0} 123
26 expect 0 stat ${n0} size
27 expect 0 chflags ${n0} none
28 expect 0 truncate ${n0} 123
29 expect 0 unlink ${n0}
31 expect 0 create ${n0} 0644
32 expect 0 chflags ${n0} SF_APPEND
33 expect EPERM truncate ${n0} 123
34 expect 0 stat ${n0} size
35 expect 0 chflags ${n0} none
36 expect 0 truncate ${n0} 123
37 expect 0 unlink ${n0}
39 expect 0 create ${n0} 0644
40 expect 0 chflags ${n0} UF_APPEND
41 expect EPERM truncate ${n0} 123
42 expect 0 stat ${n0} size
43 expect 0 chflags ${n0} none
44 expect 0 truncate ${n0} 123
45 expect 0 unlink ${n0}
47 expect 0 create ${n0} 0644
48 expect 0 chflags ${n0} SF_NOUNLINK
49 expect 0 truncate ${n0} 123
50 expect 123 stat ${n0} size
51 expect 0 chflags ${n0} none
52 expect 0 unlink ${n0}
54 expect 0 create ${n0} 0644
55 expect 0 chflags ${n0} UF_NOUNLINK
56 expect 0 truncate ${n0} 123
57 expect 123 stat ${n0} size
58 expect 0 chflags ${n0} none
59 expect 0 unlink ${n0}