From ce4acbbab664e9ab3432189f88b525f10553f674 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 10 Apr 2009 23:23:41 +0000 Subject: hush: add function tests --- shell/hush_test/hush-misc/func1.right | 6 ++++++ shell/hush_test/hush-misc/func1.tests | 16 ++++++++++++++++ shell/hush_test/hush-misc/func2.right | 5 +++++ shell/hush_test/hush-misc/func2.tests | 9 +++++++++ shell/hush_test/hush-z_slow/leak_all1.tests | 4 ++++ shell/hush_test/hush-z_slow/leak_all2.tests | 6 ++++++ 6 files changed, 46 insertions(+) create mode 100644 shell/hush_test/hush-misc/func1.right create mode 100755 shell/hush_test/hush-misc/func1.tests create mode 100644 shell/hush_test/hush-misc/func2.right create mode 100755 shell/hush_test/hush-misc/func2.tests (limited to 'shell/hush_test') 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=$? -- cgit v1.2.3