hush: add readonly testcase, fix fallout
function old new delta helper_export_local 185 214 +29 run_pipe 1549 1560 +11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 40/0) Total: 40 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
12
shell/hush_test/hush-vars/readonly0.right
Normal file
12
shell/hush_test/hush-vars/readonly0.right
Normal file
@ -0,0 +1,12 @@
|
||||
readonly a=A
|
||||
readonly b=B
|
||||
Ok:0
|
||||
hush: a=A: readonly variable
|
||||
Fail:1
|
||||
hush: a=A: readonly variable
|
||||
Fail:1
|
||||
hush: a=A: readonly variable
|
||||
Fail:1
|
||||
Visible:0
|
||||
hush: a: readonly variable
|
||||
Fail:1
|
24
shell/hush_test/hush-vars/readonly0.tests
Executable file
24
shell/hush_test/hush-vars/readonly0.tests
Executable file
@ -0,0 +1,24 @@
|
||||
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
|
||||
|
||||
# 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:$?; true
|
||||
export a=A
|
||||
echo Fail:$?; true
|
||||
a=A echo Visible:$? # command still runs
|
||||
unset a
|
||||
echo Fail:$?; true
|
Reference in New Issue
Block a user