diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-18 01:40:01 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-18 01:40:01 +0200 |
commit | 38ef39a1abd46ca390b0259ebd0b35e9ea9ccb68 (patch) | |
tree | 7c2f7de98cd1a7b467be6529eff98c23b999af17 /shell/hush_test | |
parent | 3bab36b18baa0dc254445828f492051450a38d41 (diff) | |
download | busybox-w32-38ef39a1abd46ca390b0259ebd0b35e9ea9ccb68.tar.gz busybox-w32-38ef39a1abd46ca390b0259ebd0b35e9ea9ccb68.tar.bz2 busybox-w32-38ef39a1abd46ca390b0259ebd0b35e9ea9ccb68.zip |
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>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-vars/readonly0.right | 12 | ||||
-rwxr-xr-x | shell/hush_test/hush-vars/readonly0.tests | 24 |
2 files changed, 36 insertions, 0 deletions
diff --git a/shell/hush_test/hush-vars/readonly0.right b/shell/hush_test/hush-vars/readonly0.right new file mode 100644 index 000000000..9688d2e5f --- /dev/null +++ b/shell/hush_test/hush-vars/readonly0.right | |||
@@ -0,0 +1,12 @@ | |||
1 | readonly a=A | ||
2 | readonly b=B | ||
3 | Ok:0 | ||
4 | hush: a=A: readonly variable | ||
5 | Fail:1 | ||
6 | hush: a=A: readonly variable | ||
7 | Fail:1 | ||
8 | hush: a=A: readonly variable | ||
9 | Fail:1 | ||
10 | Visible:0 | ||
11 | hush: a: readonly variable | ||
12 | 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 000000000..3845f76ac --- /dev/null +++ b/shell/hush_test/hush-vars/readonly0.tests | |||
@@ -0,0 +1,24 @@ | |||
1 | readonly a=A | ||
2 | b=B | ||
3 | readonly b | ||
4 | # readonly on already readonly var is harmless | ||
5 | readonly b a | ||
6 | readonly | grep '^readonly [ab]=' | ||
7 | # this should work | ||
8 | export a b | ||
9 | export -n a b | ||
10 | echo Ok:$? | ||
11 | env | grep -e^a= -e^b= # shows nothing | ||
12 | |||
13 | # these should all fail (despite the same value being assigned) | ||
14 | # bash does not abort even in non-interactive more (in script) | ||
15 | true | ||
16 | a=A | ||
17 | echo Fail:$?; true | ||
18 | readonly a=A | ||
19 | echo Fail:$?; true | ||
20 | export a=A | ||
21 | echo Fail:$?; true | ||
22 | a=A echo Visible:$? # command still runs | ||
23 | unset a | ||
24 | echo Fail:$?; true | ||