diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-11 03:23:41 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-11 03:23:41 +0400 |
commit | ce4acbbab664e9ab3432189f88b525f10553f674 (patch) | |
tree | d845cf76877865eaa332338bf689f65dda3b1794 /shell/hush_test | |
parent | 6ba6f546ac8016a3acccb19b2eff8b6878a3a87c (diff) |
hush: add function tests
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/func1.right | 6 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/func1.tests | 16 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/func2.right | 5 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/func2.tests | 9 | ||||
-rwxr-xr-x | shell/hush_test/hush-z_slow/leak_all1.tests | 4 | ||||
-rwxr-xr-x | shell/hush_test/hush-z_slow/leak_all2.tests | 6 |
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 @@ +Hello +Zero: 0 +One: 1 Param1: World +Zero: 0 Param1: Restored +Multi line function +One: 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 @@ +f() { echo Hello; } +g () { echo One: $# Param1: $1; } +h ( ) +{ + echo -n 'Multi ' && echo -n 'line ' + echo function + false +} + +f +echo Zero: $? +set -- Restored +{ g World; } +echo Zero: $? Param1: $1 +( h ) +echo 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 @@ +First 0 +Second 0 +First 1 +Second 1 +Done 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 @@ +i=0 +while test $i != 2; do + f() { echo First $i; } + f + f() { echo Second $i; } + f + : $((i++)) +done +echo 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 { : /bin/*; } set -- par1_$i par2_$i par3_$i par4_$i trap "echo trap$i" WINCH + f() { echo $1; } + f >/dev/null : $((i++)) done @@ -55,6 +57,8 @@ HERE { : /bin/*; } set -- par1_$i par2_$i par3_$i par4_$i trap "echo trap$i" WINCH + f() { echo $1; } + f >/dev/null : $((i++)) done 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 } 1<>/dev/null while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null +f() { echo $1; } +f >/dev/null memleak @@ -53,6 +55,8 @@ HERE } 1<>/dev/null while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null +f() { echo $1; } +f >/dev/null # And same again @@ -77,6 +81,8 @@ HERE } 1<>/dev/null while { echo $dev_null >>$dev_null; }; do cat <"$dev_null"; break; done ( until { echo $dev_null >>$dev_null | false; }; do cat <"$dev_null"; break; done ) <$dev_null +f() { echo $1; } +f >/dev/null memleak kb=$? |