aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/hush_test/hush-z_slow/leak_var3.right3
-rwxr-xr-xshell/hush_test/hush-z_slow/leak_var3.tests41
2 files changed, 44 insertions, 0 deletions
diff --git a/shell/hush_test/hush-z_slow/leak_var3.right b/shell/hush_test/hush-z_slow/leak_var3.right
new file mode 100644
index 000000000..c6f0334f3
--- /dev/null
+++ b/shell/hush_test/hush-z_slow/leak_var3.right
@@ -0,0 +1,3 @@
+Warm up
+Measuring memory leak...
+Ok
diff --git a/shell/hush_test/hush-z_slow/leak_var3.tests b/shell/hush_test/hush-z_slow/leak_var3.tests
new file mode 100755
index 000000000..9554c42cf
--- /dev/null
+++ b/shell/hush_test/hush-z_slow/leak_var3.tests
@@ -0,0 +1,41 @@
+# Was seen leaking on NOMMU build
+
+echo "Warm up"
+i=1; t=1; export t
+while test $i != 400; do
+ t=valueA_$i true
+ : $((i++))
+done
+
+memleak
+echo "Measuring memory leak..."
+
+# Please copy the entire block from above verbatim
+i=1; t=1; export t
+while test $i != 400; do
+ t=valueA_$i true
+ : $((i++))
+done
+i=1; t=1; export t
+while test $i != 400; do
+ t=valueA_$i true
+ : $((i++))
+done
+i=1; t=1; export t
+while test $i != 400; do
+ t=valueA_$i true
+ : $((i++))
+done
+i=1; t=1; export t
+while test $i != 400; do
+ t=valueA_$i true
+ : $((i++))
+done
+
+memleak
+kb=$?
+if test $kb -le 4; then
+ echo Ok #$kb
+else
+ echo "Bad: $kb kb (or more) leaked"
+fi