source: MondoRescue/branches/2.2.9/mindi-busybox/shell/hush_test/hush-z_slow/leak_all1.tests@ 2725

Last change on this file since 2725 was 2725, checked in by Bruno Cornec, 13 years ago
  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3
  • Property svn:executable set to *
File size: 3.8 KB
Line 
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
8echo "Warm up"
9i=1
10l=1
11t=1
12export t
13while 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
18Hello builtin :
19HERE
20Hello $i true
21HERE
22 elif false; then
23 true; echo Doesnt run
24 else
25 { true; }; echo Doesnt run too >>/foo/bar
26 fi
27 { : /bin/*; }
28 unset var
29 echo >/dev/null ${var#}
30 echo >/dev/null ${var##}
31 echo >/dev/null ${var#*}
32 echo >/dev/null ${var##*}
33 echo >/dev/null ${var%}
34 echo >/dev/null ${var%%}
35 echo >/dev/null ${var%*}
36 echo >/dev/null ${var%%*}
37 var=
38 echo >/dev/null ${var#}
39 echo >/dev/null ${var##}
40 echo >/dev/null ${var#*}
41 echo >/dev/null ${var##*}
42 echo >/dev/null ${var%}
43 echo >/dev/null ${var%%}
44 echo >/dev/null ${var%*}
45 echo >/dev/null ${var%%*}
46 var=ababcdcd
47 echo >/dev/null ${var#ab}
48 echo >/dev/null ${var##ab}
49 echo >/dev/null ${var#a*b}
50 echo >/dev/null ${var##a*b}
51 echo >/dev/null ${var#?}
52 echo >/dev/null ${var##?}
53 echo >/dev/null ${var#*}
54 echo >/dev/null ${var##*}
55 echo >/dev/null ${var%cd}
56 echo >/dev/null ${var%%cd}
57 echo >/dev/null ${var%c*d}
58 echo >/dev/null ${var%%c*d}
59 echo >/dev/null ${var%?}
60 echo >/dev/null ${var%%?}
61 echo >/dev/null ${var%*}
62 echo >/dev/null ${var%%*}
63 set -- par1_$i par2_$i par3_$i par4_$i
64 trap "echo trap$i" WINCH
65 f() { true; true; true; true; true; true; true; true; }
66 f() { true; true; true; true; true; true; true; true; echo $1; }
67 i=iii$i t=ttt$i z=zzz$i f >/dev/null
68 : $((i++))
69done
70unset i l t
71unset -f f
72
73memleak
74
75echo "Measuring memory leak..."
76# Please copy the entire block from above verbatim
77i=1
78l=1
79t=1
80export t
81while test $i != 99; do
82 t=value1_$i; t=value2_$i true; t=value3_$i /bin/true; t=value4_$i exec 1>&1
83 { t=value3_$i /bin/true; } </dev/null
84 if true; t=valueA_$i false >>/dev/null; true; then
85 : << HERE >/dev/null; true <<HERE
86Hello builtin :
87HERE
88Hello $i true
89HERE
90 elif false; then
91 true; echo Doesnt run
92 else
93 { true; }; echo Doesnt run too >>/foo/bar
94 fi
95 { : /bin/*; }
96 unset var
97 echo >/dev/null ${var#}
98 echo >/dev/null ${var##}
99 echo >/dev/null ${var#*}
100 echo >/dev/null ${var##*}
101 echo >/dev/null ${var%}
102 echo >/dev/null ${var%%}
103 echo >/dev/null ${var%*}
104 echo >/dev/null ${var%%*}
105 var=
106 echo >/dev/null ${var#}
107 echo >/dev/null ${var##}
108 echo >/dev/null ${var#*}
109 echo >/dev/null ${var##*}
110 echo >/dev/null ${var%}
111 echo >/dev/null ${var%%}
112 echo >/dev/null ${var%*}
113 echo >/dev/null ${var%%*}
114 var=ababcdcd
115 echo >/dev/null ${var#ab}
116 echo >/dev/null ${var##ab}
117 echo >/dev/null ${var#a*b}
118 echo >/dev/null ${var##a*b}
119 echo >/dev/null ${var#?}
120 echo >/dev/null ${var##?}
121 echo >/dev/null ${var#*}
122 echo >/dev/null ${var##*}
123 echo >/dev/null ${var%cd}
124 echo >/dev/null ${var%%cd}
125 echo >/dev/null ${var%c*d}
126 echo >/dev/null ${var%%c*d}
127 echo >/dev/null ${var%?}
128 echo >/dev/null ${var%%?}
129 echo >/dev/null ${var%*}
130 echo >/dev/null ${var%%*}
131 set -- par1_$i par2_$i par3_$i par4_$i
132 trap "echo trap$i" WINCH
133 f() { true; true; true; true; true; true; true; true; }
134 f() { true; true; true; true; true; true; true; true; echo $1; }
135 i=iii$i t=ttt$i z=zzz$i f >/dev/null
136 : $((i++))
137done
138unset i l t
139unset -f f
140
141
142memleak
143kb=$?
144if test $kb -le 4; then
145 echo Ok #$kb
146else
147 echo "Bad: $kb kb leaked"
148fi
Note: See TracBrowser for help on using the repository browser.