#! /bin/sh

goal="test single pathname <6 chars>/<50 chars>/<6 chars>/<121 chars>"
bru=${BRU:-bru}

# Parse our args.  Options include:
#
#	-s	Print our one line test goal and quit
#

while true
do
	case $1 in
		-d)	dflag="on"
			shift
			;;
		-g)	echo $goal
			exit 0
			;;
		*bru*)	bru=$1
			shift
			;;
		*)	break
			;;
	esac
done

if [ "$dflag" != "on" ]
then
	trap "rm -rf tmpdir bru.out* ; exit 1" 1 2 13 15
fi

# First clean up any stuff that may be left from a previous test.

rm -rf bru.out* tmpdir

# Run test.

n21=aaaaaaaaaaaaaaaaaaaaa
n50=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

dir1=tmpdir
dir2=${n50}
dir3=tmpdir
file1=${n50}${n50}${n21}
pathname=$dir1/$dir2/$dir3/$file1

testrun=no
if mkdir $dir1
then
	if mkdir $dir1/$dir2 >/dev/null 2>&1
	then
		if mkdir $dir1/$dir2/$dir3 >/dev/null 2>&1
		then
			touch 0101000070 $pathname
			chgrp 0 $pathname
			chmod 666 $pathname
			chgrp 0 $pathname
			chown 0 $pathname

			if test ! -f $dir1/$dir2/$dir3/${n50}
			then
				testrun=yes

				echo "$pathname" | $bru -cvvf bru.out -
				echo "bru exit status was $?"

				$bru -ivvf bru.out
				echo "bru exit status was $?"

				$bru -dvvf bru.out
				echo "bru exit status was $?"

				$bru -tvvf bru.out
				echo "bru exit status was $?"

			fi
		fi
	fi
fi

if [ "$testrun" != "yes" ]
then
	echo "Test skipped, requires long filenames."
fi

if [ "$dflag" != "on" ]
then
	rm -rf tmpdir bru.out
fi

exit 0
