2 * Copyright 2007 Hans Leidekker
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include <wine/test.h>
26 static void test_SnmpUtilOidToA(void)
29 static UINT ids1
[] = { 1,3,6,1,4,1,311 };
30 static UINT ids2
[] = {
31 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
32 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
33 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
34 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
35 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
36 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
37 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
38 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
39 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 };
40 static UINT ids3
[] = { 0xffffffff };
41 static AsnObjectIdentifier oid0
= { 0, ids1
};
42 static AsnObjectIdentifier oid1
= { 7, ids1
};
43 static AsnObjectIdentifier oid2
= { 256, ids2
};
44 static AsnObjectIdentifier oid3
= { 257, ids2
};
45 static AsnObjectIdentifier oid4
= { 258, ids2
};
46 static AsnObjectIdentifier oid5
= { 1, ids3
};
47 static const char expect0
[] = "<null oid>";
48 static const char expect1
[] = "1.3.6.1.4.1.311";
49 static const char expect2
[] =
50 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
51 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
52 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
53 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
54 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
55 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
56 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
57 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1";
58 static const char expect3
[] =
59 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
60 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
61 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
62 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
63 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
64 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
65 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
66 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1";
67 static const char expect4
[] = "-1";
69 ret
= SnmpUtilOidToA(NULL
);
70 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
71 ok(!strcmp(ret
, expect0
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
74 ret
= SnmpUtilOidToA(&oid0
);
75 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
76 ok(!strcmp(ret
, expect0
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
79 ret
= SnmpUtilOidToA(&oid1
);
80 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
81 ok(!strcmp(ret
, expect1
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
84 ret
= SnmpUtilOidToA(&oid2
);
85 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
86 ok(!strcmp(ret
, expect2
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
89 ret
= SnmpUtilOidToA(&oid3
);
90 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
91 ok(!strcmp(ret
, expect3
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
94 ret
= SnmpUtilOidToA(&oid4
);
95 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
96 ok(!strcmp(ret
, expect3
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
99 ret
= SnmpUtilOidToA(&oid5
);
100 ok(ret
!= NULL
, "SnmpUtilOidToA failed\n");
101 ok(!strcmp(ret
, expect4
), "SnmpUtilOidToA failed got \n%s\n expected \n%s\n",
105 static void test_SnmpUtilAsnAnyCpyFree(void)
108 static AsnAny dst
, src
= { ASN_INTEGER
, { 1 } };
110 if (0) { /* these crash on XP */
111 ret
= SnmpUtilAsnAnyCpy(NULL
, NULL
);
112 ok(!ret
, "SnmpUtilAsnAnyCpy succeeded\n");
114 ret
= SnmpUtilAsnAnyCpy(&dst
, NULL
);
115 ok(!ret
, "SnmpUtilAsnAnyCpy succeeded\n");
117 ret
= SnmpUtilAsnAnyCpy(NULL
, &src
);
118 ok(!ret
, "SnmpUtilAsnAnyCpy succeeded\n");
121 ret
= SnmpUtilAsnAnyCpy(&dst
, &src
);
122 ok(ret
, "SnmpUtilAsnAnyCpy failed\n");
123 ok(!memcmp(&src
, &dst
, sizeof(AsnAny
)), "SnmpUtilAsnAnyCpy failed\n");
125 if (0) { /* crashes on XP */
126 SnmpUtilAsnAnyFree(NULL
);
128 SnmpUtilAsnAnyFree(&dst
);
129 ok(dst
.asnType
== ASN_NULL
, "SnmpUtilAsnAnyFree failed\n");
130 ok(dst
.asnValue
.number
== 1, "SnmpUtilAsnAnyFree failed\n");
133 static void test_SnmpUtilOctetsCpyFree(void)
136 static BYTE stream
[] = { '1', '2', '3', '4' };
137 static AsnOctetString dst
, src
= { stream
, 4, TRUE
};
139 ret
= SnmpUtilOctetsCpy(NULL
, NULL
);
140 ok(!ret
, "SnmpUtilOctetsCpy succeeded\n");
142 memset(&dst
, 1, sizeof(AsnOctetString
));
143 ret
= SnmpUtilOctetsCpy(&dst
, NULL
);
144 ok(ret
, "SnmpUtilOctetsCpy failed\n");
145 ok(dst
.length
== 0, "SnmpUtilOctetsCpy failed\n");
146 ok(dst
.stream
== NULL
, "SnmpUtilOctetsCpy failed\n");
147 ok(dst
.dynamic
== FALSE
, "SnmpUtilOctetsCpy failed\n");
149 ret
= SnmpUtilOctetsCpy(NULL
, &src
);
150 ok(!ret
, "SnmpUtilOctetsCpy succeeded\n");
152 memset(&dst
, 0, sizeof(AsnOctetString
));
153 ret
= SnmpUtilOctetsCpy(&dst
, &src
);
154 ok(ret
, "SnmpUtilOctetsCpy failed\n");
155 ok(src
.length
== dst
.length
, "SnmpUtilOctetsCpy failed\n");
156 ok(!memcmp(src
.stream
, dst
.stream
, dst
.length
), "SnmpUtilOctetsCpy failed\n");
157 ok(dst
.dynamic
== TRUE
, "SnmpUtilOctetsCpy failed\n");
159 SnmpUtilOctetsFree(NULL
);
160 SnmpUtilOctetsFree(&dst
);
161 ok(dst
.stream
== NULL
, "SnmpUtilOctetsFree failed\n");
162 ok(dst
.length
== 0, "SnmpUtilOctetsFree failed\n");
163 ok(dst
.dynamic
== FALSE
, "SnmpUtilOctetsFree failed\n");
166 static void test_SnmpUtilOidCpyFree(void)
169 static UINT ids
[] = { 1, 3, 6, 1, 4, 1, 311 };
170 static AsnObjectIdentifier dst
, src
= { sizeof(ids
) / sizeof(ids
[0]), ids
};
172 ret
= SnmpUtilOidCpy(NULL
, NULL
);
173 ok(!ret
, "SnmpUtilOidCpy succeeded\n");
175 memset(&dst
, 1, sizeof(AsnObjectIdentifier
));
176 ret
= SnmpUtilOidCpy(&dst
, NULL
);
177 ok(ret
, "SnmpUtilOidCpy failed\n");
178 ok(dst
.idLength
== 0, "SnmpUtilOidCpy failed\n");
179 ok(dst
.ids
== NULL
, "SnmpUtilOidCpy failed\n");
181 ret
= SnmpUtilOidCpy(NULL
, &src
);
182 ok(!ret
, "SnmpUtilOidCpy succeeded\n");
184 memset(&dst
, 0, sizeof(AsnObjectIdentifier
));
185 ret
= SnmpUtilOidCpy(&dst
, &src
);
186 ok(ret
, "SnmpUtilOidCpy failed\n");
187 ok(src
.idLength
== dst
.idLength
, "SnmpUtilOidCpy failed\n");
188 ok(!memcmp(src
.ids
, dst
.ids
, dst
.idLength
* sizeof(UINT
)), "SnmpUtilOidCpy failed\n");
190 SnmpUtilOidFree(NULL
);
191 SnmpUtilOidFree(&dst
);
192 ok(dst
.idLength
== 0, "SnmpUtilOidFree failed\n");
193 ok(dst
.ids
== NULL
, "SnmpUtilOidFree failed\n");
196 static void test_SnmpUtilOctetsNCmp(void)
199 static BYTE stream1
[] = { '1', '2', '3', '4' };
200 static BYTE stream2
[] = { '5', '6', '7', '8' };
201 static AsnOctetString octets1
= { stream1
, 4, FALSE
};
202 static AsnOctetString octets2
= { stream2
, 4, FALSE
};
204 ret
= SnmpUtilOctetsNCmp(NULL
, NULL
, 0);
205 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
207 ret
= SnmpUtilOctetsNCmp(NULL
, NULL
, 1);
208 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
210 ret
= SnmpUtilOctetsNCmp(&octets1
, NULL
, 0);
211 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
213 ret
= SnmpUtilOctetsNCmp(&octets1
, NULL
, 1);
214 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
216 ret
= SnmpUtilOctetsNCmp(NULL
, &octets2
, 0);
217 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
219 ret
= SnmpUtilOctetsNCmp(NULL
, &octets2
, 1);
220 ok(!ret
, "SnmpUtilOctetsNCmp succeeded\n");
222 ret
= SnmpUtilOctetsNCmp(&octets1
, &octets1
, 0);
223 ok(!ret
, "SnmpUtilOctetsNCmp failed\n");
225 ret
= SnmpUtilOctetsNCmp(&octets1
, &octets1
, 4);
226 ok(!ret
, "SnmpUtilOctetsNCmp failed\n");
228 ret
= SnmpUtilOctetsNCmp(&octets1
, &octets2
, 4);
229 ok(ret
== -4, "SnmpUtilOctetsNCmp failed\n");
231 ret
= SnmpUtilOctetsNCmp(&octets2
, &octets1
, 4);
232 ok(ret
== 4, "SnmpUtilOctetsNCmp failed\n");
235 static void test_SnmpUtilOctetsCmp(void)
238 static BYTE stream1
[] = { '1', '2', '3' };
239 static BYTE stream2
[] = { '1', '2', '3', '4' };
240 static AsnOctetString octets1
= { stream1
, 3, FALSE
};
241 static AsnOctetString octets2
= { stream2
, 4, FALSE
};
243 if (0) { /* these crash on XP */
244 ret
= SnmpUtilOctetsCmp(NULL
, NULL
);
245 ok(!ret
, "SnmpUtilOctetsCmp succeeded\n");
247 ret
= SnmpUtilOctetsCmp(&octets1
, NULL
);
248 ok(!ret
, "SnmpUtilOctetsCmp succeeded\n");
250 ret
= SnmpUtilOctetsCmp(NULL
, &octets2
);
251 ok(!ret
, "SnmpUtilOctetsCmp succeeded\n");
254 ret
= SnmpUtilOctetsCmp(&octets2
, &octets1
);
255 ok(ret
== 1, "SnmpUtilOctetsCmp failed\n");
257 ret
= SnmpUtilOctetsCmp(&octets1
, &octets2
);
258 ok(ret
== -1, "SnmpUtilOctetsCmp failed\n");
261 static void test_SnmpUtilOidNCmp(void)
264 static UINT ids1
[] = { 1, 2, 3, 4 };
265 static UINT ids2
[] = { 5, 6, 7, 8 };
266 static AsnObjectIdentifier oid1
= { 4, ids1
};
267 static AsnObjectIdentifier oid2
= { 4, ids2
};
269 ret
= SnmpUtilOidNCmp(NULL
, NULL
, 0);
270 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
272 ret
= SnmpUtilOidNCmp(NULL
, NULL
, 1);
273 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
275 ret
= SnmpUtilOidNCmp(&oid1
, NULL
, 0);
276 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
278 ret
= SnmpUtilOidNCmp(&oid1
, NULL
, 1);
279 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
281 ret
= SnmpUtilOidNCmp(NULL
, &oid2
, 0);
282 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
284 ret
= SnmpUtilOidNCmp(NULL
, &oid2
, 1);
285 ok(!ret
, "SnmpUtilOidNCmp succeeded\n");
287 ret
= SnmpUtilOidNCmp(&oid1
, &oid1
, 0);
288 ok(!ret
, "SnmpUtilOidNCmp failed\n");
290 ret
= SnmpUtilOidNCmp(&oid1
, &oid1
, 4);
291 ok(!ret
, "SnmpUtilOidNCmp failed\n");
293 ret
= SnmpUtilOidNCmp(&oid1
, &oid2
, 4);
294 ok(ret
== -1, "SnmpUtilOidNCmp failed: %d\n", ret
);
296 ret
= SnmpUtilOidNCmp(&oid2
, &oid1
, 4);
297 ok(ret
== 1, "SnmpUtilOidNCmp failed: %d\n", ret
);
300 static void test_SnmpUtilOidCmp(void)
303 static UINT ids1
[] = { 1, 2, 3 };
304 static UINT ids2
[] = { 1, 2, 3, 4 };
305 static AsnObjectIdentifier oid1
= { 3, ids1
};
306 static AsnObjectIdentifier oid2
= { 4, ids2
};
308 if (0) { /* these crash on XP */
309 ret
= SnmpUtilOidCmp(NULL
, NULL
);
310 ok(!ret
, "SnmpUtilOidCmp succeeded\n");
312 ret
= SnmpUtilOidCmp(&oid1
, NULL
);
313 ok(!ret
, "SnmpUtilOidCmp succeeded\n");
315 ret
= SnmpUtilOidCmp(NULL
, &oid2
);
316 ok(!ret
, "SnmpUtilOidCmp succeeded\n");
319 ret
= SnmpUtilOidCmp(&oid2
, &oid1
);
320 ok(ret
== 1, "SnmpUtilOidCmp failed\n");
322 ret
= SnmpUtilOidCmp(&oid1
, &oid2
);
323 ok(ret
== -1, "SnmpUtilOidCmp failed\n");
326 static void test_SnmpUtilOidAppend(void)
329 static UINT ids1
[] = { 1, 2, 3 };
330 static UINT ids2
[] = { 4, 5, 6 };
331 static AsnObjectIdentifier oid1
= { 3, ids1
};
332 static AsnObjectIdentifier oid2
= { 3, ids2
};
334 ret
= SnmpUtilOidAppend(NULL
, NULL
);
335 ok(!ret
, "SnmpUtilOidAppend succeeded\n");
337 ret
= SnmpUtilOidAppend(&oid1
, NULL
);
338 ok(ret
, "SnmpUtilOidAppend failed\n");
340 ret
= SnmpUtilOidAppend(NULL
, &oid2
);
341 ok(!ret
, "SnmpUtilOidAppend succeeded\n");
343 ret
= SnmpUtilOidAppend(&oid1
, &oid2
);
344 ok(ret
, "SnmpUtilOidAppend failed\n");
345 ok(oid1
.idLength
== 6, "SnmpUtilOidAppend failed\n");
346 ok(!memcmp(&oid1
.ids
[3], ids2
, 3 * sizeof(UINT
)),
347 "SnmpUtilOidAppend failed\n");
350 static void test_SnmpUtilVarBindCpyFree(void)
353 static UINT ids
[] = { 1, 3, 6, 1, 4, 1, 311 };
354 static SnmpVarBind dst
, src
= { { 7, ids
}, { ASN_INTEGER
, { 1 } } };
356 ret
= SnmpUtilVarBindCpy(NULL
, NULL
);
357 ok(!ret
, "SnmpUtilVarBindCpy succeeded\n");
359 memset(&dst
, 0, sizeof(SnmpVarBind
));
360 ret
= SnmpUtilVarBindCpy(&dst
, NULL
);
361 ok(ret
, "SnmpUtilVarBindCpy failed\n");
362 ok(dst
.name
.idLength
== 0, "SnmpUtilVarBindCpy failed\n");
363 ok(dst
.name
.ids
== NULL
, "SnmpUtilVarBindCpy failed\n");
364 ok(dst
.value
.asnType
== ASN_NULL
, "SnmpUtilVarBindCpy failed\n");
365 ok(dst
.value
.asnValue
.number
== 0, "SnmpUtilVarBindCpy failed\n");
367 ret
= SnmpUtilVarBindCpy(NULL
, &src
);
368 ok(!ret
, "SnmpUtilVarBindCpy succeeded\n");
370 memset(&dst
, 0, sizeof(SnmpVarBind
));
371 ret
= SnmpUtilVarBindCpy(&dst
, &src
);
372 ok(ret
, "SnmpUtilVarBindCpy failed\n");
373 ok(src
.name
.idLength
== dst
.name
.idLength
, "SnmpUtilVarBindCpy failed\n");
374 ok(!memcmp(src
.name
.ids
, dst
.name
.ids
, dst
.name
.idLength
* sizeof(UINT
)),
375 "SnmpUtilVarBindCpy failed\n");
376 ok(!memcmp(&src
.value
, &dst
.value
, sizeof(AsnObjectSyntax
)),
377 "SnmpUtilVarBindCpy failed\n");
379 SnmpUtilVarBindFree(NULL
);
380 SnmpUtilVarBindFree(&dst
);
381 ok(dst
.name
.idLength
== 0, "SnmpUtilVarBindFree failed\n");
382 ok(dst
.name
.ids
== NULL
, "SnmpUtilVarBindFree failed\n");
383 ok(dst
.value
.asnType
== ASN_NULL
, "SnmpUtilVarBindFree failed\n");
384 ok(dst
.value
.asnValue
.number
== 1, "SnmpUtilVarBindFree failed\n");
387 static void test_SnmpUtilVarBindListCpyFree(void)
390 static UINT ids
[] = { 1, 3, 6, 1, 4, 1, 311 };
391 static SnmpVarBind src
= { { 7, ids
}, { ASN_INTEGER
, { 1 } } };
392 static SnmpVarBindList dst_list
, src_list
= { &src
, 1 };
394 if (0) { /* these crash on XP */
395 ret
= SnmpUtilVarBindListCpy(NULL
, NULL
);
396 ok(!ret
, "SnmpUtilVarBindCpy succeeded\n");
398 ret
= SnmpUtilVarBindListCpy(NULL
, &src_list
);
399 ok(!ret
, "SnmpUtilVarBindListCpy succeeded\n");
402 memset(&dst_list
, 0xff, sizeof(SnmpVarBindList
));
403 ret
= SnmpUtilVarBindListCpy(&dst_list
, NULL
);
404 ok(ret
, "SnmpUtilVarBindListCpy failed\n");
405 ok(dst_list
.list
== NULL
, "SnmpUtilVarBindListCpy failed\n");
406 ok(dst_list
.len
== 0, "SnmpUtilVarBindListCpy failed\n");
408 ret
= SnmpUtilVarBindListCpy(&dst_list
, &src_list
);
409 ok(ret
, "SnmpUtilVarBindListCpy failed\n");
410 ok(src_list
.len
== dst_list
.len
, "SnmpUtilVarBindListCpy failed\n");
411 ok(src_list
.list
->name
.idLength
== dst_list
.list
->name
.idLength
,
412 "SnmpUtilVarBindListCpy failed\n");
413 ok(!memcmp(src_list
.list
->name
.ids
, dst_list
.list
->name
.ids
,
414 dst_list
.list
->name
.idLength
* sizeof(UINT
)),
415 "SnmpUtilVarBindListCpy failed\n");
416 ok(!memcmp(&src_list
.list
->value
, &dst_list
.list
->value
, sizeof(AsnAny
)),
417 "SnmpUtilVarBindListCpy failed\n");
419 if (0) { /* crashes on XP */
420 SnmpUtilVarBindListFree(NULL
);
422 SnmpUtilVarBindListFree(&dst_list
);
423 ok(dst_list
.list
== NULL
, "SnmpUtilVarBindListFree failed\n");
424 ok(dst_list
.len
== 0, "SnmpUtilVarBindListFree failed\n");
429 test_SnmpUtilOidToA();
430 test_SnmpUtilAsnAnyCpyFree();
431 test_SnmpUtilOctetsCpyFree();
432 test_SnmpUtilOidCpyFree();
433 test_SnmpUtilOctetsNCmp();
434 test_SnmpUtilOctetsCmp();
435 test_SnmpUtilOidCmp();
436 test_SnmpUtilOidNCmp();
437 test_SnmpUtilOidAppend();
438 test_SnmpUtilVarBindCpyFree();
439 test_SnmpUtilVarBindListCpyFree();