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