]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/rename/04.t
dts: Import files from Linux 5.1
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / rename / 04.t
1 #!/bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/rename/04.t 211352 2010-08-15 21:24:17Z pjd $
4
5 desc="rename returns EACCES when a component of either path prefix denies search permission"
6
7 dir=`dirname $0`
8 . ${dir}/../misc.sh
9
10 echo "1..18"
11
12 n0=`namegen`
13 n1=`namegen`
14 n2=`namegen`
15 n3=`namegen`
16 n4=`namegen`
17
18 expect 0 mkdir ${n0} 0755
19 cdir=`pwd`
20 cd ${n0}
21
22 expect 0 mkdir ${n1} 0755
23 expect 0 chown ${n1} 65534 65534
24 expect 0 mkdir ${n2} 0755
25 expect 0 chown ${n2} 65534 65534
26 expect 0 -u 65534 -g 65534 create ${n1}/${n3} 0644
27
28 expect 0 -u 65534 -g 65534 rename ${n1}/${n3} ${n2}/${n4}
29 expect 0 -u 65534 -g 65534 rename ${n2}/${n4} ${n1}/${n3}
30
31 expect 0 chmod ${n1} 0644
32 expect EACCES -u 65534 -g 65534 rename ${n1}/${n3} ${n1}/${n4}
33 expect EACCES -u 65534 -g 65534 rename ${n1}/${n3} ${n2}/${n4}
34
35 expect 0 chmod ${n1} 0755
36 expect 0 chmod ${n2} 0644
37 expect EACCES -u 65534 -g 65534 rename ${n1}/${n3} ${n2}/${n4}
38
39 expect 0 unlink ${n1}/${n3}
40 expect 0 rmdir ${n1}
41 expect 0 rmdir ${n2}
42
43 cd ${cdir}
44 expect 0 rmdir ${n0}