xref: /dflybsd-src/tools/regression/bin/sh/errors/assignment-error1.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/errors/assignment-error1.0 213738 2010-10-12 18:20:38Z obrien $
23df4d8b0SPeter AvalosIFS=,
33df4d8b0SPeter Avalos
43df4d8b0SPeter AvalosSPECIAL="break,\
53df4d8b0SPeter Avalos	:,\
63df4d8b0SPeter Avalos	continue,\
73df4d8b0SPeter Avalos	. /dev/null,\
83df4d8b0SPeter Avalos	eval,\
93df4d8b0SPeter Avalos	exec,\
103df4d8b0SPeter Avalos	export -p,\
113df4d8b0SPeter Avalos	readonly -p,\
123df4d8b0SPeter Avalos	set,\
133df4d8b0SPeter Avalos	shift,\
143df4d8b0SPeter Avalos	times,\
153df4d8b0SPeter Avalos	trap,\
163df4d8b0SPeter Avalos	unset foo"
173df4d8b0SPeter Avalos
183df4d8b0SPeter Avalos# If there is no command word, the shell must abort on an assignment error.
193df4d8b0SPeter Avalos${SH} -c "readonly a=0; a=2; exit 0" 2>/dev/null && exit 1
203df4d8b0SPeter Avalos
213df4d8b0SPeter Avalos# Special built-in utilities must abort on an assignment error.
223df4d8b0SPeter Avalosset -- ${SPECIAL}
233df4d8b0SPeter Avalosfor cmd in "$@"
243df4d8b0SPeter Avalosdo
253df4d8b0SPeter Avalos	${SH} -c "readonly a=0; a=2 ${cmd}; exit 0" 2>/dev/null && exit 1
263df4d8b0SPeter Avalosdone
273df4d8b0SPeter Avalos
283df4d8b0SPeter Avalos# Other utilities must not abort; we currently still execute them.
293df4d8b0SPeter Avalos${SH} -c 'readonly a=0; a=1 true; exit $a' 2>/dev/null || exit 1
303df4d8b0SPeter Avalos${SH} -c 'readonly a=0; a=1 command :; exit $a' 2>/dev/null || exit 1
31