aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
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 @@
+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=$?