Contents of /trunk/mkinitrd-magellan/busybox/shell/hush_test/hush-z_slow/leak_all1.tests
Parent Directory | Revision Log
Revision 984 -
(show annotations)
(download)
Sun May 30 11:32:42 2010 UTC (13 years, 11 months ago) by niro
File size: 3860 byte(s)
Sun May 30 11:32:42 2010 UTC (13 years, 11 months ago) by niro
File size: 3860 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
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 | 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++)) |
69 | done |
70 | unset i l t |
71 | unset -f f |
72 | |
73 | memleak |
74 | |
75 | echo "Measuring memory leak..." |
76 | # Please copy the entire block from above verbatim |
77 | i=1 |
78 | l=1 |
79 | t=1 |
80 | export t |
81 | while 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 |
86 | Hello builtin : |
87 | HERE |
88 | Hello $i true |
89 | HERE |
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++)) |
137 | done |
138 | unset i l t |
139 | unset -f f |
140 | |
141 | |
142 | memleak |
143 | kb=$? |
144 | if test $kb -le 4; then |
145 | echo Ok #$kb |
146 | else |
147 | echo "Bad: $kb kb leaked" |
148 | fi |
Properties
Name | Value |
---|---|
svn:executable | * |