From f645e1573c5521c87b972400f9b4abc3636983d4 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 18 Jul 2017 03:23:07 +0200 Subject: hush: another testcase for "READONLY_VAR=VAL BLTIN ..." Currently fails. Signed-off-by: Denys Vlasenko --- shell/hush_test/hush-vars/readonly0.tests | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'shell/hush_test/hush-vars/readonly0.tests') diff --git a/shell/hush_test/hush-vars/readonly0.tests b/shell/hush_test/hush-vars/readonly0.tests index 3ace9b767..0833ccf29 100755 --- a/shell/hush_test/hush-vars/readonly0.tests +++ b/shell/hush_test/hush-vars/readonly0.tests @@ -1,5 +1,5 @@ unset a b - +# readonly a=A b=B readonly b @@ -12,6 +12,7 @@ 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 @@ -19,18 +20,23 @@ 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:$?; true +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]=' # command still runs +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:$? -unset a -echo Fail:$?; true +echo +true; unset a +echo Fail:$? -- cgit v1.2.3