hush: fix environment and memory leaks, add tests for them
[oweals/busybox.git] / shell / hush_test / hush-z_slow / leak_var2.tests
1 pid=$$
2
3 t=1
4 export t
5
6 # Warm up
7 beg=`ps -o pid,vsz | grep "^ *$pid "`
8 i=1
9 while test $i != X; do
10     t=111111111111111111111111111111111111111111111111111111111111111111111110$i
11     t=111111111111111111111111111111111111111111111111111111111111111111111111$i true
12     t=111111111111111111111111111111111111111111111111111111111111111111111112$i /bin/true
13     t=111111111111111111111111111111111111111111111111111111111111111111111113$i exec 1>&1
14     i=1$i
15     if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi
16     if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi
17     if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi
18     if test $i = 1111111111111111111111111111111111111111111114; then i=X; fi
19 done
20 end=`ps -o pid,vsz | grep "^ *$pid "`
21
22 # Warm up again (I do need it on my machine)
23 beg=`ps -o pid,vsz | grep "^ *$pid "`
24 i=1
25 while test $i != X; do
26     t=111111111111111111111111111111111111111111111111111111111111111111111110$i
27     t=111111111111111111111111111111111111111111111111111111111111111111111111$i true
28     t=111111111111111111111111111111111111111111111111111111111111111111111112$i /bin/true
29     t=111111111111111111111111111111111111111111111111111111111111111111111113$i exec 1>&1
30     i=1$i
31     if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi
32     if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi
33     if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi
34     if test $i = 1111111111111111111111111111111111111111111114; then i=X; fi
35 done
36 end=`ps -o pid,vsz | grep "^ *$pid "`
37 if test "$beg" != "$end"; then
38     true echo "vsz grows: $beg -> $end"
39 else
40     true echo "vsz does not grow"
41 fi
42
43 echo "Measuring memory leak..."
44 beg=`ps -o pid,vsz | grep "^ *$pid "`
45 i=1
46 while test $i != X; do
47     t=111111111111111111111111111111111111111111111111111111111111111111111110$i
48     t=111111111111111111111111111111111111111111111111111111111111111111111111$i true
49     t=111111111111111111111111111111111111111111111111111111111111111111111112$i /bin/true
50     t=111111111111111111111111111111111111111111111111111111111111111111111113$i exec 1>&1
51     i=1$i
52     if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi
53     if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi
54     if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi
55     if test $i = 1111111111111111111111111111111111111111111114; then i=X; fi
56 done
57 end=`ps -o pid,vsz | grep "^ *$pid "`
58
59 if test "$beg" != "$end"; then
60     echo "vsz grows: $beg -> $end"
61 else
62     echo "vsz does not grow"
63 fi