From 38ef39a1abd46ca390b0259ebd0b35e9ea9ccb68 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 18 Jul 2017 01:40:01 +0200 Subject: 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 --- shell/hush_test/hush-vars/readonly0.right | 12 ++++++++++++ shell/hush_test/hush-vars/readonly0.tests | 24 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 shell/hush_test/hush-vars/readonly0.right create mode 100755 shell/hush_test/hush-vars/readonly0.tests (limited to 'shell/hush_test') diff --git a/shell/hush_test/hush-vars/readonly0.right b/shell/hush_test/hush-vars/readonly0.right new file mode 100644 index 0000000..9688d2e --- /dev/null +++ b/shell/hush_test/hush-vars/readonly0.right @@ -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 diff --git a/shell/hush_test/hush-vars/readonly0.tests b/shell/hush_test/hush-vars/readonly0.tests new file mode 100755 index 0000000..3845f76 --- /dev/null +++ b/shell/hush_test/hush-vars/readonly0.tests @@ -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 -- cgit v1.1