diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-28 23:07:06 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-28 23:07:06 +0000 |
commit | 6a2d40f239566e886ef76542a75662cee9380a0e (patch) | |
tree | f2e26f50cae7ddc60112f51174c4d994a9954fea /shell/hush_test | |
parent | bcb25537d02b50ce26678defcf4f39d0c89f5b3b (diff) | |
download | busybox-w32-6a2d40f239566e886ef76542a75662cee9380a0e.tar.gz busybox-w32-6a2d40f239566e886ef76542a75662cee9380a0e.tar.bz2 busybox-w32-6a2d40f239566e886ef76542a75662cee9380a0e.zip |
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 000000000..04a4b1757 --- /dev/null +++ b/shell/hush_test/hush-misc/break1.right | |||
@@ -0,0 +1,2 @@ | |||
1 | A | ||
2 | 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 000000000..912f149c1 --- /dev/null +++ b/shell/hush_test/hush-misc/break1.tests | |||
@@ -0,0 +1,3 @@ | |||
1 | while true; do echo A; break; echo B; done | ||
2 | echo OK:$? | ||
3 | |||
diff --git a/shell/hush_test/hush-misc/break2.right b/shell/hush_test/hush-misc/break2.right new file mode 100644 index 000000000..8a15cb95f --- /dev/null +++ b/shell/hush_test/hush-misc/break2.right | |||
@@ -0,0 +1,3 @@ | |||
1 | A | ||
2 | AA | ||
3 | 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 000000000..7da9faf34 --- /dev/null +++ b/shell/hush_test/hush-misc/break2.tests | |||
@@ -0,0 +1,6 @@ | |||
1 | while true; do | ||
2 | echo A | ||
3 | while true; do echo AA; break 2; echo BB; done | ||
4 | echo B | ||
5 | done | ||
6 | 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 000000000..04a4b1757 --- /dev/null +++ b/shell/hush_test/hush-misc/break3.right | |||
@@ -0,0 +1,2 @@ | |||
1 | A | ||
2 | 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 000000000..d138dcac5 --- /dev/null +++ b/shell/hush_test/hush-misc/break3.tests | |||
@@ -0,0 +1,2 @@ | |||
1 | v=break; while true; do echo A; $v; echo B; break; echo C; done | ||
2 | echo OK:$? | ||