xref: /freebsd/contrib/pjdfstest/tests/chmod/02.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/02.t 211352 2010-08-15 21:24:17Z pjd $
440a8ac8fSEnji Cooper
540a8ac8fSEnji Cooperdesc="chmod returns ENAMETOOLONG if a component of a pathname exceeded {NAME_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=`namegen_max`
1740a8ac8fSEnji Coopernxx="${nx}x"
1840a8ac8fSEnji Cooper
1940a8ac8fSEnji Cooperexpect 0 create ${nx} 0644
2040a8ac8fSEnji Cooperexpect 0 chmod ${nx} 0620
2140a8ac8fSEnji Cooperexpect 0620 stat ${nx} mode
2240a8ac8fSEnji Cooperexpect 0 unlink ${nx}
2340a8ac8fSEnji Cooperexpect ENAMETOOLONG chmod ${nxx} 0620
2440a8ac8fSEnji Cooper
25*3416500aSEnji Cooperif supported lchmod; then
2640a8ac8fSEnji Cooper	expect 0 create ${nx} 0644
2740a8ac8fSEnji Cooper	expect 0 lchmod ${nx} 0620
2840a8ac8fSEnji Cooper	expect 0620 stat ${nx} mode
2940a8ac8fSEnji Cooper	expect 0 unlink ${nx}
3040a8ac8fSEnji Cooper	expect ENAMETOOLONG lchmod ${nxx} 0620
31*3416500aSEnji Cooperfi
32