Deleted Added
full compact
10.t (166065) 10.t (210984)
1#!/bin/sh
1#!/bin/sh
2# $FreeBSD: head/tools/regression/fstest/tests/unlink/10.t 166065 2007-01-17 01:42:12Z pjd $
2# $FreeBSD: head/tools/regression/fstest/tests/unlink/10.t 210984 2010-08-06 23:58:54Z pjd $
3
4desc="unlink returns EPERM if the parent directory of 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="unlink returns EPERM if the parent directory of 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..30"
11case "${os}:${fs}" in
12FreeBSD:ZFS)
13 echo "1..16"
14 ;;
15FreeBSD:UFS)
16 echo "1..30"
17 ;;
18*)
19 quick_exit
20esac
12
13n0=`namegen`
14n1=`namegen`
15
16expect 0 mkdir ${n0} 0755
17
18expect 0 create ${n0}/${n1} 0644
19expect 0 chflags ${n0} SF_IMMUTABLE
20expect EPERM unlink ${n0}/${n1}
21expect 0 chflags ${n0} none
22expect 0 unlink ${n0}/${n1}
23
24expect 0 create ${n0}/${n1} 0644
21
22n0=`namegen`
23n1=`namegen`
24
25expect 0 mkdir ${n0} 0755
26
27expect 0 create ${n0}/${n1} 0644
28expect 0 chflags ${n0} SF_IMMUTABLE
29expect EPERM unlink ${n0}/${n1}
30expect 0 chflags ${n0} none
31expect 0 unlink ${n0}/${n1}
32
33expect 0 create ${n0}/${n1} 0644
25expect 0 chflags ${n0} UF_IMMUTABLE
26expect EPERM unlink ${n0}/${n1}
27expect 0 chflags ${n0} none
34expect 0 chflags ${n0} SF_NOUNLINK
28expect 0 unlink ${n0}/${n1}
35expect 0 unlink ${n0}/${n1}
36expect 0 chflags ${n0} none
29
30expect 0 create ${n0}/${n1} 0644
31expect 0 chflags ${n0} SF_APPEND
37
38expect 0 create ${n0}/${n1} 0644
39expect 0 chflags ${n0} SF_APPEND
40todo FreeBSD:ZFS "Removing a file from a directory protected by SF_APPEND should return EPERM."
32expect EPERM unlink ${n0}/${n1}
33expect 0 chflags ${n0} none
41expect EPERM unlink ${n0}/${n1}
42expect 0 chflags ${n0} none
43todo FreeBSD:ZFS "Removing a file from a directory protected by SF_APPEND should return EPERM."
34expect 0 unlink ${n0}/${n1}
35
44expect 0 unlink ${n0}/${n1}
45
36expect 0 create ${n0}/${n1} 0644
37expect 0 chflags ${n0} UF_APPEND
38expect EPERM unlink ${n0}/${n1}
39expect 0 chflags ${n0} none
40expect 0 unlink ${n0}/${n1}
46case "${os}:${fs}" in
47FreeBSD:UFS)
48 expect 0 create ${n0}/${n1} 0644
49 expect 0 chflags ${n0} UF_IMMUTABLE
50 expect EPERM unlink ${n0}/${n1}
51 expect 0 chflags ${n0} none
52 expect 0 unlink ${n0}/${n1}
41
53
42expect 0 create ${n0}/${n1} 0644
43expect 0 chflags ${n0} SF_NOUNLINK
44expect 0 unlink ${n0}/${n1}
45expect 0 chflags ${n0} none
54 expect 0 create ${n0}/${n1} 0644
55 expect 0 chflags ${n0} UF_NOUNLINK
56 expect 0 unlink ${n0}/${n1}
57 expect 0 chflags ${n0} none
46
58
47expect 0 create ${n0}/${n1} 0644
48expect 0 chflags ${n0} UF_NOUNLINK
49expect 0 unlink ${n0}/${n1}
50expect 0 chflags ${n0} none
59 expect 0 create ${n0}/${n1} 0644
60 expect 0 chflags ${n0} UF_APPEND
61 expect EPERM unlink ${n0}/${n1}
62 expect 0 chflags ${n0} none
63 expect 0 unlink ${n0}/${n1}
64 ;;
65esac
51
52expect 0 rmdir ${n0}
66
67expect 0 rmdir ${n0}