expand leak_all1.tests
[oweals/busybox.git] / shell / hush_test / hush-z_slow / leak_all1.tests
1 # "Check many leaks" test #1
2 # Cramming all kinds of weird commands in here.
3 # As you find leaks, please create separate, small test
4 # for each leak.
5 # Narrowing down the leak using this large test may be difficult.
6 # It is intended to be a blanket "is everything ok?" test
7
8 echo "Warm up"
9 i=1
10 l=1
11 t=1
12 export t
13 while test $i != 99; do
14     t=value1_$i; t=value2_$i true; t=value3_$i /bin/true; t=value4_$i exec 1>&1
15     { t=value3_$i /bin/true; } </dev/null
16     if true; t=valueA_$i false >>/dev/null; true; then
17         : << HERE >/dev/null; true <<HERE
18 Hello builtin :
19 HERE
20 Hello $i true
21 HERE
22     elif false; then
23         true; echo Doesnt run
24     else
25         { true; }; echo Doesnt run too >>/foo/bar
26     fi
27     { : /bin/*; }
28     set -- par1_$i par2_$i par3_$i par4_$i
29     trap "echo trap$i" WINCH
30     : $((i++))
31 done
32
33 memleak
34
35 echo "Measuring memory leak..."
36 # Please copy the entire block from above verbatim
37 i=1
38 l=1
39 t=1
40 export t
41 while test $i != 99; do
42     t=value1_$i; t=value2_$i true; t=value3_$i /bin/true; t=value4_$i exec 1>&1
43     { t=value3_$i /bin/true; } </dev/null
44     if true; t=valueA_$i false >>/dev/null; true; then
45         : << HERE >/dev/null; true <<HERE
46 Hello builtin :
47 HERE
48 Hello $i true
49 HERE
50     elif false; then
51         true; echo Doesnt run
52     else
53         { true; }; echo Doesnt run too >>/foo/bar
54     fi
55     { : /bin/*; }
56     set -- par1_$i par2_$i par3_$i par4_$i
57     trap "echo trap$i" WINCH
58     : $((i++))
59 done
60
61 memleak
62 kb=$?
63 if test $kb -le 4; then
64     echo Ok #$kb
65 else
66     echo "Bad: $kb kb (or more) leaked"
67 fi