]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/ftruncate/05.t
MFV r330102: ntp 4.2.8p11
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / ftruncate / 05.t
1 #!/bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/truncate/05.t 211352 2010-08-15 21:24:17Z pjd $
4
5 desc="truncate returns EACCES when search permission is denied for a component of the path prefix"
6
7 dir=`dirname $0`
8 . ${dir}/../misc.sh
9
10 echo "1..15"
11
12 n0=`namegen`
13 n1=`namegen`
14 n2=`namegen`
15
16 expect 0 mkdir ${n0} 0755
17 cdir=`pwd`
18 cd ${n0}
19 expect 0 mkdir ${n1} 0755
20 expect 0 chown ${n1} 65534 65534
21 expect 0 -u 65534 -g 65534 create ${n1}/${n2} 0644
22 expect 0 -u 65534 -g 65534 truncate ${n1}/${n2} 123
23 expect 123 -u 65534 -g 65534 stat ${n1}/${n2} size
24 expect 0 chmod ${n1} 0644
25 expect EACCES -u 65534 -g 65534 truncate ${n1}/${n2} 1234
26 expect 0 chmod ${n1} 0755
27 expect 123 -u 65534 -g 65534 stat ${n1}/${n2} size
28 expect 0 -u 65534 -g 65534 truncate ${n1}/${n2} 1234
29 expect 1234 -u 65534 -g 65534 stat ${n1}/${n2} size
30 expect 0 -u 65534 -g 65534 unlink ${n1}/${n2}
31 expect 0 rmdir ${n1}
32 cd ${cdir}
33 expect 0 rmdir ${n0}