diff options
author | Denis Vlasenko | 2008-07-28 23:07:06 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-07-28 23:07:06 +0000 |
commit | 6a2d40f239566e886ef76542a75662cee9380a0e (patch) | |
tree | f2e26f50cae7ddc60112f51174c4d994a9954fea /shell/hush_test | |
parent | bcb25537d02b50ce26678defcf4f39d0c89f5b3b (diff) | |
download | busybox-6a2d40f239566e886ef76542a75662cee9380a0e.zip busybox-6a2d40f239566e886ef76542a75662cee9380a0e.tar.gz |
hush: support "break N" and "continue N"
fix non-detection of builtins and applets in "v=break; ...; $v; ..." case
add testsuite entries for the above
function old new delta
builtin_break 12 93 +81
run_list 1948 1971 +23
builtin_continue 12 21 +9
pseudo_exec_argv 132 138 +6
builtin_exec 23 25 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 121/0) Total: 121 bytes
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/break1.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/break1.tests | 3 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/break2.right | 3 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/break2.tests | 6 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/break3.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/break3.tests | 2 |
6 files changed, 18 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/break1.right b/shell/hush_test/hush-misc/break1.right new file mode 100644 index 0000000..04a4b17 --- /dev/null +++ b/shell/hush_test/hush-misc/break1.right @@ -0,0 +1,2 @@ +A +OK:0 diff --git a/shell/hush_test/hush-misc/break1.tests b/shell/hush_test/hush-misc/break1.tests new file mode 100755 index 0000000..912f149 --- /dev/null +++ b/shell/hush_test/hush-misc/break1.tests @@ -0,0 +1,3 @@ +while true; do echo A; break; echo B; done +echo OK:$? + diff --git a/shell/hush_test/hush-misc/break2.right b/shell/hush_test/hush-misc/break2.right new file mode 100644 index 0000000..8a15cb9 --- /dev/null +++ b/shell/hush_test/hush-misc/break2.right @@ -0,0 +1,3 @@ +A +AA +OK:0 diff --git a/shell/hush_test/hush-misc/break2.tests b/shell/hush_test/hush-misc/break2.tests new file mode 100755 index 0000000..7da9faf --- /dev/null +++ b/shell/hush_test/hush-misc/break2.tests @@ -0,0 +1,6 @@ +while true; do + echo A + while true; do echo AA; break 2; echo BB; done + echo B +done +echo OK:$? diff --git a/shell/hush_test/hush-misc/break3.right b/shell/hush_test/hush-misc/break3.right new file mode 100644 index 0000000..04a4b17 --- /dev/null +++ b/shell/hush_test/hush-misc/break3.right @@ -0,0 +1,2 @@ +A +OK:0 diff --git a/shell/hush_test/hush-misc/break3.tests b/shell/hush_test/hush-misc/break3.tests new file mode 100755 index 0000000..d138dca --- /dev/null +++ b/shell/hush_test/hush-misc/break3.tests @@ -0,0 +1,2 @@ +v=break; while true; do echo A; $v; echo B; break; echo C; done +echo OK:$? |