xref: /freebsd/contrib/pjdfstest/tests/link/07.t (revision 40a8ac8f62b535d30349faf28cf47106b7041b83)
1*40a8ac8fSEnji Cooper#!/bin/sh
2*40a8ac8fSEnji Cooper# $FreeBSD: head/tools/regression/pjdfstest/tests/link/07.t 211352 2010-08-15 21:24:17Z pjd $
3*40a8ac8fSEnji Cooper
4*40a8ac8fSEnji Cooperdesc="link returns EACCES when the requested link requires writing in a directory with a mode that denies write permission"
5*40a8ac8fSEnji Cooper
6*40a8ac8fSEnji Cooperdir=`dirname $0`
7*40a8ac8fSEnji Cooper. ${dir}/../misc.sh
8*40a8ac8fSEnji Cooper
9*40a8ac8fSEnji Cooperecho "1..17"
10*40a8ac8fSEnji Cooper
11*40a8ac8fSEnji Coopern0=`namegen`
12*40a8ac8fSEnji Coopern1=`namegen`
13*40a8ac8fSEnji Coopern2=`namegen`
14*40a8ac8fSEnji Coopern3=`namegen`
15*40a8ac8fSEnji Coopern4=`namegen`
16*40a8ac8fSEnji Cooper
17*40a8ac8fSEnji Cooperexpect 0 mkdir ${n0} 0755
18*40a8ac8fSEnji Coopercdir=`pwd`
19*40a8ac8fSEnji Coopercd ${n0}
20*40a8ac8fSEnji Cooper
21*40a8ac8fSEnji Cooperexpect 0 mkdir ${n1} 0755
22*40a8ac8fSEnji Cooperexpect 0 chown ${n1} 65534 65534
23*40a8ac8fSEnji Cooperexpect 0 mkdir ${n2} 0755
24*40a8ac8fSEnji Cooperexpect 0 chown ${n2} 65534 65534
25*40a8ac8fSEnji Cooperexpect 0 -u 65534 -g 65534 create ${n1}/${n3} 0644
26*40a8ac8fSEnji Cooper
27*40a8ac8fSEnji Cooperexpect 0 -u 65534 -g 65534 link ${n1}/${n3} ${n2}/${n4}
28*40a8ac8fSEnji Cooperexpect 0 -u 65534 -g 65534 unlink ${n2}/${n4}
29*40a8ac8fSEnji Cooper
30*40a8ac8fSEnji Cooperexpect 0 chmod ${n2} 0555
31*40a8ac8fSEnji Cooperexpect EACCES -u 65534 -g 65534 link ${n1}/${n3} ${n2}/${n4}
32*40a8ac8fSEnji Cooperexpect 0 chmod ${n1} 0555
33*40a8ac8fSEnji Cooperexpect EACCES -u 65534 -g 65534 link ${n1}/${n3} ${n1}/${n4}
34*40a8ac8fSEnji Cooperexpect 0 chmod ${n1} 0755
35*40a8ac8fSEnji Cooper
36*40a8ac8fSEnji Cooperexpect 0 unlink ${n1}/${n3}
37*40a8ac8fSEnji Cooperexpect 0 rmdir ${n1}
38*40a8ac8fSEnji Cooperexpect 0 rmdir ${n2}
39*40a8ac8fSEnji Cooper
40*40a8ac8fSEnji Coopercd ${cdir}
41*40a8ac8fSEnji Cooperexpect 0 rmdir ${n0}
42