diff options
author | Denys Vlasenko | 2010-07-16 13:52:32 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-07-16 13:52:32 +0200 |
commit | 29082231d0cb1a5b327de5d515b16f332d4dbdaf (patch) | |
tree | d0e3091e7d5244f555a16d3967dacad2ff8ba7e7 /shell/hush_test | |
parent | 202a2d121905a6245cdf7441c9f83ff213b5502e (diff) | |
download | busybox-29082231d0cb1a5b327de5d515b16f332d4dbdaf.zip busybox-29082231d0cb1a5b327de5d515b16f332d4dbdaf.tar.gz |
hush: fix multimple dependent variable expansion cases
function old new delta
get_local_var_value 100 171 +71
expand_assignments 46 76 +30
reset_traps_to_defaults 229 238 +9
maybe_set_to_sigexit 47 50 +3
init_sigmasks 211 214 +3
builtin_trap 462 465 +3
expand_vars_to_list 2412 2408 -4
run_pipe 1568 1533 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/2 up/down: 119/-39) Total: 80 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-vars/var_serial.right | 5 | ||||
-rwxr-xr-x | shell/hush_test/hush-vars/var_serial.tests | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/shell/hush_test/hush-vars/var_serial.right b/shell/hush_test/hush-vars/var_serial.right new file mode 100644 index 0000000..42aa330 --- /dev/null +++ b/shell/hush_test/hush-vars/var_serial.right @@ -0,0 +1,5 @@ +Assignments only: c=a +Assignments and a command: c=a +Assignments and a builtin: c=a +Assignments and a function: c=a +Done diff --git a/shell/hush_test/hush-vars/var_serial.tests b/shell/hush_test/hush-vars/var_serial.tests new file mode 100755 index 0000000..6b4a4cd --- /dev/null +++ b/shell/hush_test/hush-vars/var_serial.tests @@ -0,0 +1,22 @@ +a=a + +b=b +c=c +# Second assignment depends on the first: +b=$a c=$b +echo Assignments only: c=$c + +b=b +c=c +b=$a c=$b "$THIS_SH" -c 'echo Assignments and a command: c=$c' + +b=b +c=c +b=$a c=$b eval 'echo Assignments and a builtin: c=$c' + +b=b +c=c +f() { echo Assignments and a function: c=$c; } +b=$a c=$b f + +echo Done |