summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-04-10 23:23:41 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-04-10 23:23:41 +0000
commitce4acbbab664e9ab3432189f88b525f10553f674 (patch)
treed845cf76877865eaa332338bf689f65dda3b1794 /shell/hush_test
parent6ba6f546ac8016a3acccb19b2eff8b6878a3a87c (diff)
downloadbusybox-w32-ce4acbbab664e9ab3432189f88b525f10553f674.tar.gz
busybox-w32-ce4acbbab664e9ab3432189f88b525f10553f674.tar.bz2
busybox-w32-ce4acbbab664e9ab3432189f88b525f10553f674.zip
hush: add function tests
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-misc/func1.right6
-rwxr-xr-xshell/hush_test/hush-misc/func1.tests16
-rw-r--r--shell/hush_test/hush-misc/func2.right5
-rwxr-xr-xshell/hush_test/hush-misc/func2.tests9
-rwxr-xr-xshell/hush_test/hush-z_slow/leak_all1.tests4
-rwxr-xr-xshell/hush_test/hush-z_slow/leak_all2.tests6
6 files changed, 46 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/func1.right b/shell/hush_test/hush-misc/func1.right
new file mode 100644
index 000000000..e21665aaf
--- /dev/null
+++ b/shell/hush_test/hush-misc/func1.right
@@ -0,0 +1,6 @@
1Hello
2Zero: 0
3One: 1 Param1: World
4Zero: 0 Param1: Restored
5Multi line function
6One: 1
diff --git a/shell/hush_test/hush-misc/func1.tests b/shell/hush_test/hush-misc/func1.tests
new file mode 100755
index 000000000..ffb269fad
--- /dev/null
+++ b/shell/hush_test/hush-misc/func1.tests
@@ -0,0 +1,16 @@
1f() { echo Hello; }
2g () { echo One: $# Param1: $1; }
3h ( )
4{
5 echo -n 'Multi ' && echo -n 'line '
6 echo function
7 false
8}
9
10f
11echo Zero: $?
12set -- Restored
13{ g World; }
14echo Zero: $? Param1: $1
15( h )
16echo One: $?
diff --git a/shell/hush_test/hush-misc/func2.right b/shell/hush_test/hush-misc/func2.right
new file mode 100644
index 000000000..f2a041da7
--- /dev/null
+++ b/shell/hush_test/hush-misc/func2.right
@@ -0,0 +1,5 @@
1First 0
2Second 0
3First 1
4Second 1
5Done
diff --git a/shell/hush_test/hush-misc/func2.tests b/shell/hush_test/hush-misc/func2.tests
new file mode 100755
index 000000000..763203f15
--- /dev/null
+++ b/shell/hush_test/hush-misc/func2.tests
@@ -0,0 +1,9 @@
1i=0
2while test $i != 2; do
3 f() { echo First $i; }
4 f
5 f() { echo Second $i; }
6 f
7 : $((i++))
8done
9echo Done
diff --git a/shell/hush_test/hush-z_slow/leak_all1.tests b/shell/hush_test/hush-z_slow/leak_all1.tests
index b26e2df02..d244744a6 100755
--- a/shell/hush_test/hush-z_slow/leak_all1.tests
+++ b/shell/hush_test/hush-z_slow/leak_all1.tests
@@ -27,6 +27,8 @@ HERE
27 { : /bin/*; } 27 { : /bin/*; }
28 set -- par1_$i par2_$i par3_$i par4_$i 28 set -- par1_$i par2_$i par3_$i par4_$i
29 trap "echo trap$i" WINCH 29 trap "echo trap$i" WINCH
30 f() { echo $1; }
31 f >/dev/null
30 : $((i++)) 32 : $((i++))
31done 33done
32 34
@@ -55,6 +57,8 @@ HERE
55 { : /bin/*; } 57 { : /bin/*; }
56 set -- par1_$i par2_$i par3_$i par4_$i 58 set -- par1_$i par2_$i par3_$i par4_$i
57 trap "echo trap$i" WINCH 59 trap "echo trap$i" WINCH
60 f() { echo $1; }
61 f >/dev/null
58 : $((i++)) 62 : $((i++))
59done 63done
60 64
diff --git a/shell/hush_test/hush-z_slow/leak_all2.tests b/shell/hush_test/hush-z_slow/leak_all2.tests
index 8fb1ca9b4..d51ea8063 100755
--- a/shell/hush_test/hush-z_slow/leak_all2.tests
+++ b/shell/hush_test/hush-z_slow/leak_all2.tests
@@ -27,6 +27,8 @@ HERE
27} 1<>/dev/null 27} 1<>/dev/null
28while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 28while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
29( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 29( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
30f() { echo $1; }
31f >/dev/null
30 32
31memleak 33memleak
32 34
@@ -53,6 +55,8 @@ HERE
53} 1<>/dev/null 55} 1<>/dev/null
54while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 56while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
55( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 57( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
58f() { echo $1; }
59f >/dev/null
56 60
57# And same again 61# And same again
58 62
@@ -77,6 +81,8 @@ HERE
77} 1<>/dev/null 81} 1<>/dev/null
78while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done 82while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done
79( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null 83( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null
84f() { echo $1; }
85f >/dev/null
80 86
81memleak 87memleak
82kb=$? 88kb=$?