xref: /freebsd/contrib/pjdfstest/tests/chmod/03.t (revision 531c2d7af3cd2e64eec94aa1b19c4b2f16fce515)
140a8ac8fSEnji Cooper#!/bin/sh
2*3416500aSEnji Cooper# vim: filetype=sh noexpandtab ts=8 sw=8
340a8ac8fSEnji Cooper# $FreeBSD: head/tools/regression/pjdfstest/tests/chmod/03.t 211352 2010-08-15 21:24:17Z pjd $
440a8ac8fSEnji Cooper
540a8ac8fSEnji Cooperdesc="chmod returns ENAMETOOLONG if an entire path name exceeded {PATH_MAX} characters"
640a8ac8fSEnji Cooper
740a8ac8fSEnji Cooperdir=`dirname $0`
840a8ac8fSEnji Cooper. ${dir}/../misc.sh
940a8ac8fSEnji Cooper
10*3416500aSEnji Cooperif supported lchmod; then
1140a8ac8fSEnji Cooper	echo "1..10"
12*3416500aSEnji Cooperelse
13*3416500aSEnji Cooper	echo "1..5"
14*3416500aSEnji Cooperfi
1540a8ac8fSEnji Cooper
1640a8ac8fSEnji Coopernx=`dirgen_max`
1740a8ac8fSEnji Coopernxx="${nx}x"
1840a8ac8fSEnji Cooper
1940a8ac8fSEnji Coopermkdir -p "${nx%/*}"
2040a8ac8fSEnji Cooper
2140a8ac8fSEnji Cooperexpect 0 create ${nx} 0644
2240a8ac8fSEnji Cooperexpect 0 chmod ${nx} 0642
2340a8ac8fSEnji Cooperexpect 0642 stat ${nx} mode
2440a8ac8fSEnji Cooperexpect 0 unlink ${nx}
2540a8ac8fSEnji Cooperexpect ENAMETOOLONG chmod ${nxx} 0642
2640a8ac8fSEnji Cooper
27*3416500aSEnji Cooperif supported lchmod; then
2840a8ac8fSEnji Cooper	expect 0 create ${nx} 0644
2940a8ac8fSEnji Cooper	expect 0 lchmod ${nx} 0642
3040a8ac8fSEnji Cooper	expect 0642 stat ${nx} mode
3140a8ac8fSEnji Cooper	expect 0 unlink ${nx}
3240a8ac8fSEnji Cooper	expect ENAMETOOLONG lchmod ${nxx} 0642
33*3416500aSEnji Cooperfi
3440a8ac8fSEnji Cooper
3540a8ac8fSEnji Cooperrm -rf "${nx%%/*}"
36