Deleted Added
full compact
08.t (166065) 08.t (210984)
1#!/bin/sh
1#!/bin/sh
2# $FreeBSD: head/tools/regression/fstest/tests/truncate/08.t 166065 2007-01-17 01:42:12Z pjd $
2# $FreeBSD: head/tools/regression/fstest/tests/truncate/08.t 210984 2010-08-06 23:58:54Z pjd $
3
4desc="truncate returns EPERM if the named file has its immutable or append-only flag set"
5
6dir=`dirname $0`
7. ${dir}/../misc.sh
8
9require chflags
10
3
4desc="truncate returns EPERM if the named file has its immutable or append-only flag set"
5
6dir=`dirname $0`
7. ${dir}/../misc.sh
8
9require chflags
10
11echo "1..40"
11case "${os}:${fs}" in
12FreeBSD:ZFS)
13 echo "1..22"
14 ;;
15FreeBSD:UFS)
16 echo "1..44"
17 ;;
18*)
19 quick_exit
20esac
12
13n0=`namegen`
14
15expect 0 create ${n0} 0644
16expect 0 chflags ${n0} SF_IMMUTABLE
17expect EPERM truncate ${n0} 123
18expect 0 stat ${n0} size
19expect 0 chflags ${n0} none
20expect 0 truncate ${n0} 123
21
22n0=`namegen`
23
24expect 0 create ${n0} 0644
25expect 0 chflags ${n0} SF_IMMUTABLE
26expect EPERM truncate ${n0} 123
27expect 0 stat ${n0} size
28expect 0 chflags ${n0} none
29expect 0 truncate ${n0} 123
30expect 123 stat ${n0} size
21expect 0 unlink ${n0}
22
23expect 0 create ${n0} 0644
31expect 0 unlink ${n0}
32
33expect 0 create ${n0} 0644
24expect 0 chflags ${n0} UF_IMMUTABLE
25expect EPERM truncate ${n0} 123
26expect 0 stat ${n0} size
27expect 0 chflags ${n0} none
34expect 0 chflags ${n0} SF_NOUNLINK
28expect 0 truncate ${n0} 123
35expect 0 truncate ${n0} 123
36expect 123 stat ${n0} size
37expect 0 chflags ${n0} none
29expect 0 unlink ${n0}
30
31expect 0 create ${n0} 0644
32expect 0 chflags ${n0} SF_APPEND
38expect 0 unlink ${n0}
39
40expect 0 create ${n0} 0644
41expect 0 chflags ${n0} SF_APPEND
42todo FreeBSD:ZFS "Truncating a file protected by SF_APPEND should return EPERM."
33expect EPERM truncate ${n0} 123
43expect EPERM truncate ${n0} 123
44todo FreeBSD:ZFS "Truncating a file protected by SF_APPEND should return EPERM."
34expect 0 stat ${n0} size
35expect 0 chflags ${n0} none
36expect 0 truncate ${n0} 123
45expect 0 stat ${n0} size
46expect 0 chflags ${n0} none
47expect 0 truncate ${n0} 123
48expect 123 stat ${n0} size
37expect 0 unlink ${n0}
38
49expect 0 unlink ${n0}
50
39expect 0 create ${n0} 0644
40expect 0 chflags ${n0} UF_APPEND
41expect EPERM truncate ${n0} 123
42expect 0 stat ${n0} size
43expect 0 chflags ${n0} none
44expect 0 truncate ${n0} 123
45expect 0 unlink ${n0}
51case "${os}:${fs}" in
52FreeBSD:UFS)
53 expect 0 create ${n0} 0644
54 expect 0 chflags ${n0} UF_IMMUTABLE
55 expect EPERM truncate ${n0} 123
56 expect 0 stat ${n0} size
57 expect 0 chflags ${n0} none
58 expect 0 truncate ${n0} 123
59 expect 123 stat ${n0} size
60 expect 0 unlink ${n0}
46
61
47expect 0 create ${n0} 0644
48expect 0 chflags ${n0} SF_NOUNLINK
49expect 0 truncate ${n0} 123
50expect 123 stat ${n0} size
51expect 0 chflags ${n0} none
52expect 0 unlink ${n0}
62 expect 0 create ${n0} 0644
63 expect 0 chflags ${n0} UF_NOUNLINK
64 expect 0 truncate ${n0} 123
65 expect 123 stat ${n0} size
66 expect 0 chflags ${n0} none
67 expect 0 unlink ${n0}
53
68
54expect 0 create ${n0} 0644
55expect 0 chflags ${n0} UF_NOUNLINK
56expect 0 truncate ${n0} 123
57expect 123 stat ${n0} size
58expect 0 chflags ${n0} none
59expect 0 unlink ${n0}
69 expect 0 create ${n0} 0644
70 expect 0 chflags ${n0} UF_APPEND
71 expect EPERM truncate ${n0} 123
72 expect 0 stat ${n0} size
73 expect 0 chflags ${n0} none
74 expect 0 truncate ${n0} 123
75 expect 123 stat ${n0} size
76 expect 0 unlink ${n0}
77 ;;
78esac