summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-04-09 14:15:57 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-04-09 14:15:57 +0000
commit1943aec2ec390d9fda159aa0412362780ec83f09 (patch)
treeec9ddd365d2232d9fb621b79000cbf20f1410cda /shell/hush_test
parentefea9d2819165b414b81a47c8227ae007bd5382a (diff)
downloadbusybox-w32-1943aec2ec390d9fda159aa0412362780ec83f09.tar.gz
busybox-w32-1943aec2ec390d9fda159aa0412362780ec83f09.tar.bz2
busybox-w32-1943aec2ec390d9fda159aa0412362780ec83f09.zip
hush: plug the leak of expanded heredoc
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-z_slow/leak_heredoc1.right3
-rwxr-xr-xshell/hush_test/hush-z_slow/leak_heredoc1.tests34
2 files changed, 37 insertions, 0 deletions
diff --git a/shell/hush_test/hush-z_slow/leak_heredoc1.right b/shell/hush_test/hush-z_slow/leak_heredoc1.right
new file mode 100644
index 000000000..c6f0334f3
--- /dev/null
+++ b/shell/hush_test/hush-z_slow/leak_heredoc1.right
@@ -0,0 +1,3 @@
1Warm up
2Measuring memory leak...
3Ok
diff --git a/shell/hush_test/hush-z_slow/leak_heredoc1.tests b/shell/hush_test/hush-z_slow/leak_heredoc1.tests
new file mode 100755
index 000000000..26cbb28a4
--- /dev/null
+++ b/shell/hush_test/hush-z_slow/leak_heredoc1.tests
@@ -0,0 +1,34 @@
1echo "Warm up"
2i=1
3while test $i != 99; do
4 : <<HERE
5Hello $i `echo builtin_$i`
6HERE
7 : $((i++))
8done
9
10memleak
11
12echo "Measuring memory leak..."
13i=1
14while test $i != 99; do
15 : <<HERE
16Hello $i `echo builtin_$i`
17HERE
18 : $((i++))
19done
20i=1
21while test $i != 99; do
22 : <<HERE
23Hello $i `echo builtin_$i`
24HERE
25 : $((i++))
26done
27
28memleak
29kb=$?
30if test $kb -le 4; then
31 echo Ok #$kb
32else
33 echo "Bad: $kb kb (or more) leaked"
34fi