busybox/shell/hush_test/hush-vars/readonly0.tests
Denys Vlasenko f645e1573c hush: another testcase for "READONLY_VAR=VAL BLTIN ..."
Currently fails.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 03:23:07 +02:00

43 lines
882 B
Plaintext
Executable File

unset a b
#
readonly a=A
b=B
readonly b
# readonly on already readonly var is harmless:
readonly b a
readonly | grep '^readonly [ab]='
# this should work:
export a b
export -n a b
echo Ok:$?
env | grep -e^a= -e^b= # shows nothing
echo
# these should all fail (despite the same value being assigned)
# bash does not abort even in non-interactive more (in script)
true; a=A
echo Fail:$?
true; readonly a=A
echo Fail:$?
echo
# in bash, assignment in export fails, but export succeeds! :)
# we don't mimic that!
true; export a=Z
echo Fail:$?
#env | grep '^a='
#echo "^^^a is exported"
export -n a # undo that bashism, if it happens
echo
export b
# this fails to both set and export a:
a=Z env | grep '^[ab]='
echo "^^^a is not exported"
# but external command does get executed, and $? is not mangled (stays 42):
(exit 42); a=Z env echo Visible:$?
echo
true; unset a
echo Fail:$?