summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko2008-07-28 23:07:06 +0000
committerDenis Vlasenko2008-07-28 23:07:06 +0000
commit6a2d40f239566e886ef76542a75662cee9380a0e (patch)
treef2e26f50cae7ddc60112f51174c4d994a9954fea /shell/hush_test
parentbcb25537d02b50ce26678defcf4f39d0c89f5b3b (diff)
downloadbusybox-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.right2
-rwxr-xr-xshell/hush_test/hush-misc/break1.tests3
-rw-r--r--shell/hush_test/hush-misc/break2.right3
-rwxr-xr-xshell/hush_test/hush-misc/break2.tests6
-rw-r--r--shell/hush_test/hush-misc/break3.right2
-rwxr-xr-xshell/hush_test/hush-misc/break3.tests2
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:$?