1/*
2 * testapi.c: libxml2 API tester program.
3 *
4 * Automatically generated by gentest.py from libxml2-api.xml
5 *
6 * See Copyright for the status of this software.
7 *
8 * daniel@veillard.com
9 */
10
11#include "libxml.h"
12#include <stdio.h>
13
14#include <stdlib.h> /* for putenv() */
15#include <string.h>
16#include <libxml/xmlerror.h>
17#include <libxml/relaxng.h>
18
19
20static int testlibxml2(void);
21static int test_module(const char *module);
22
23static int generic_errors = 0;
24static int call_tests = 0;
25static int function_tests = 0;
26
27static xmlChar chartab[1024];
28static int inttab[1024];
29static unsigned long longtab[1024];
30
31static xmlDocPtr api_doc = NULL;
32static xmlDtdPtr api_dtd = NULL;
33static xmlNodePtr api_root = NULL;
34static xmlAttrPtr api_attr = NULL;
35static xmlNsPtr api_ns = NULL;
36
37static void
38structured_errors(void *userData ATTRIBUTE_UNUSED,
39                  xmlErrorPtr error ATTRIBUTE_UNUSED) {
40    generic_errors++;
41}
42
43static void
44free_api_doc(void) {
45    xmlFreeDoc(api_doc);
46    api_doc = NULL;
47    api_dtd = NULL;
48    api_root = NULL;
49    api_attr = NULL;
50    api_ns = NULL;
51}
52
53static xmlDocPtr
54get_api_doc(void) {
55    if (api_doc == NULL) {
56        api_doc = xmlReadMemory("<!DOCTYPE root [<!ELEMENT root EMPTY>]><root xmlns:h='http://example.com/' h:foo='bar'/>", 88, "root_test", NULL, 0);
57	api_root = NULL;
58	api_attr = NULL;
59    }
60    return(api_doc);
61}
62
63static xmlDtdPtr
64get_api_dtd(void) {
65    if ((api_dtd == NULL) || (api_dtd->type != XML_DTD_NODE)) {
66        get_api_doc();
67	if ((api_doc != NULL) && (api_doc->children != NULL) &&
68	    (api_doc->children->type == XML_DTD_NODE))
69	    api_dtd = (xmlDtdPtr) api_doc->children;
70    }
71    return(api_dtd);
72}
73
74static xmlNodePtr
75get_api_root(void) {
76    if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
77        get_api_doc();
78	if ((api_doc != NULL) && (api_doc->children != NULL) &&
79	    (api_doc->children->next != NULL) &&
80	    (api_doc->children->next->type == XML_ELEMENT_NODE))
81	    api_root = api_doc->children->next;
82    }
83    return(api_root);
84}
85
86static xmlNsPtr
87get_api_ns(void) {
88    get_api_root();
89    if (api_root != NULL)
90        api_ns = api_root->nsDef;
91    return(api_ns);
92}
93
94static xmlAttrPtr
95get_api_attr(void) {
96#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
97    static int nr = 0;
98    xmlChar name[20];
99#endif
100
101    if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
102        get_api_root();
103    }
104    if (api_root == NULL)
105        return(NULL);
106    if (api_root->properties != NULL) {
107        api_attr = api_root->properties;
108        return(api_root->properties);
109    }
110    api_attr = NULL;
111#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
112    snprintf((char *) name, 20, "foo%d", nr++);
113    api_attr = xmlSetProp(api_root, name, (const xmlChar *) "bar");
114#endif
115    return(api_attr);
116}
117
118static int quiet = 0;
119
120int main(int argc, char **argv) {
121    int ret;
122    int blocks, mem;
123
124#ifdef HAVE_PUTENV
125    /* access to the proxy can slow up regression tests a lot */
126    putenv((char *) "http_proxy=");
127#endif
128
129    memset(chartab, 0, sizeof(chartab));
130    strncpy((char *) chartab, "  chartab\n", 20);
131    memset(inttab, 0, sizeof(inttab));
132    memset(longtab, 0, sizeof(longtab));
133
134    xmlInitParser();
135#ifdef LIBXML_SCHEMAS_ENABLED
136    xmlRelaxNGInitTypes();
137#endif
138
139    LIBXML_TEST_VERSION
140
141    xmlSetStructuredErrorFunc(NULL, structured_errors);
142
143    if (argc >= 2) {
144        if (!strcmp(argv[1], "-q")) {
145	    quiet = 1;
146	    if (argc >= 3)
147	        ret = test_module(argv[2]);
148	    else
149		ret = testlibxml2();
150        } else {
151	   ret = test_module(argv[1]);
152	}
153    } else
154	ret = testlibxml2();
155
156    xmlCleanupParser();
157    blocks = xmlMemBlocks();
158    mem = xmlMemUsed();
159    if ((blocks != 0) || (mem != 0)) {
160        printf("testapi leaked %d bytes in %d blocks\n", mem, blocks);
161    }
162    xmlMemoryDump();
163
164    return (ret != 0);
165}
166
167#include <libxml/HTMLparser.h>
168#include <libxml/HTMLtree.h>
169#include <libxml/catalog.h>
170#include <libxml/chvalid.h>
171#include <libxml/dict.h>
172#include <libxml/encoding.h>
173#include <libxml/entities.h>
174#include <libxml/hash.h>
175#include <libxml/list.h>
176#include <libxml/nanoftp.h>
177#include <libxml/nanohttp.h>
178#include <libxml/parser.h>
179#include <libxml/parserInternals.h>
180#include <libxml/pattern.h>
181#include <libxml/relaxng.h>
182#include <libxml/schemasInternals.h>
183#include <libxml/schematron.h>
184#include <libxml/tree.h>
185#include <libxml/uri.h>
186#include <libxml/valid.h>
187#include <libxml/xinclude.h>
188#include <libxml/xmlIO.h>
189#include <libxml/xmlerror.h>
190#include <libxml/xmlreader.h>
191#include <libxml/xmlsave.h>
192#include <libxml/xmlschemas.h>
193#include <libxml/xmlschemastypes.h>
194#include <libxml/xmlstring.h>
195#include <libxml/xmlwriter.h>
196#include <libxml/xpath.h>
197#include <libxml/xpointer.h>
198#include <libxml/debugXML.h>
199
200/*
201  We manually define xmlErrMemory because it's normal declaration
202  is "hidden" by #ifdef IN_LIBXML
203*/
204void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
205
206/*
207 We need some "remote" addresses, but want to avoid getting into
208 name resolution delays, so we use these
209*/
210#define	REMOTE1GOOD	"http://localhost/"
211#define	REMOTE1BAD	"http:http://http"
212#define	REMOTE2GOOD	"ftp://localhost/foo"
213
214#define gen_nb_void_ptr 2
215
216static void *gen_void_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
217    return(NULL);
218}
219static void des_void_ptr(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
220}
221
222#if 0
223#define gen_nb_const_void_ptr 2
224
225static const void *gen_const_void_ptr(int no, int nr ATTRIBUTE_UNUSED) {
226    if (no == 0) return((const void *) "immutable string");
227    return(NULL);
228}
229static void des_const_void_ptr(int no ATTRIBUTE_UNUSED, const void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
230}
231#endif
232
233#define gen_nb_userdata 3
234
235static void *gen_userdata(int no, int nr ATTRIBUTE_UNUSED) {
236    if (no == 0) return((void *) &call_tests);
237    if (no == 1) return((void *) -1);
238    return(NULL);
239}
240static void des_userdata(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
241}
242
243
244#define gen_nb_int 4
245
246static int gen_int(int no, int nr ATTRIBUTE_UNUSED) {
247    if (no == 0) return(0);
248    if (no == 1) return(1);
249    if (no == 2) return(-1);
250    if (no == 3) return(122);
251    return(-1);
252}
253
254static void des_int(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
255}
256
257#define gen_nb_parseroptions 5
258
259static int gen_parseroptions(int no, int nr ATTRIBUTE_UNUSED) {
260    if (no == 0) return(XML_PARSE_NOBLANKS | XML_PARSE_RECOVER);
261    if (no == 1) return(XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_DTDVALID | XML_PARSE_NOCDATA);
262    if (no == 2) return(XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE | XML_PARSE_NSCLEAN);
263    if (no == 3) return(XML_PARSE_XINCLUDE | XML_PARSE_NODICT);
264    return(XML_PARSE_SAX1);
265}
266
267static void des_parseroptions(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
268}
269
270#if 0
271#define gen_nb_long 5
272
273static long gen_long(int no, int nr ATTRIBUTE_UNUSED) {
274    if (no == 0) return(0);
275    if (no == 1) return(1);
276    if (no == 2) return(-1);
277    if (no == 3) return(122);
278    return(-1);
279}
280
281static void des_long(int no ATTRIBUTE_UNUSED, long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
282}
283#endif
284
285#define gen_nb_xmlChar 4
286
287static xmlChar gen_xmlChar(int no, int nr ATTRIBUTE_UNUSED) {
288    if (no == 0) return('a');
289    if (no == 1) return(' ');
290    if (no == 2) return((xmlChar) '\xf8');
291    return(0);
292}
293
294static void des_xmlChar(int no ATTRIBUTE_UNUSED, xmlChar val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
295}
296
297#define gen_nb_unsigned_int 3
298
299static unsigned int gen_unsigned_int(int no, int nr ATTRIBUTE_UNUSED) {
300    if (no == 0) return(0);
301    if (no == 1) return(1);
302    if (no == 2) return(122);
303    return((unsigned int) -1);
304}
305
306static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
307}
308
309#define gen_nb_unsigned_long 4
310
311static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) {
312    if (no == 0) return(0);
313    if (no == 1) return(1);
314    if (no == 2) return(122);
315    return((unsigned long) -1);
316}
317
318static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
319}
320
321#define gen_nb_double 4
322
323static double gen_double(int no, int nr ATTRIBUTE_UNUSED) {
324    if (no == 0) return(0);
325    if (no == 1) return(-1.1);
326#if defined(LIBXML_XPATH_ENABLED)
327    if (no == 2) return(xmlXPathNAN);
328#endif
329    return(-1);
330}
331
332static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
333}
334
335#define gen_nb_unsigned_long_ptr 2
336
337static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
338    if (no == 0) return(&longtab[nr]);
339    return(NULL);
340}
341
342static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
343}
344
345#define gen_nb_int_ptr 2
346
347static int *gen_int_ptr(int no, int nr) {
348    if (no == 0) return(&inttab[nr]);
349    return(NULL);
350}
351
352static void des_int_ptr(int no ATTRIBUTE_UNUSED, int *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
353}
354
355#define gen_nb_const_char_ptr 4
356
357static char *gen_const_char_ptr(int no, int nr ATTRIBUTE_UNUSED) {
358    if (no == 0) return((char *) "foo");
359    if (no == 1) return((char *) "<foo/>");
360    if (no == 2) return((char *) "test/ent2");
361    return(NULL);
362}
363static void des_const_char_ptr(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
364}
365
366#define gen_nb_xmlChar_ptr 2
367
368static xmlChar *gen_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
369    if (no == 0) return(&chartab[0]);
370    return(NULL);
371}
372static void des_xmlChar_ptr(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
373}
374
375#define gen_nb_FILE_ptr 2
376
377static FILE *gen_FILE_ptr(int no, int nr ATTRIBUTE_UNUSED) {
378    if (no == 0) return(fopen("test.out", "a+"));
379    return(NULL);
380}
381static void des_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
382    if (val != NULL) fclose(val);
383}
384
385#define gen_nb_debug_FILE_ptr 2
386static FILE *gen_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
387    return(fopen("test.out", "a+"));
388}
389static void des_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
390    if (val != NULL) fclose(val);
391}
392
393#define gen_nb_const_xmlChar_ptr 5
394
395static xmlChar *gen_const_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
396    if (no == 0) return((xmlChar *) "foo");
397    if (no == 1) return((xmlChar *) "<foo/>");
398    if (no == 2) return((xmlChar *) "n" "\xf8" "ne");
399    if (no == 3) return((xmlChar *) " 2ab ");
400    return(NULL);
401}
402static void des_const_xmlChar_ptr(int no ATTRIBUTE_UNUSED, const xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
403}
404
405#define gen_nb_filepath 8
406
407static const char *gen_filepath(int no, int nr ATTRIBUTE_UNUSED) {
408    if (no == 0) return("missing.xml");
409    if (no == 1) return("<foo/>");
410    if (no == 2) return("test/ent2");
411    if (no == 3) return("test/valid/REC-xml-19980210.xml");
412    if (no == 4) return("test/valid/dtds/xhtml1-strict.dtd");
413    if (no == 5) return(REMOTE1GOOD);
414    if (no == 6) return(REMOTE1BAD);
415    return(NULL);
416}
417static void des_filepath(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
418}
419
420#define gen_nb_eaten_name 2
421
422static xmlChar *gen_eaten_name(int no, int nr ATTRIBUTE_UNUSED) {
423    if (no == 0) return(xmlStrdup(BAD_CAST "eaten"));
424    return(NULL);
425}
426static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
427}
428
429#define gen_nb_fileoutput 6
430
431static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
432    if (no == 0) return("/missing.xml");
433    if (no == 1) return("<foo/>");
434    if (no == 2) return(REMOTE2GOOD);
435    if (no == 3) return(REMOTE1GOOD);
436    if (no == 4) return(REMOTE1BAD);
437    return(NULL);
438}
439static void des_fileoutput(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
440}
441
442#define gen_nb_xmlParserCtxtPtr 3
443static xmlParserCtxtPtr gen_xmlParserCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
444    if (no == 0) return(xmlNewParserCtxt());
445    if (no == 1) return(xmlCreateMemoryParserCtxt("<doc/>", 6));
446    return(NULL);
447}
448static void des_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlParserCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
449    if (val != NULL)
450        xmlFreeParserCtxt(val);
451}
452
453#define gen_nb_xmlSAXHandlerPtr 2
454static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) {
455#ifdef LIBXML_SAX1_ENABLED
456    if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler);
457#endif
458    return(NULL);
459}
460static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
461}
462
463#define gen_nb_xmlValidCtxtPtr 2
464static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
465#ifdef LIBXML_VALID_ENABLED
466    if (no == 0) return(xmlNewValidCtxt());
467#endif
468    return(NULL);
469}
470static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
471#ifdef LIBXML_VALID_ENABLED
472    if (val != NULL)
473        xmlFreeValidCtxt(val);
474#endif
475}
476
477#define gen_nb_xmlParserInputBufferPtr 8
478
479static xmlParserInputBufferPtr gen_xmlParserInputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
480    if (no == 0) return(xmlParserInputBufferCreateFilename("missing.xml", XML_CHAR_ENCODING_NONE));
481    if (no == 1) return(xmlParserInputBufferCreateFilename("<foo/>", XML_CHAR_ENCODING_NONE));
482    if (no == 2) return(xmlParserInputBufferCreateFilename("test/ent2", XML_CHAR_ENCODING_NONE));
483    if (no == 3) return(xmlParserInputBufferCreateFilename("test/valid/REC-xml-19980210.xml", XML_CHAR_ENCODING_NONE));
484    if (no == 4) return(xmlParserInputBufferCreateFilename("test/valid/dtds/xhtml1-strict.dtd", XML_CHAR_ENCODING_NONE));
485    if (no == 5) return(xmlParserInputBufferCreateFilename(REMOTE1GOOD, XML_CHAR_ENCODING_NONE));
486    if (no == 6) return(xmlParserInputBufferCreateFilename(REMOTE1BAD, XML_CHAR_ENCODING_NONE));
487    return(NULL);
488}
489static void des_xmlParserInputBufferPtr(int no ATTRIBUTE_UNUSED, xmlParserInputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
490    xmlFreeParserInputBuffer(val);
491}
492
493#define gen_nb_xmlDocPtr 4
494static xmlDocPtr gen_xmlDocPtr(int no, int nr ATTRIBUTE_UNUSED) {
495    if (no == 0) return(xmlNewDoc(BAD_CAST "1.0"));
496    if (no == 1) return(xmlReadMemory("<foo/>", 6, "test", NULL, 0));
497    if (no == 2) return(xmlReadMemory("<!DOCTYPE foo []> <foo/>", 24, "test", NULL, 0));
498    return(NULL);
499}
500static void des_xmlDocPtr(int no ATTRIBUTE_UNUSED, xmlDocPtr val, int nr ATTRIBUTE_UNUSED) {
501    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
502        xmlFreeDoc(val);
503}
504
505#define gen_nb_xmlAttrPtr 2
506static xmlAttrPtr gen_xmlAttrPtr(int no, int nr ATTRIBUTE_UNUSED) {
507    if (no == 0) return(get_api_attr());
508    return(NULL);
509}
510static void des_xmlAttrPtr(int no, xmlAttrPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
511    if (no == 0) free_api_doc();
512}
513
514#define gen_nb_xmlDictPtr 2
515static xmlDictPtr gen_xmlDictPtr(int no, int nr ATTRIBUTE_UNUSED) {
516    if (no == 0) return(xmlDictCreate());
517    return(NULL);
518}
519static void des_xmlDictPtr(int no ATTRIBUTE_UNUSED, xmlDictPtr val, int nr ATTRIBUTE_UNUSED) {
520    if (val != NULL)
521        xmlDictFree(val);
522}
523
524#define gen_nb_xmlNodePtr 3
525static xmlNodePtr gen_xmlNodePtr(int no, int nr ATTRIBUTE_UNUSED) {
526    if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
527    if (no == 1) return(get_api_root());
528    return(NULL);
529/*     if (no == 2) return((xmlNodePtr) get_api_doc()); */
530}
531static void des_xmlNodePtr(int no, xmlNodePtr val, int nr ATTRIBUTE_UNUSED) {
532    if (no == 1) {
533        free_api_doc();
534    } else if (val != NULL) {
535        xmlUnlinkNode(val);
536        xmlFreeNode(val);
537    }
538}
539
540#define gen_nb_xmlDtdPtr 3
541static xmlDtdPtr gen_xmlDtdPtr(int no, int nr ATTRIBUTE_UNUSED) {
542    if (no == 0)
543        return(xmlNewDtd(NULL, BAD_CAST "dtd", BAD_CAST"foo", BAD_CAST"bar"));
544    if (no == 1) return(get_api_dtd());
545    return(NULL);
546}
547static void des_xmlDtdPtr(int no, xmlDtdPtr val, int nr ATTRIBUTE_UNUSED) {
548    if (no == 1) free_api_doc();
549    else if (val != NULL) {
550        xmlUnlinkNode((xmlNodePtr) val);
551        xmlFreeNode((xmlNodePtr) val);
552    }
553}
554
555#define gen_nb_xmlNsPtr 2
556static xmlNsPtr gen_xmlNsPtr(int no, int nr ATTRIBUTE_UNUSED) {
557    if (no == 0) return(get_api_ns());
558    return(NULL);
559}
560static void des_xmlNsPtr(int no, xmlNsPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
561    if (no == 0) free_api_doc();
562}
563
564#define gen_nb_xmlNodePtr_in 3
565static xmlNodePtr gen_xmlNodePtr_in(int no, int nr ATTRIBUTE_UNUSED) {
566    if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
567    if (no == 0) return(xmlNewText(BAD_CAST "text"));
568    return(NULL);
569}
570static void des_xmlNodePtr_in(int no ATTRIBUTE_UNUSED, xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
571}
572
573#ifdef LIBXML_WRITER_ENABLED
574#define gen_nb_xmlTextWriterPtr 2
575static xmlTextWriterPtr gen_xmlTextWriterPtr(int no, int nr ATTRIBUTE_UNUSED) {
576    if (no == 0) return(xmlNewTextWriterFilename("test.out", 0));
577    return(NULL);
578}
579static void des_xmlTextWriterPtr(int no ATTRIBUTE_UNUSED, xmlTextWriterPtr val, int nr ATTRIBUTE_UNUSED) {
580    if (val != NULL) xmlFreeTextWriter(val);
581}
582#endif
583
584#ifdef LIBXML_READER_ENABLED
585#define gen_nb_xmlTextReaderPtr 4
586static xmlTextReaderPtr gen_xmlTextReaderPtr(int no, int nr ATTRIBUTE_UNUSED) {
587    if (no == 0) return(xmlNewTextReaderFilename("test/ent2"));
588    if (no == 1) return(xmlNewTextReaderFilename("test/valid/REC-xml-19980210.xml"));
589    if (no == 2) return(xmlNewTextReaderFilename("test/valid/dtds/xhtml1-strict.dtd"));
590    return(NULL);
591}
592static void des_xmlTextReaderPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderPtr val, int nr ATTRIBUTE_UNUSED) {
593    if (val != NULL) xmlFreeTextReader(val);
594}
595#endif
596
597#define gen_nb_xmlBufferPtr 3
598static const xmlChar *static_buf_content = (xmlChar *)"a static buffer";
599static xmlBufferPtr gen_xmlBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
600    if (no == 0) return(xmlBufferCreate());
601    if (no == 1) return(xmlBufferCreateStatic((void *)static_buf_content, 13));
602    return(NULL);
603}
604static void des_xmlBufferPtr(int no ATTRIBUTE_UNUSED, xmlBufferPtr val, int nr ATTRIBUTE_UNUSED) {
605    if (val != NULL) {
606        xmlBufferFree(val);
607    }
608}
609
610#define gen_nb_xmlListPtr 2
611static xmlListPtr gen_xmlListPtr(int no, int nr ATTRIBUTE_UNUSED) {
612    if (no == 0) return(xmlListCreate(NULL, NULL));
613    return(NULL);
614}
615static void des_xmlListPtr(int no ATTRIBUTE_UNUSED, xmlListPtr val, int nr ATTRIBUTE_UNUSED) {
616    if (val != NULL) {
617        xmlListDelete(val);
618    }
619}
620
621#define gen_nb_xmlHashTablePtr 2
622static xmlHashTablePtr gen_xmlHashTablePtr(int no, int nr ATTRIBUTE_UNUSED) {
623    if (no == 0) return(xmlHashCreate(10));
624    return(NULL);
625}
626static void des_xmlHashTablePtr(int no ATTRIBUTE_UNUSED, xmlHashTablePtr val, int nr ATTRIBUTE_UNUSED) {
627    if (val != NULL) {
628        xmlHashFree(val, NULL);
629    }
630}
631
632#include <libxml/xpathInternals.h>
633
634#ifdef LIBXML_XPATH_ENABLED
635#define gen_nb_xmlXPathObjectPtr 5
636static xmlXPathObjectPtr gen_xmlXPathObjectPtr(int no, int nr ATTRIBUTE_UNUSED) {
637    if (no == 0) return(xmlXPathNewString(BAD_CAST "string object"));
638    if (no == 1) return(xmlXPathNewFloat(1.1));
639    if (no == 2) return(xmlXPathNewBoolean(1));
640    if (no == 3) return(xmlXPathNewNodeSet(NULL));
641    return(NULL);
642}
643static void des_xmlXPathObjectPtr(int no ATTRIBUTE_UNUSED, xmlXPathObjectPtr val, int nr ATTRIBUTE_UNUSED) {
644    if (val != NULL) {
645        xmlXPathFreeObject(val);
646    }
647}
648#endif
649
650#ifdef LIBXML_OUTPUT_ENABLED
651#define gen_nb_xmlOutputBufferPtr 2
652static xmlOutputBufferPtr gen_xmlOutputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
653    if (no == 0) return(xmlOutputBufferCreateFilename("test.out", NULL, 0));
654    return(NULL);
655}
656static void des_xmlOutputBufferPtr(int no ATTRIBUTE_UNUSED, xmlOutputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
657    if (val != NULL) {
658        xmlOutputBufferClose(val);
659    }
660}
661#endif
662
663#ifdef LIBXML_FTP_ENABLED
664#define gen_nb_xmlNanoFTPCtxtPtr 4
665static void *gen_xmlNanoFTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
666    if (no == 0) return(xmlNanoFTPNewCtxt(REMOTE2GOOD));
667    if (no == 1) return(xmlNanoFTPNewCtxt(REMOTE1GOOD));
668    if (no == 2) return(xmlNanoFTPNewCtxt("foo"));
669    return(NULL);
670}
671static void des_xmlNanoFTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
672    if (val != NULL) {
673        xmlNanoFTPFreeCtxt(val);
674    }
675}
676#endif
677
678#ifdef LIBXML_HTTP_ENABLED
679#define gen_nb_xmlNanoHTTPCtxtPtr 1
680static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
681    if (no == 0) return(xmlNanoHTTPOpen(REMOTE1GOOD, NULL));
682    if (no == 1) return(xmlNanoHTTPOpen(REMOTE2GOOD, NULL));
683    if (no == 2) return(xmlNanoHTTPOpen(REMOTE1BAD, NULL));
684    return(NULL);
685}
686static void des_xmlNanoHTTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
687    if (val != NULL) {
688	xmlNanoHTTPClose(val);
689    }
690}
691#endif
692
693#define gen_nb_xmlCharEncoding 4
694static xmlCharEncoding gen_xmlCharEncoding(int no, int nr ATTRIBUTE_UNUSED) {
695    if (no == 0) return(XML_CHAR_ENCODING_UTF8);
696    if (no == 1) return(XML_CHAR_ENCODING_NONE);
697    if (no == 2) return(XML_CHAR_ENCODING_8859_1);
698    return(XML_CHAR_ENCODING_ERROR);
699}
700static void des_xmlCharEncoding(int no ATTRIBUTE_UNUSED, xmlCharEncoding val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
701}
702
703#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
704
705#define gen_nb_xmlExpCtxtPtr 1
706static xmlExpCtxtPtr gen_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
707    return(NULL);
708}
709static void des_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, xmlExpCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
710}
711
712#define gen_nb_xmlExpNodePtr 1
713static xmlExpNodePtr gen_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
714    return(NULL);
715}
716static void des_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, xmlExpNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
717}
718
719#endif
720
721#if defined(LIBXML_SCHEMAS_ENABLED)
722#define gen_nb_xmlSchemaPtr 1
723static xmlSchemaPtr gen_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
724    return(NULL);
725}
726static void des_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, xmlSchemaPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
727}
728
729#define gen_nb_xmlSchemaValidCtxtPtr 1
730static xmlSchemaValidCtxtPtr gen_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
731    return(NULL);
732}
733static void des_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
734}
735
736#endif /* LIBXML_SCHEMAS_ENABLED */
737
738#define gen_nb_xmlHashDeallocator 2
739static void
740test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED, xmlChar *name ATTRIBUTE_UNUSED) {
741}
742
743static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) {
744    if (no == 0) return(test_xmlHashDeallocator);
745    return(NULL);
746}
747static void des_xmlHashDeallocator(int no ATTRIBUTE_UNUSED, xmlHashDeallocator val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
748}
749
750
751static void desret_int(int val ATTRIBUTE_UNUSED) {
752}
753static void desret_xmlChar(xmlChar val ATTRIBUTE_UNUSED) {
754}
755static void desret_long(long val ATTRIBUTE_UNUSED) {
756}
757static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) {
758}
759static void desret_double(double val ATTRIBUTE_UNUSED) {
760}
761static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) {
762}
763#if 0
764static void desret_const_void_ptr(void *val ATTRIBUTE_UNUSED) {
765}
766#endif
767static void desret_void_ptr(void *val ATTRIBUTE_UNUSED) {
768}
769static void desret_const_char_ptr(const char *val ATTRIBUTE_UNUSED) {
770}
771static void desret_const_xmlChar_ptr(const xmlChar *val ATTRIBUTE_UNUSED) {
772}
773static void desret_xmlChar_ptr(xmlChar *val) {
774    if (val != NULL)
775	xmlFree(val);
776}
777static void desret_xmlDocPtr(xmlDocPtr val) {
778    if (val != api_doc)
779	xmlFreeDoc(val);
780}
781static void desret_xmlDictPtr(xmlDictPtr val) {
782    xmlDictFree(val);
783}
784#ifdef LIBXML_OUTPUT_ENABLED
785static void desret_xmlOutputBufferPtr(xmlOutputBufferPtr val) {
786    xmlOutputBufferClose(val);
787}
788#endif
789#ifdef LIBXML_READER_ENABLED
790static void desret_xmlTextReaderPtr(xmlTextReaderPtr val) {
791    xmlFreeTextReader(val);
792}
793#endif
794static void desret_xmlNodePtr(xmlNodePtr val) {
795    if ((val != NULL) && (val != api_root) && (val != (xmlNodePtr) api_doc)) {
796	xmlUnlinkNode(val);
797	xmlFreeNode(val);
798    }
799}
800static void desret_xmlAttrPtr(xmlAttrPtr val) {
801    if (val != NULL) {
802	xmlUnlinkNode((xmlNodePtr) val);
803	xmlFreeNode((xmlNodePtr) val);
804    }
805}
806static void desret_xmlEntityPtr(xmlEntityPtr val) {
807    if (val != NULL) {
808	xmlUnlinkNode((xmlNodePtr) val);
809	xmlFreeNode((xmlNodePtr) val);
810    }
811}
812static void desret_xmlElementPtr(xmlElementPtr val) {
813    if (val != NULL) {
814	xmlUnlinkNode((xmlNodePtr) val);
815    }
816}
817static void desret_xmlAttributePtr(xmlAttributePtr val) {
818    if (val != NULL) {
819	xmlUnlinkNode((xmlNodePtr) val);
820    }
821}
822static void desret_xmlNsPtr(xmlNsPtr val ATTRIBUTE_UNUSED) {
823}
824static void desret_xmlDtdPtr(xmlDtdPtr val) {
825    desret_xmlNodePtr((xmlNodePtr)val);
826}
827#ifdef LIBXML_XPATH_ENABLED
828static void desret_xmlXPathObjectPtr(xmlXPathObjectPtr val) {
829    xmlXPathFreeObject(val);
830}
831static void desret_xmlNodeSetPtr(xmlNodeSetPtr val) {
832    xmlXPathFreeNodeSet(val);
833}
834#endif
835static void desret_xmlParserCtxtPtr(xmlParserCtxtPtr val) {
836    xmlFreeParserCtxt(val);
837}
838static void desret_xmlParserInputBufferPtr(xmlParserInputBufferPtr val) {
839    xmlFreeParserInputBuffer(val);
840}
841static void desret_xmlParserInputPtr(xmlParserInputPtr val) {
842    xmlFreeInputStream(val);
843}
844#ifdef LIBXML_WRITER_ENABLED
845static void desret_xmlTextWriterPtr(xmlTextWriterPtr val) {
846    xmlFreeTextWriter(val);
847}
848#endif
849static void desret_xmlBufferPtr(xmlBufferPtr val) {
850    xmlBufferFree(val);
851}
852#ifdef LIBXML_SCHEMAS_ENABLED
853static void desret_xmlSchemaParserCtxtPtr(xmlSchemaParserCtxtPtr val) {
854    xmlSchemaFreeParserCtxt(val);
855}
856static void desret_xmlSchemaTypePtr(xmlSchemaTypePtr val ATTRIBUTE_UNUSED) {
857}
858static void desret_xmlRelaxNGParserCtxtPtr(xmlRelaxNGParserCtxtPtr val) {
859    xmlRelaxNGFreeParserCtxt(val);
860}
861#endif
862#ifdef LIBXML_HTML_ENABLED
863static void desret_const_htmlEntityDesc_ptr(const htmlEntityDesc * val ATTRIBUTE_UNUSED) {
864}
865#endif
866#ifdef LIBXML_HTTP_ENABLED
867static void desret_xmlNanoHTTPCtxtPtr(void *val) {
868    xmlNanoHTTPClose(val);
869}
870#endif
871#ifdef LIBXML_FTP_ENABLED
872static void desret_xmlNanoFTPCtxtPtr(void *val) {
873    xmlNanoFTPClose(val);
874}
875#endif
876/* cut and pasted from autogenerated to avoid troubles */
877#define gen_nb_const_xmlChar_ptr_ptr 1
878static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
879    return(NULL);
880}
881static void des_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, const xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
882}
883
884#define gen_nb_unsigned_char_ptr 1
885static unsigned char * gen_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
886    return(NULL);
887}
888static void des_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
889}
890
891#define gen_nb_const_unsigned_char_ptr 1
892static unsigned char * gen_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
893    return(NULL);
894}
895static void des_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, const unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
896}
897
898#ifdef LIBXML_HTML_ENABLED
899#define gen_nb_const_htmlNodePtr 1
900static htmlNodePtr gen_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
901    return(NULL);
902}
903static void des_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, const htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
904}
905#endif
906
907#ifdef LIBXML_HTML_ENABLED
908#define gen_nb_htmlDocPtr 3
909static htmlDocPtr gen_htmlDocPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
910    if (no == 0) return(htmlNewDoc(NULL, NULL));
911    if (no == 1) return(htmlReadMemory("<html/>", 7, "test", NULL, 0));
912    return(NULL);
913}
914static void des_htmlDocPtr(int no ATTRIBUTE_UNUSED, htmlDocPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
915    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
916        xmlFreeDoc(val);
917}
918static void desret_htmlDocPtr(htmlDocPtr val) {
919    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
920        xmlFreeDoc(val);
921}
922#define gen_nb_htmlParserCtxtPtr 3
923static htmlParserCtxtPtr gen_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
924    if (no == 0) return(xmlNewParserCtxt());
925    if (no == 1) return(htmlCreateMemoryParserCtxt("<html/>", 7));
926    return(NULL);
927}
928static void des_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, htmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
929    if (val != NULL)
930        htmlFreeParserCtxt(val);
931}
932static void desret_htmlParserCtxtPtr(htmlParserCtxtPtr val) {
933    if (val != NULL)
934        htmlFreeParserCtxt(val);
935}
936#endif
937
938#ifdef LIBXML_XPATH_ENABLED
939#define gen_nb_xmlNodeSetPtr 1
940static xmlNodeSetPtr gen_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
941    return(NULL);
942}
943static void des_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, xmlNodeSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
944}
945#endif
946
947#ifdef LIBXML_DEBUG_ENABLED
948#ifdef LIBXML_XPATH_ENABLED
949#define gen_nb_xmlShellCtxtPtr 1
950static xmlShellCtxtPtr gen_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
951    return(NULL);
952}
953static void des_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, xmlShellCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
954}
955#endif
956#endif
957
958#ifdef LIBXML_PATTERN_ENABLED
959#define gen_nb_xmlPatternPtr 1
960static xmlPatternPtr gen_xmlPatternPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
961    return(NULL);
962}
963static void des_xmlPatternPtr(int no ATTRIBUTE_UNUSED, xmlPatternPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
964}
965#endif
966
967#define gen_nb_xmlElementContentPtr 1
968static xmlElementContentPtr gen_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
969    return(NULL);
970}
971static void des_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, xmlElementContentPtr val, int nr ATTRIBUTE_UNUSED) {
972    if (val != NULL)
973        xmlFreeElementContent(val);
974}
975static void desret_xmlElementContentPtr(xmlElementContentPtr val) {
976    if (val != NULL)
977        xmlFreeElementContent(val);
978}
979
980#define gen_nb_xmlParserNodeInfoSeqPtr 1
981static xmlParserNodeInfoSeqPtr gen_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
982    return(NULL);
983}
984static void des_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
985}
986
987static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) {
988}
989
990#define gen_nb_void_ptr_ptr 1
991static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
992    return(NULL);
993}
994static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
995}
996
997/************************************************************************
998 *									*
999 *   WARNING: end of the manually maintained part of the test code	*
1000 *            do not remove or alter the CUT HERE line			*
1001 *									*
1002 ************************************************************************/
1003
1004/* CUT HERE: everything below that line is generated */
1005#ifdef LIBXML_HTML_ENABLED
1006static void desret_htmlStatus(htmlStatus val ATTRIBUTE_UNUSED) {
1007}
1008
1009#endif
1010
1011#define gen_nb_xmlAttributeDefault 4
1012static xmlAttributeDefault gen_xmlAttributeDefault(int no, int nr ATTRIBUTE_UNUSED) {
1013    if (no == 1) return(XML_ATTRIBUTE_FIXED);
1014    if (no == 2) return(XML_ATTRIBUTE_IMPLIED);
1015    if (no == 3) return(XML_ATTRIBUTE_NONE);
1016    if (no == 4) return(XML_ATTRIBUTE_REQUIRED);
1017    return(0);
1018}
1019
1020static void des_xmlAttributeDefault(int no ATTRIBUTE_UNUSED, xmlAttributeDefault val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1021}
1022
1023#define gen_nb_xmlAttributeType 4
1024static xmlAttributeType gen_xmlAttributeType(int no, int nr ATTRIBUTE_UNUSED) {
1025    if (no == 1) return(XML_ATTRIBUTE_CDATA);
1026    if (no == 2) return(XML_ATTRIBUTE_ENTITIES);
1027    if (no == 3) return(XML_ATTRIBUTE_ENTITY);
1028    if (no == 4) return(XML_ATTRIBUTE_ENUMERATION);
1029    return(0);
1030}
1031
1032static void des_xmlAttributeType(int no ATTRIBUTE_UNUSED, xmlAttributeType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1033}
1034
1035#define gen_nb_xmlBufferAllocationScheme 4
1036static xmlBufferAllocationScheme gen_xmlBufferAllocationScheme(int no, int nr ATTRIBUTE_UNUSED) {
1037    if (no == 1) return(XML_BUFFER_ALLOC_DOUBLEIT);
1038    if (no == 2) return(XML_BUFFER_ALLOC_EXACT);
1039    if (no == 3) return(XML_BUFFER_ALLOC_HYBRID);
1040    if (no == 4) return(XML_BUFFER_ALLOC_IMMUTABLE);
1041    return(0);
1042}
1043
1044static void des_xmlBufferAllocationScheme(int no ATTRIBUTE_UNUSED, xmlBufferAllocationScheme val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1045}
1046
1047static void desret_xmlBufferAllocationScheme(xmlBufferAllocationScheme val ATTRIBUTE_UNUSED) {
1048}
1049
1050#ifdef LIBXML_CATALOG_ENABLED
1051#define gen_nb_xmlCatalogAllow 4
1052static xmlCatalogAllow gen_xmlCatalogAllow(int no, int nr ATTRIBUTE_UNUSED) {
1053    if (no == 1) return(XML_CATA_ALLOW_ALL);
1054    if (no == 2) return(XML_CATA_ALLOW_DOCUMENT);
1055    if (no == 3) return(XML_CATA_ALLOW_GLOBAL);
1056    if (no == 4) return(XML_CATA_ALLOW_NONE);
1057    return(0);
1058}
1059
1060static void des_xmlCatalogAllow(int no ATTRIBUTE_UNUSED, xmlCatalogAllow val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1061}
1062
1063static void desret_xmlCatalogAllow(xmlCatalogAllow val ATTRIBUTE_UNUSED) {
1064}
1065
1066#endif
1067
1068#ifdef LIBXML_CATALOG_ENABLED
1069#define gen_nb_xmlCatalogPrefer 3
1070static xmlCatalogPrefer gen_xmlCatalogPrefer(int no, int nr ATTRIBUTE_UNUSED) {
1071    if (no == 1) return(XML_CATA_PREFER_NONE);
1072    if (no == 2) return(XML_CATA_PREFER_PUBLIC);
1073    if (no == 3) return(XML_CATA_PREFER_SYSTEM);
1074    return(0);
1075}
1076
1077static void des_xmlCatalogPrefer(int no ATTRIBUTE_UNUSED, xmlCatalogPrefer val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1078}
1079
1080static void desret_xmlCatalogPrefer(xmlCatalogPrefer val ATTRIBUTE_UNUSED) {
1081}
1082
1083#endif
1084
1085#define gen_nb_xmlElementContentType 4
1086static xmlElementContentType gen_xmlElementContentType(int no, int nr ATTRIBUTE_UNUSED) {
1087    if (no == 1) return(XML_ELEMENT_CONTENT_ELEMENT);
1088    if (no == 2) return(XML_ELEMENT_CONTENT_OR);
1089    if (no == 3) return(XML_ELEMENT_CONTENT_PCDATA);
1090    if (no == 4) return(XML_ELEMENT_CONTENT_SEQ);
1091    return(0);
1092}
1093
1094static void des_xmlElementContentType(int no ATTRIBUTE_UNUSED, xmlElementContentType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1095}
1096
1097#define gen_nb_xmlElementTypeVal 4
1098static xmlElementTypeVal gen_xmlElementTypeVal(int no, int nr ATTRIBUTE_UNUSED) {
1099    if (no == 1) return(XML_ELEMENT_TYPE_ANY);
1100    if (no == 2) return(XML_ELEMENT_TYPE_ELEMENT);
1101    if (no == 3) return(XML_ELEMENT_TYPE_EMPTY);
1102    if (no == 4) return(XML_ELEMENT_TYPE_MIXED);
1103    return(0);
1104}
1105
1106static void des_xmlElementTypeVal(int no ATTRIBUTE_UNUSED, xmlElementTypeVal val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1107}
1108
1109#define gen_nb_xmlFeature 4
1110static xmlFeature gen_xmlFeature(int no, int nr ATTRIBUTE_UNUSED) {
1111    if (no == 1) return(XML_WITH_AUTOMATA);
1112    if (no == 2) return(XML_WITH_C14N);
1113    if (no == 3) return(XML_WITH_CATALOG);
1114    if (no == 4) return(XML_WITH_DEBUG);
1115    return(0);
1116}
1117
1118static void des_xmlFeature(int no ATTRIBUTE_UNUSED, xmlFeature val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1119}
1120
1121static void desret_xmlParserErrors(xmlParserErrors val ATTRIBUTE_UNUSED) {
1122}
1123
1124#ifdef LIBXML_SCHEMAS_ENABLED
1125#define gen_nb_xmlSchemaValType 4
1126static xmlSchemaValType gen_xmlSchemaValType(int no, int nr ATTRIBUTE_UNUSED) {
1127    if (no == 1) return(XML_SCHEMAS_ANYSIMPLETYPE);
1128    if (no == 2) return(XML_SCHEMAS_ANYTYPE);
1129    if (no == 3) return(XML_SCHEMAS_ANYURI);
1130    if (no == 4) return(XML_SCHEMAS_BASE64BINARY);
1131    return(0);
1132}
1133
1134static void des_xmlSchemaValType(int no ATTRIBUTE_UNUSED, xmlSchemaValType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1135}
1136
1137static void desret_xmlSchemaValType(xmlSchemaValType val ATTRIBUTE_UNUSED) {
1138}
1139
1140#endif
1141
1142#ifdef LIBXML_SCHEMAS_ENABLED
1143#define gen_nb_xmlSchemaWhitespaceValueType 4
1144static xmlSchemaWhitespaceValueType gen_xmlSchemaWhitespaceValueType(int no, int nr ATTRIBUTE_UNUSED) {
1145    if (no == 1) return(XML_SCHEMA_WHITESPACE_COLLAPSE);
1146    if (no == 2) return(XML_SCHEMA_WHITESPACE_PRESERVE);
1147    if (no == 3) return(XML_SCHEMA_WHITESPACE_REPLACE);
1148    if (no == 4) return(XML_SCHEMA_WHITESPACE_UNKNOWN);
1149    return(0);
1150}
1151
1152static void des_xmlSchemaWhitespaceValueType(int no ATTRIBUTE_UNUSED, xmlSchemaWhitespaceValueType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1153}
1154
1155#endif
1156
1157#include <libxml/HTMLparser.h>
1158#include <libxml/HTMLtree.h>
1159#include <libxml/SAX2.h>
1160#include <libxml/c14n.h>
1161#include <libxml/catalog.h>
1162#include <libxml/chvalid.h>
1163#include <libxml/debugXML.h>
1164#include <libxml/dict.h>
1165#include <libxml/encoding.h>
1166#include <libxml/entities.h>
1167#include <libxml/hash.h>
1168#include <libxml/list.h>
1169#include <libxml/nanoftp.h>
1170#include <libxml/nanohttp.h>
1171#include <libxml/parser.h>
1172#include <libxml/parserInternals.h>
1173#include <libxml/pattern.h>
1174#include <libxml/relaxng.h>
1175#include <libxml/schemasInternals.h>
1176#include <libxml/schematron.h>
1177#include <libxml/tree.h>
1178#include <libxml/uri.h>
1179#include <libxml/valid.h>
1180#include <libxml/xinclude.h>
1181#include <libxml/xmlIO.h>
1182#include <libxml/xmlautomata.h>
1183#include <libxml/xmlerror.h>
1184#include <libxml/xmlmodule.h>
1185#include <libxml/xmlreader.h>
1186#include <libxml/xmlregexp.h>
1187#include <libxml/xmlsave.h>
1188#include <libxml/xmlschemas.h>
1189#include <libxml/xmlschemastypes.h>
1190#include <libxml/xmlstring.h>
1191#include <libxml/xmlunicode.h>
1192#include <libxml/xmlwriter.h>
1193#include <libxml/xpath.h>
1194#include <libxml/xpathInternals.h>
1195#include <libxml/xpointer.h>
1196static int test_HTMLparser(void);
1197static int test_HTMLtree(void);
1198static int test_SAX2(void);
1199static int test_c14n(void);
1200static int test_catalog(void);
1201static int test_chvalid(void);
1202static int test_debugXML(void);
1203static int test_dict(void);
1204static int test_encoding(void);
1205static int test_entities(void);
1206static int test_hash(void);
1207static int test_list(void);
1208static int test_nanoftp(void);
1209static int test_nanohttp(void);
1210static int test_parser(void);
1211static int test_parserInternals(void);
1212static int test_pattern(void);
1213static int test_relaxng(void);
1214static int test_schemasInternals(void);
1215static int test_schematron(void);
1216static int test_tree(void);
1217static int test_uri(void);
1218static int test_valid(void);
1219static int test_xinclude(void);
1220static int test_xmlIO(void);
1221static int test_xmlautomata(void);
1222static int test_xmlerror(void);
1223static int test_xmlmodule(void);
1224static int test_xmlreader(void);
1225static int test_xmlregexp(void);
1226static int test_xmlsave(void);
1227static int test_xmlschemas(void);
1228static int test_xmlschemastypes(void);
1229static int test_xmlstring(void);
1230static int test_xmlunicode(void);
1231static int test_xmlwriter(void);
1232static int test_xpath(void);
1233static int test_xpathInternals(void);
1234static int test_xpointer(void);
1235
1236/**
1237 * testlibxml2:
1238 *
1239 * Main entry point of the tester for the full libxml2 module,
1240 * it calls all the tester entry point for each module.
1241 *
1242 * Returns the number of error found
1243 */
1244static int
1245testlibxml2(void)
1246{
1247    int test_ret = 0;
1248
1249    test_ret += test_HTMLparser();
1250    test_ret += test_HTMLtree();
1251    test_ret += test_SAX2();
1252    test_ret += test_c14n();
1253    test_ret += test_catalog();
1254    test_ret += test_chvalid();
1255    test_ret += test_debugXML();
1256    test_ret += test_dict();
1257    test_ret += test_encoding();
1258    test_ret += test_entities();
1259    test_ret += test_hash();
1260    test_ret += test_list();
1261    test_ret += test_nanoftp();
1262    test_ret += test_nanohttp();
1263    test_ret += test_parser();
1264    test_ret += test_parserInternals();
1265    test_ret += test_pattern();
1266    test_ret += test_relaxng();
1267    test_ret += test_schemasInternals();
1268    test_ret += test_schematron();
1269    test_ret += test_tree();
1270    test_ret += test_uri();
1271    test_ret += test_valid();
1272    test_ret += test_xinclude();
1273    test_ret += test_xmlIO();
1274    test_ret += test_xmlautomata();
1275    test_ret += test_xmlerror();
1276    test_ret += test_xmlmodule();
1277    test_ret += test_xmlreader();
1278    test_ret += test_xmlregexp();
1279    test_ret += test_xmlsave();
1280    test_ret += test_xmlschemas();
1281    test_ret += test_xmlschemastypes();
1282    test_ret += test_xmlstring();
1283    test_ret += test_xmlunicode();
1284    test_ret += test_xmlwriter();
1285    test_ret += test_xpath();
1286    test_ret += test_xpathInternals();
1287    test_ret += test_xpointer();
1288
1289    printf("Total: %d functions, %d tests, %d errors\n",
1290           function_tests, call_tests, test_ret);
1291    return(test_ret);
1292}
1293
1294
1295static int
1296test_UTF8ToHtml(void) {
1297    int test_ret = 0;
1298
1299#if defined(LIBXML_HTML_ENABLED)
1300    int mem_base;
1301    int ret_val;
1302    unsigned char * out; /* a pointer to an array of bytes to store the result */
1303    int n_out;
1304    int * outlen; /* the length of @out */
1305    int n_outlen;
1306    unsigned char * in; /* a pointer to an array of UTF-8 chars */
1307    int n_in;
1308    int * inlen; /* the length of @in */
1309    int n_inlen;
1310
1311    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
1312    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
1313    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
1314    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
1315        mem_base = xmlMemBlocks();
1316        out = gen_unsigned_char_ptr(n_out, 0);
1317        outlen = gen_int_ptr(n_outlen, 1);
1318        in = gen_const_unsigned_char_ptr(n_in, 2);
1319        inlen = gen_int_ptr(n_inlen, 3);
1320
1321        ret_val = UTF8ToHtml(out, outlen, (const unsigned char *)in, inlen);
1322        desret_int(ret_val);
1323        call_tests++;
1324        des_unsigned_char_ptr(n_out, out, 0);
1325        des_int_ptr(n_outlen, outlen, 1);
1326        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
1327        des_int_ptr(n_inlen, inlen, 3);
1328        xmlResetLastError();
1329        if (mem_base != xmlMemBlocks()) {
1330            printf("Leak of %d blocks found in UTF8ToHtml",
1331	           xmlMemBlocks() - mem_base);
1332	    test_ret++;
1333            printf(" %d", n_out);
1334            printf(" %d", n_outlen);
1335            printf(" %d", n_in);
1336            printf(" %d", n_inlen);
1337            printf("\n");
1338        }
1339    }
1340    }
1341    }
1342    }
1343    function_tests++;
1344#endif
1345
1346    return(test_ret);
1347}
1348
1349#ifdef LIBXML_HTML_ENABLED
1350
1351#define gen_nb_const_htmlElemDesc_ptr 1
1352static htmlElemDesc * gen_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1353    return(NULL);
1354}
1355static void des_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, const htmlElemDesc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1356}
1357#endif
1358
1359
1360static int
1361test_htmlAttrAllowed(void) {
1362    int test_ret = 0;
1363
1364#if defined(LIBXML_HTML_ENABLED)
1365    int mem_base;
1366    htmlStatus ret_val;
1367    htmlElemDesc * elt; /* HTML element */
1368    int n_elt;
1369    xmlChar * attr; /* HTML attribute */
1370    int n_attr;
1371    int legacy; /* whether to allow deprecated attributes */
1372    int n_legacy;
1373
1374    for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
1375    for (n_attr = 0;n_attr < gen_nb_const_xmlChar_ptr;n_attr++) {
1376    for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
1377        mem_base = xmlMemBlocks();
1378        elt = gen_const_htmlElemDesc_ptr(n_elt, 0);
1379        attr = gen_const_xmlChar_ptr(n_attr, 1);
1380        legacy = gen_int(n_legacy, 2);
1381
1382        ret_val = htmlAttrAllowed((const htmlElemDesc *)elt, (const xmlChar *)attr, legacy);
1383        desret_htmlStatus(ret_val);
1384        call_tests++;
1385        des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 0);
1386        des_const_xmlChar_ptr(n_attr, (const xmlChar *)attr, 1);
1387        des_int(n_legacy, legacy, 2);
1388        xmlResetLastError();
1389        if (mem_base != xmlMemBlocks()) {
1390            printf("Leak of %d blocks found in htmlAttrAllowed",
1391	           xmlMemBlocks() - mem_base);
1392	    test_ret++;
1393            printf(" %d", n_elt);
1394            printf(" %d", n_attr);
1395            printf(" %d", n_legacy);
1396            printf("\n");
1397        }
1398    }
1399    }
1400    }
1401    function_tests++;
1402#endif
1403
1404    return(test_ret);
1405}
1406
1407#ifdef LIBXML_HTML_ENABLED
1408
1409#define gen_nb_htmlNodePtr 1
1410static htmlNodePtr gen_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1411    return(NULL);
1412}
1413static void des_htmlNodePtr(int no ATTRIBUTE_UNUSED, htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1414}
1415#endif
1416
1417
1418static int
1419test_htmlAutoCloseTag(void) {
1420    int test_ret = 0;
1421
1422#if defined(LIBXML_HTML_ENABLED)
1423    int mem_base;
1424    int ret_val;
1425    htmlDocPtr doc; /* the HTML document */
1426    int n_doc;
1427    xmlChar * name; /* The tag name */
1428    int n_name;
1429    htmlNodePtr elem; /* the HTML element */
1430    int n_elem;
1431
1432    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
1433    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
1434    for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
1435        mem_base = xmlMemBlocks();
1436        doc = gen_htmlDocPtr(n_doc, 0);
1437        name = gen_const_xmlChar_ptr(n_name, 1);
1438        elem = gen_htmlNodePtr(n_elem, 2);
1439
1440        ret_val = htmlAutoCloseTag(doc, (const xmlChar *)name, elem);
1441        desret_int(ret_val);
1442        call_tests++;
1443        des_htmlDocPtr(n_doc, doc, 0);
1444        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
1445        des_htmlNodePtr(n_elem, elem, 2);
1446        xmlResetLastError();
1447        if (mem_base != xmlMemBlocks()) {
1448            printf("Leak of %d blocks found in htmlAutoCloseTag",
1449	           xmlMemBlocks() - mem_base);
1450	    test_ret++;
1451            printf(" %d", n_doc);
1452            printf(" %d", n_name);
1453            printf(" %d", n_elem);
1454            printf("\n");
1455        }
1456    }
1457    }
1458    }
1459    function_tests++;
1460#endif
1461
1462    return(test_ret);
1463}
1464
1465
1466static int
1467test_htmlCreateMemoryParserCtxt(void) {
1468    int test_ret = 0;
1469
1470#if defined(LIBXML_HTML_ENABLED)
1471    int mem_base;
1472    htmlParserCtxtPtr ret_val;
1473    char * buffer; /* a pointer to a char array */
1474    int n_buffer;
1475    int size; /* the size of the array */
1476    int n_size;
1477
1478    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
1479    for (n_size = 0;n_size < gen_nb_int;n_size++) {
1480        mem_base = xmlMemBlocks();
1481        buffer = gen_const_char_ptr(n_buffer, 0);
1482        size = gen_int(n_size, 1);
1483
1484        ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
1485        desret_htmlParserCtxtPtr(ret_val);
1486        call_tests++;
1487        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
1488        des_int(n_size, size, 1);
1489        xmlResetLastError();
1490        if (mem_base != xmlMemBlocks()) {
1491            printf("Leak of %d blocks found in htmlCreateMemoryParserCtxt",
1492	           xmlMemBlocks() - mem_base);
1493	    test_ret++;
1494            printf(" %d", n_buffer);
1495            printf(" %d", n_size);
1496            printf("\n");
1497        }
1498    }
1499    }
1500    function_tests++;
1501#endif
1502
1503    return(test_ret);
1504}
1505
1506#ifdef LIBXML_HTML_ENABLED
1507
1508#define gen_nb_htmlSAXHandlerPtr 1
1509static htmlSAXHandlerPtr gen_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1510    return(NULL);
1511}
1512static void des_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, htmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
1513}
1514#endif
1515
1516
1517static int
1518test_htmlCreatePushParserCtxt(void) {
1519    int test_ret = 0;
1520
1521#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
1522    int mem_base;
1523    htmlParserCtxtPtr ret_val;
1524    htmlSAXHandlerPtr sax; /* a SAX handler */
1525    int n_sax;
1526    void * user_data; /* The user data returned on SAX callbacks */
1527    int n_user_data;
1528    char * chunk; /* a pointer to an array of chars */
1529    int n_chunk;
1530    int size; /* number of chars in the array */
1531    int n_size;
1532    const char * filename; /* an optional file name or URI */
1533    int n_filename;
1534    xmlCharEncoding enc; /* an optional encoding */
1535    int n_enc;
1536
1537    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
1538    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
1539    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
1540    for (n_size = 0;n_size < gen_nb_int;n_size++) {
1541    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
1542    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
1543        mem_base = xmlMemBlocks();
1544        sax = gen_htmlSAXHandlerPtr(n_sax, 0);
1545        user_data = gen_userdata(n_user_data, 1);
1546        chunk = gen_const_char_ptr(n_chunk, 2);
1547        size = gen_int(n_size, 3);
1548        filename = gen_fileoutput(n_filename, 4);
1549        enc = gen_xmlCharEncoding(n_enc, 5);
1550
1551        ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
1552        desret_htmlParserCtxtPtr(ret_val);
1553        call_tests++;
1554        des_htmlSAXHandlerPtr(n_sax, sax, 0);
1555        des_userdata(n_user_data, user_data, 1);
1556        des_const_char_ptr(n_chunk, (const char *)chunk, 2);
1557        des_int(n_size, size, 3);
1558        des_fileoutput(n_filename, filename, 4);
1559        des_xmlCharEncoding(n_enc, enc, 5);
1560        xmlResetLastError();
1561        if (mem_base != xmlMemBlocks()) {
1562            printf("Leak of %d blocks found in htmlCreatePushParserCtxt",
1563	           xmlMemBlocks() - mem_base);
1564	    test_ret++;
1565            printf(" %d", n_sax);
1566            printf(" %d", n_user_data);
1567            printf(" %d", n_chunk);
1568            printf(" %d", n_size);
1569            printf(" %d", n_filename);
1570            printf(" %d", n_enc);
1571            printf("\n");
1572        }
1573    }
1574    }
1575    }
1576    }
1577    }
1578    }
1579    function_tests++;
1580#endif
1581
1582    return(test_ret);
1583}
1584
1585
1586static int
1587test_htmlCtxtReadDoc(void) {
1588    int test_ret = 0;
1589
1590#if defined(LIBXML_HTML_ENABLED)
1591    int mem_base;
1592    htmlDocPtr ret_val;
1593    htmlParserCtxtPtr ctxt; /* an HTML parser context */
1594    int n_ctxt;
1595    xmlChar * cur; /* a pointer to a zero terminated string */
1596    int n_cur;
1597    const char * URL; /* the base URL to use for the document */
1598    int n_URL;
1599    char * encoding; /* the document encoding, or NULL */
1600    int n_encoding;
1601    int options; /* a combination of htmlParserOption(s) */
1602    int n_options;
1603
1604    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
1605    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
1606    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
1607    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
1608    for (n_options = 0;n_options < gen_nb_int;n_options++) {
1609        mem_base = xmlMemBlocks();
1610        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
1611        cur = gen_const_xmlChar_ptr(n_cur, 1);
1612        URL = gen_filepath(n_URL, 2);
1613        encoding = gen_const_char_ptr(n_encoding, 3);
1614        options = gen_int(n_options, 4);
1615
1616        ret_val = htmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
1617        desret_htmlDocPtr(ret_val);
1618        call_tests++;
1619        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
1620        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
1621        des_filepath(n_URL, URL, 2);
1622        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
1623        des_int(n_options, options, 4);
1624        xmlResetLastError();
1625        if (mem_base != xmlMemBlocks()) {
1626            printf("Leak of %d blocks found in htmlCtxtReadDoc",
1627	           xmlMemBlocks() - mem_base);
1628	    test_ret++;
1629            printf(" %d", n_ctxt);
1630            printf(" %d", n_cur);
1631            printf(" %d", n_URL);
1632            printf(" %d", n_encoding);
1633            printf(" %d", n_options);
1634            printf("\n");
1635        }
1636    }
1637    }
1638    }
1639    }
1640    }
1641    function_tests++;
1642#endif
1643
1644    return(test_ret);
1645}
1646
1647
1648static int
1649test_htmlCtxtReadFile(void) {
1650    int test_ret = 0;
1651
1652#if defined(LIBXML_HTML_ENABLED)
1653    htmlDocPtr ret_val;
1654    htmlParserCtxtPtr ctxt; /* an HTML parser context */
1655    int n_ctxt;
1656    const char * filename; /* a file or URL */
1657    int n_filename;
1658    char * encoding; /* the document encoding, or NULL */
1659    int n_encoding;
1660    int options; /* a combination of htmlParserOption(s) */
1661    int n_options;
1662
1663    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
1664    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
1665    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
1666    for (n_options = 0;n_options < gen_nb_int;n_options++) {
1667        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
1668        filename = gen_filepath(n_filename, 1);
1669        encoding = gen_const_char_ptr(n_encoding, 2);
1670        options = gen_int(n_options, 3);
1671
1672        ret_val = htmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
1673        desret_htmlDocPtr(ret_val);
1674        call_tests++;
1675        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
1676        des_filepath(n_filename, filename, 1);
1677        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
1678        des_int(n_options, options, 3);
1679        xmlResetLastError();
1680    }
1681    }
1682    }
1683    }
1684    function_tests++;
1685#endif
1686
1687    return(test_ret);
1688}
1689
1690
1691static int
1692test_htmlCtxtReadMemory(void) {
1693    int test_ret = 0;
1694
1695#if defined(LIBXML_HTML_ENABLED)
1696    int mem_base;
1697    htmlDocPtr ret_val;
1698    htmlParserCtxtPtr ctxt; /* an HTML parser context */
1699    int n_ctxt;
1700    char * buffer; /* a pointer to a char array */
1701    int n_buffer;
1702    int size; /* the size of the array */
1703    int n_size;
1704    const char * URL; /* the base URL to use for the document */
1705    int n_URL;
1706    char * encoding; /* the document encoding, or NULL */
1707    int n_encoding;
1708    int options; /* a combination of htmlParserOption(s) */
1709    int n_options;
1710
1711    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
1712    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
1713    for (n_size = 0;n_size < gen_nb_int;n_size++) {
1714    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
1715    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
1716    for (n_options = 0;n_options < gen_nb_int;n_options++) {
1717        mem_base = xmlMemBlocks();
1718        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
1719        buffer = gen_const_char_ptr(n_buffer, 1);
1720        size = gen_int(n_size, 2);
1721        URL = gen_filepath(n_URL, 3);
1722        encoding = gen_const_char_ptr(n_encoding, 4);
1723        options = gen_int(n_options, 5);
1724
1725        ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
1726        desret_htmlDocPtr(ret_val);
1727        call_tests++;
1728        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
1729        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
1730        des_int(n_size, size, 2);
1731        des_filepath(n_URL, URL, 3);
1732        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
1733        des_int(n_options, options, 5);
1734        xmlResetLastError();
1735        if (mem_base != xmlMemBlocks()) {
1736            printf("Leak of %d blocks found in htmlCtxtReadMemory",
1737	           xmlMemBlocks() - mem_base);
1738	    test_ret++;
1739            printf(" %d", n_ctxt);
1740            printf(" %d", n_buffer);
1741            printf(" %d", n_size);
1742            printf(" %d", n_URL);
1743            printf(" %d", n_encoding);
1744            printf(" %d", n_options);
1745            printf("\n");
1746        }
1747    }
1748    }
1749    }
1750    }
1751    }
1752    }
1753    function_tests++;
1754#endif
1755
1756    return(test_ret);
1757}
1758
1759
1760static int
1761test_htmlCtxtReset(void) {
1762    int test_ret = 0;
1763
1764#if defined(LIBXML_HTML_ENABLED)
1765    int mem_base;
1766    htmlParserCtxtPtr ctxt; /* an HTML parser context */
1767    int n_ctxt;
1768
1769    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
1770        mem_base = xmlMemBlocks();
1771        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
1772
1773        htmlCtxtReset(ctxt);
1774        call_tests++;
1775        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
1776        xmlResetLastError();
1777        if (mem_base != xmlMemBlocks()) {
1778            printf("Leak of %d blocks found in htmlCtxtReset",
1779	           xmlMemBlocks() - mem_base);
1780	    test_ret++;
1781            printf(" %d", n_ctxt);
1782            printf("\n");
1783        }
1784    }
1785    function_tests++;
1786#endif
1787
1788    return(test_ret);
1789}
1790
1791
1792static int
1793test_htmlCtxtUseOptions(void) {
1794    int test_ret = 0;
1795
1796#if defined(LIBXML_HTML_ENABLED)
1797    int mem_base;
1798    int ret_val;
1799    htmlParserCtxtPtr ctxt; /* an HTML parser context */
1800    int n_ctxt;
1801    int options; /* a combination of htmlParserOption(s) */
1802    int n_options;
1803
1804    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
1805    for (n_options = 0;n_options < gen_nb_int;n_options++) {
1806        mem_base = xmlMemBlocks();
1807        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
1808        options = gen_int(n_options, 1);
1809
1810        ret_val = htmlCtxtUseOptions(ctxt, options);
1811        desret_int(ret_val);
1812        call_tests++;
1813        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
1814        des_int(n_options, options, 1);
1815        xmlResetLastError();
1816        if (mem_base != xmlMemBlocks()) {
1817            printf("Leak of %d blocks found in htmlCtxtUseOptions",
1818	           xmlMemBlocks() - mem_base);
1819	    test_ret++;
1820            printf(" %d", n_ctxt);
1821            printf(" %d", n_options);
1822            printf("\n");
1823        }
1824    }
1825    }
1826    function_tests++;
1827#endif
1828
1829    return(test_ret);
1830}
1831
1832
1833static int
1834test_htmlElementAllowedHere(void) {
1835    int test_ret = 0;
1836
1837#if defined(LIBXML_HTML_ENABLED)
1838    int mem_base;
1839    int ret_val;
1840    htmlElemDesc * parent; /* HTML parent element */
1841    int n_parent;
1842    xmlChar * elt; /* HTML element */
1843    int n_elt;
1844
1845    for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
1846    for (n_elt = 0;n_elt < gen_nb_const_xmlChar_ptr;n_elt++) {
1847        mem_base = xmlMemBlocks();
1848        parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
1849        elt = gen_const_xmlChar_ptr(n_elt, 1);
1850
1851        ret_val = htmlElementAllowedHere((const htmlElemDesc *)parent, (const xmlChar *)elt);
1852        desret_int(ret_val);
1853        call_tests++;
1854        des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
1855        des_const_xmlChar_ptr(n_elt, (const xmlChar *)elt, 1);
1856        xmlResetLastError();
1857        if (mem_base != xmlMemBlocks()) {
1858            printf("Leak of %d blocks found in htmlElementAllowedHere",
1859	           xmlMemBlocks() - mem_base);
1860	    test_ret++;
1861            printf(" %d", n_parent);
1862            printf(" %d", n_elt);
1863            printf("\n");
1864        }
1865    }
1866    }
1867    function_tests++;
1868#endif
1869
1870    return(test_ret);
1871}
1872
1873
1874static int
1875test_htmlElementStatusHere(void) {
1876    int test_ret = 0;
1877
1878#if defined(LIBXML_HTML_ENABLED)
1879    int mem_base;
1880    htmlStatus ret_val;
1881    htmlElemDesc * parent; /* HTML parent element */
1882    int n_parent;
1883    htmlElemDesc * elt; /* HTML element */
1884    int n_elt;
1885
1886    for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
1887    for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
1888        mem_base = xmlMemBlocks();
1889        parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
1890        elt = gen_const_htmlElemDesc_ptr(n_elt, 1);
1891
1892        ret_val = htmlElementStatusHere((const htmlElemDesc *)parent, (const htmlElemDesc *)elt);
1893        desret_htmlStatus(ret_val);
1894        call_tests++;
1895        des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
1896        des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 1);
1897        xmlResetLastError();
1898        if (mem_base != xmlMemBlocks()) {
1899            printf("Leak of %d blocks found in htmlElementStatusHere",
1900	           xmlMemBlocks() - mem_base);
1901	    test_ret++;
1902            printf(" %d", n_parent);
1903            printf(" %d", n_elt);
1904            printf("\n");
1905        }
1906    }
1907    }
1908    function_tests++;
1909#endif
1910
1911    return(test_ret);
1912}
1913
1914
1915static int
1916test_htmlEncodeEntities(void) {
1917    int test_ret = 0;
1918
1919#if defined(LIBXML_HTML_ENABLED)
1920    int mem_base;
1921    int ret_val;
1922    unsigned char * out; /* a pointer to an array of bytes to store the result */
1923    int n_out;
1924    int * outlen; /* the length of @out */
1925    int n_outlen;
1926    unsigned char * in; /* a pointer to an array of UTF-8 chars */
1927    int n_in;
1928    int * inlen; /* the length of @in */
1929    int n_inlen;
1930    int quoteChar; /* the quote character to escape (' or ") or zero. */
1931    int n_quoteChar;
1932
1933    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
1934    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
1935    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
1936    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
1937    for (n_quoteChar = 0;n_quoteChar < gen_nb_int;n_quoteChar++) {
1938        mem_base = xmlMemBlocks();
1939        out = gen_unsigned_char_ptr(n_out, 0);
1940        outlen = gen_int_ptr(n_outlen, 1);
1941        in = gen_const_unsigned_char_ptr(n_in, 2);
1942        inlen = gen_int_ptr(n_inlen, 3);
1943        quoteChar = gen_int(n_quoteChar, 4);
1944
1945        ret_val = htmlEncodeEntities(out, outlen, (const unsigned char *)in, inlen, quoteChar);
1946        desret_int(ret_val);
1947        call_tests++;
1948        des_unsigned_char_ptr(n_out, out, 0);
1949        des_int_ptr(n_outlen, outlen, 1);
1950        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
1951        des_int_ptr(n_inlen, inlen, 3);
1952        des_int(n_quoteChar, quoteChar, 4);
1953        xmlResetLastError();
1954        if (mem_base != xmlMemBlocks()) {
1955            printf("Leak of %d blocks found in htmlEncodeEntities",
1956	           xmlMemBlocks() - mem_base);
1957	    test_ret++;
1958            printf(" %d", n_out);
1959            printf(" %d", n_outlen);
1960            printf(" %d", n_in);
1961            printf(" %d", n_inlen);
1962            printf(" %d", n_quoteChar);
1963            printf("\n");
1964        }
1965    }
1966    }
1967    }
1968    }
1969    }
1970    function_tests++;
1971#endif
1972
1973    return(test_ret);
1974}
1975
1976
1977static int
1978test_htmlEntityLookup(void) {
1979    int test_ret = 0;
1980
1981#if defined(LIBXML_HTML_ENABLED)
1982    int mem_base;
1983    const htmlEntityDesc * ret_val;
1984    xmlChar * name; /* the entity name */
1985    int n_name;
1986
1987    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
1988        mem_base = xmlMemBlocks();
1989        name = gen_const_xmlChar_ptr(n_name, 0);
1990
1991        ret_val = htmlEntityLookup((const xmlChar *)name);
1992        desret_const_htmlEntityDesc_ptr(ret_val);
1993        call_tests++;
1994        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
1995        xmlResetLastError();
1996        if (mem_base != xmlMemBlocks()) {
1997            printf("Leak of %d blocks found in htmlEntityLookup",
1998	           xmlMemBlocks() - mem_base);
1999	    test_ret++;
2000            printf(" %d", n_name);
2001            printf("\n");
2002        }
2003    }
2004    function_tests++;
2005#endif
2006
2007    return(test_ret);
2008}
2009
2010
2011static int
2012test_htmlEntityValueLookup(void) {
2013    int test_ret = 0;
2014
2015#if defined(LIBXML_HTML_ENABLED)
2016    int mem_base;
2017    const htmlEntityDesc * ret_val;
2018    unsigned int value; /* the entity's unicode value */
2019    int n_value;
2020
2021    for (n_value = 0;n_value < gen_nb_unsigned_int;n_value++) {
2022        mem_base = xmlMemBlocks();
2023        value = gen_unsigned_int(n_value, 0);
2024
2025        ret_val = htmlEntityValueLookup(value);
2026        desret_const_htmlEntityDesc_ptr(ret_val);
2027        call_tests++;
2028        des_unsigned_int(n_value, value, 0);
2029        xmlResetLastError();
2030        if (mem_base != xmlMemBlocks()) {
2031            printf("Leak of %d blocks found in htmlEntityValueLookup",
2032	           xmlMemBlocks() - mem_base);
2033	    test_ret++;
2034            printf(" %d", n_value);
2035            printf("\n");
2036        }
2037    }
2038    function_tests++;
2039#endif
2040
2041    return(test_ret);
2042}
2043
2044
2045static int
2046test_htmlHandleOmittedElem(void) {
2047    int test_ret = 0;
2048
2049#if defined(LIBXML_HTML_ENABLED)
2050    int mem_base;
2051    int ret_val;
2052    int val; /* int 0 or 1 */
2053    int n_val;
2054
2055    for (n_val = 0;n_val < gen_nb_int;n_val++) {
2056        mem_base = xmlMemBlocks();
2057        val = gen_int(n_val, 0);
2058
2059        ret_val = htmlHandleOmittedElem(val);
2060        desret_int(ret_val);
2061        call_tests++;
2062        des_int(n_val, val, 0);
2063        xmlResetLastError();
2064        if (mem_base != xmlMemBlocks()) {
2065            printf("Leak of %d blocks found in htmlHandleOmittedElem",
2066	           xmlMemBlocks() - mem_base);
2067	    test_ret++;
2068            printf(" %d", n_val);
2069            printf("\n");
2070        }
2071    }
2072    function_tests++;
2073#endif
2074
2075    return(test_ret);
2076}
2077
2078
2079static int
2080test_htmlIsAutoClosed(void) {
2081    int test_ret = 0;
2082
2083#if defined(LIBXML_HTML_ENABLED)
2084    int mem_base;
2085    int ret_val;
2086    htmlDocPtr doc; /* the HTML document */
2087    int n_doc;
2088    htmlNodePtr elem; /* the HTML element */
2089    int n_elem;
2090
2091    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
2092    for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
2093        mem_base = xmlMemBlocks();
2094        doc = gen_htmlDocPtr(n_doc, 0);
2095        elem = gen_htmlNodePtr(n_elem, 1);
2096
2097        ret_val = htmlIsAutoClosed(doc, elem);
2098        desret_int(ret_val);
2099        call_tests++;
2100        des_htmlDocPtr(n_doc, doc, 0);
2101        des_htmlNodePtr(n_elem, elem, 1);
2102        xmlResetLastError();
2103        if (mem_base != xmlMemBlocks()) {
2104            printf("Leak of %d blocks found in htmlIsAutoClosed",
2105	           xmlMemBlocks() - mem_base);
2106	    test_ret++;
2107            printf(" %d", n_doc);
2108            printf(" %d", n_elem);
2109            printf("\n");
2110        }
2111    }
2112    }
2113    function_tests++;
2114#endif
2115
2116    return(test_ret);
2117}
2118
2119
2120static int
2121test_htmlIsScriptAttribute(void) {
2122    int test_ret = 0;
2123
2124#if defined(LIBXML_HTML_ENABLED)
2125    int mem_base;
2126    int ret_val;
2127    xmlChar * name; /* an attribute name */
2128    int n_name;
2129
2130    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
2131        mem_base = xmlMemBlocks();
2132        name = gen_const_xmlChar_ptr(n_name, 0);
2133
2134        ret_val = htmlIsScriptAttribute((const xmlChar *)name);
2135        desret_int(ret_val);
2136        call_tests++;
2137        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
2138        xmlResetLastError();
2139        if (mem_base != xmlMemBlocks()) {
2140            printf("Leak of %d blocks found in htmlIsScriptAttribute",
2141	           xmlMemBlocks() - mem_base);
2142	    test_ret++;
2143            printf(" %d", n_name);
2144            printf("\n");
2145        }
2146    }
2147    function_tests++;
2148#endif
2149
2150    return(test_ret);
2151}
2152
2153
2154static int
2155test_htmlNewParserCtxt(void) {
2156    int test_ret = 0;
2157
2158#if defined(LIBXML_HTML_ENABLED)
2159    int mem_base;
2160    htmlParserCtxtPtr ret_val;
2161
2162        mem_base = xmlMemBlocks();
2163
2164        ret_val = htmlNewParserCtxt();
2165        desret_htmlParserCtxtPtr(ret_val);
2166        call_tests++;
2167        xmlResetLastError();
2168        if (mem_base != xmlMemBlocks()) {
2169            printf("Leak of %d blocks found in htmlNewParserCtxt",
2170	           xmlMemBlocks() - mem_base);
2171	    test_ret++;
2172            printf("\n");
2173        }
2174    function_tests++;
2175#endif
2176
2177    return(test_ret);
2178}
2179
2180
2181static int
2182test_htmlNodeStatus(void) {
2183    int test_ret = 0;
2184
2185#if defined(LIBXML_HTML_ENABLED)
2186    int mem_base;
2187    htmlStatus ret_val;
2188    htmlNodePtr node; /* an htmlNodePtr in a tree */
2189    int n_node;
2190    int legacy; /* whether to allow deprecated elements (YES is faster here for Element nodes) */
2191    int n_legacy;
2192
2193    for (n_node = 0;n_node < gen_nb_const_htmlNodePtr;n_node++) {
2194    for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
2195        mem_base = xmlMemBlocks();
2196        node = gen_const_htmlNodePtr(n_node, 0);
2197        legacy = gen_int(n_legacy, 1);
2198
2199        ret_val = htmlNodeStatus((const htmlNodePtr)node, legacy);
2200        desret_htmlStatus(ret_val);
2201        call_tests++;
2202        des_const_htmlNodePtr(n_node, (const htmlNodePtr)node, 0);
2203        des_int(n_legacy, legacy, 1);
2204        xmlResetLastError();
2205        if (mem_base != xmlMemBlocks()) {
2206            printf("Leak of %d blocks found in htmlNodeStatus",
2207	           xmlMemBlocks() - mem_base);
2208	    test_ret++;
2209            printf(" %d", n_node);
2210            printf(" %d", n_legacy);
2211            printf("\n");
2212        }
2213    }
2214    }
2215    function_tests++;
2216#endif
2217
2218    return(test_ret);
2219}
2220
2221
2222static int
2223test_htmlParseCharRef(void) {
2224    int test_ret = 0;
2225
2226#if defined(LIBXML_HTML_ENABLED)
2227    int mem_base;
2228    int ret_val;
2229    htmlParserCtxtPtr ctxt; /* an HTML parser context */
2230    int n_ctxt;
2231
2232    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
2233        mem_base = xmlMemBlocks();
2234        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
2235
2236        ret_val = htmlParseCharRef(ctxt);
2237        desret_int(ret_val);
2238        call_tests++;
2239        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
2240        xmlResetLastError();
2241        if (mem_base != xmlMemBlocks()) {
2242            printf("Leak of %d blocks found in htmlParseCharRef",
2243	           xmlMemBlocks() - mem_base);
2244	    test_ret++;
2245            printf(" %d", n_ctxt);
2246            printf("\n");
2247        }
2248    }
2249    function_tests++;
2250#endif
2251
2252    return(test_ret);
2253}
2254
2255
2256static int
2257test_htmlParseChunk(void) {
2258    int test_ret = 0;
2259
2260#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
2261    int mem_base;
2262    int ret_val;
2263    htmlParserCtxtPtr ctxt; /* an HTML parser context */
2264    int n_ctxt;
2265    char * chunk; /* an char array */
2266    int n_chunk;
2267    int size; /* the size in byte of the chunk */
2268    int n_size;
2269    int terminate; /* last chunk indicator */
2270    int n_terminate;
2271
2272    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
2273    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
2274    for (n_size = 0;n_size < gen_nb_int;n_size++) {
2275    for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
2276        mem_base = xmlMemBlocks();
2277        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
2278        chunk = gen_const_char_ptr(n_chunk, 1);
2279        size = gen_int(n_size, 2);
2280        terminate = gen_int(n_terminate, 3);
2281
2282        ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
2283        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
2284        desret_int(ret_val);
2285        call_tests++;
2286        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
2287        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
2288        des_int(n_size, size, 2);
2289        des_int(n_terminate, terminate, 3);
2290        xmlResetLastError();
2291        if (mem_base != xmlMemBlocks()) {
2292            printf("Leak of %d blocks found in htmlParseChunk",
2293	           xmlMemBlocks() - mem_base);
2294	    test_ret++;
2295            printf(" %d", n_ctxt);
2296            printf(" %d", n_chunk);
2297            printf(" %d", n_size);
2298            printf(" %d", n_terminate);
2299            printf("\n");
2300        }
2301    }
2302    }
2303    }
2304    }
2305    function_tests++;
2306#endif
2307
2308    return(test_ret);
2309}
2310
2311
2312static int
2313test_htmlParseDoc(void) {
2314    int test_ret = 0;
2315
2316#if defined(LIBXML_HTML_ENABLED)
2317    int mem_base;
2318    htmlDocPtr ret_val;
2319    xmlChar * cur; /* a pointer to an array of xmlChar */
2320    int n_cur;
2321    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
2322    int n_encoding;
2323
2324    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
2325    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2326        mem_base = xmlMemBlocks();
2327        cur = gen_xmlChar_ptr(n_cur, 0);
2328        encoding = gen_const_char_ptr(n_encoding, 1);
2329
2330        ret_val = htmlParseDoc(cur, (const char *)encoding);
2331        desret_htmlDocPtr(ret_val);
2332        call_tests++;
2333        des_xmlChar_ptr(n_cur, cur, 0);
2334        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
2335        xmlResetLastError();
2336        if (mem_base != xmlMemBlocks()) {
2337            printf("Leak of %d blocks found in htmlParseDoc",
2338	           xmlMemBlocks() - mem_base);
2339	    test_ret++;
2340            printf(" %d", n_cur);
2341            printf(" %d", n_encoding);
2342            printf("\n");
2343        }
2344    }
2345    }
2346    function_tests++;
2347#endif
2348
2349    return(test_ret);
2350}
2351
2352
2353static int
2354test_htmlParseDocument(void) {
2355    int test_ret = 0;
2356
2357#if defined(LIBXML_HTML_ENABLED)
2358    int mem_base;
2359    int ret_val;
2360    htmlParserCtxtPtr ctxt; /* an HTML parser context */
2361    int n_ctxt;
2362
2363    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
2364        mem_base = xmlMemBlocks();
2365        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
2366
2367        ret_val = htmlParseDocument(ctxt);
2368        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
2369        desret_int(ret_val);
2370        call_tests++;
2371        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
2372        xmlResetLastError();
2373        if (mem_base != xmlMemBlocks()) {
2374            printf("Leak of %d blocks found in htmlParseDocument",
2375	           xmlMemBlocks() - mem_base);
2376	    test_ret++;
2377            printf(" %d", n_ctxt);
2378            printf("\n");
2379        }
2380    }
2381    function_tests++;
2382#endif
2383
2384    return(test_ret);
2385}
2386
2387
2388static int
2389test_htmlParseElement(void) {
2390    int test_ret = 0;
2391
2392#if defined(LIBXML_HTML_ENABLED)
2393    int mem_base;
2394    htmlParserCtxtPtr ctxt; /* an HTML parser context */
2395    int n_ctxt;
2396
2397    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
2398        mem_base = xmlMemBlocks();
2399        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
2400
2401        htmlParseElement(ctxt);
2402        call_tests++;
2403        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
2404        xmlResetLastError();
2405        if (mem_base != xmlMemBlocks()) {
2406            printf("Leak of %d blocks found in htmlParseElement",
2407	           xmlMemBlocks() - mem_base);
2408	    test_ret++;
2409            printf(" %d", n_ctxt);
2410            printf("\n");
2411        }
2412    }
2413    function_tests++;
2414#endif
2415
2416    return(test_ret);
2417}
2418
2419
2420static int
2421test_htmlParseEntityRef(void) {
2422    int test_ret = 0;
2423
2424#if defined(LIBXML_HTML_ENABLED)
2425    int mem_base;
2426    const htmlEntityDesc * ret_val;
2427    htmlParserCtxtPtr ctxt; /* an HTML parser context */
2428    int n_ctxt;
2429    xmlChar ** str; /* location to store the entity name */
2430    int n_str;
2431
2432    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
2433    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr_ptr;n_str++) {
2434        mem_base = xmlMemBlocks();
2435        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
2436        str = gen_const_xmlChar_ptr_ptr(n_str, 1);
2437
2438        ret_val = htmlParseEntityRef(ctxt, (const xmlChar **)str);
2439        desret_const_htmlEntityDesc_ptr(ret_val);
2440        call_tests++;
2441        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
2442        des_const_xmlChar_ptr_ptr(n_str, (const xmlChar **)str, 1);
2443        xmlResetLastError();
2444        if (mem_base != xmlMemBlocks()) {
2445            printf("Leak of %d blocks found in htmlParseEntityRef",
2446	           xmlMemBlocks() - mem_base);
2447	    test_ret++;
2448            printf(" %d", n_ctxt);
2449            printf(" %d", n_str);
2450            printf("\n");
2451        }
2452    }
2453    }
2454    function_tests++;
2455#endif
2456
2457    return(test_ret);
2458}
2459
2460
2461static int
2462test_htmlParseFile(void) {
2463    int test_ret = 0;
2464
2465#if defined(LIBXML_HTML_ENABLED)
2466    htmlDocPtr ret_val;
2467    const char * filename; /* the filename */
2468    int n_filename;
2469    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
2470    int n_encoding;
2471
2472    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
2473    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2474        filename = gen_filepath(n_filename, 0);
2475        encoding = gen_const_char_ptr(n_encoding, 1);
2476
2477        ret_val = htmlParseFile(filename, (const char *)encoding);
2478        desret_htmlDocPtr(ret_val);
2479        call_tests++;
2480        des_filepath(n_filename, filename, 0);
2481        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
2482        xmlResetLastError();
2483    }
2484    }
2485    function_tests++;
2486#endif
2487
2488    return(test_ret);
2489}
2490
2491
2492static int
2493test_htmlReadDoc(void) {
2494    int test_ret = 0;
2495
2496#if defined(LIBXML_HTML_ENABLED)
2497    int mem_base;
2498    htmlDocPtr ret_val;
2499    xmlChar * cur; /* a pointer to a zero terminated string */
2500    int n_cur;
2501    const char * URL; /* the base URL to use for the document */
2502    int n_URL;
2503    char * encoding; /* the document encoding, or NULL */
2504    int n_encoding;
2505    int options; /* a combination of htmlParserOption(s) */
2506    int n_options;
2507
2508    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
2509    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
2510    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2511    for (n_options = 0;n_options < gen_nb_int;n_options++) {
2512        mem_base = xmlMemBlocks();
2513        cur = gen_const_xmlChar_ptr(n_cur, 0);
2514        URL = gen_filepath(n_URL, 1);
2515        encoding = gen_const_char_ptr(n_encoding, 2);
2516        options = gen_int(n_options, 3);
2517
2518        ret_val = htmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
2519        desret_htmlDocPtr(ret_val);
2520        call_tests++;
2521        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
2522        des_filepath(n_URL, URL, 1);
2523        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
2524        des_int(n_options, options, 3);
2525        xmlResetLastError();
2526        if (mem_base != xmlMemBlocks()) {
2527            printf("Leak of %d blocks found in htmlReadDoc",
2528	           xmlMemBlocks() - mem_base);
2529	    test_ret++;
2530            printf(" %d", n_cur);
2531            printf(" %d", n_URL);
2532            printf(" %d", n_encoding);
2533            printf(" %d", n_options);
2534            printf("\n");
2535        }
2536    }
2537    }
2538    }
2539    }
2540    function_tests++;
2541#endif
2542
2543    return(test_ret);
2544}
2545
2546
2547static int
2548test_htmlReadFile(void) {
2549    int test_ret = 0;
2550
2551#if defined(LIBXML_HTML_ENABLED)
2552    int mem_base;
2553    htmlDocPtr ret_val;
2554    const char * filename; /* a file or URL */
2555    int n_filename;
2556    char * encoding; /* the document encoding, or NULL */
2557    int n_encoding;
2558    int options; /* a combination of htmlParserOption(s) */
2559    int n_options;
2560
2561    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
2562    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2563    for (n_options = 0;n_options < gen_nb_int;n_options++) {
2564        mem_base = xmlMemBlocks();
2565        filename = gen_filepath(n_filename, 0);
2566        encoding = gen_const_char_ptr(n_encoding, 1);
2567        options = gen_int(n_options, 2);
2568
2569        ret_val = htmlReadFile(filename, (const char *)encoding, options);
2570        desret_htmlDocPtr(ret_val);
2571        call_tests++;
2572        des_filepath(n_filename, filename, 0);
2573        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
2574        des_int(n_options, options, 2);
2575        xmlResetLastError();
2576        if (mem_base != xmlMemBlocks()) {
2577            printf("Leak of %d blocks found in htmlReadFile",
2578	           xmlMemBlocks() - mem_base);
2579	    test_ret++;
2580            printf(" %d", n_filename);
2581            printf(" %d", n_encoding);
2582            printf(" %d", n_options);
2583            printf("\n");
2584        }
2585    }
2586    }
2587    }
2588    function_tests++;
2589#endif
2590
2591    return(test_ret);
2592}
2593
2594
2595static int
2596test_htmlReadMemory(void) {
2597    int test_ret = 0;
2598
2599#if defined(LIBXML_HTML_ENABLED)
2600    int mem_base;
2601    htmlDocPtr ret_val;
2602    char * buffer; /* a pointer to a char array */
2603    int n_buffer;
2604    int size; /* the size of the array */
2605    int n_size;
2606    const char * URL; /* the base URL to use for the document */
2607    int n_URL;
2608    char * encoding; /* the document encoding, or NULL */
2609    int n_encoding;
2610    int options; /* a combination of htmlParserOption(s) */
2611    int n_options;
2612
2613    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
2614    for (n_size = 0;n_size < gen_nb_int;n_size++) {
2615    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
2616    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2617    for (n_options = 0;n_options < gen_nb_int;n_options++) {
2618        mem_base = xmlMemBlocks();
2619        buffer = gen_const_char_ptr(n_buffer, 0);
2620        size = gen_int(n_size, 1);
2621        URL = gen_filepath(n_URL, 2);
2622        encoding = gen_const_char_ptr(n_encoding, 3);
2623        options = gen_int(n_options, 4);
2624
2625        ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
2626        desret_htmlDocPtr(ret_val);
2627        call_tests++;
2628        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
2629        des_int(n_size, size, 1);
2630        des_filepath(n_URL, URL, 2);
2631        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
2632        des_int(n_options, options, 4);
2633        xmlResetLastError();
2634        if (mem_base != xmlMemBlocks()) {
2635            printf("Leak of %d blocks found in htmlReadMemory",
2636	           xmlMemBlocks() - mem_base);
2637	    test_ret++;
2638            printf(" %d", n_buffer);
2639            printf(" %d", n_size);
2640            printf(" %d", n_URL);
2641            printf(" %d", n_encoding);
2642            printf(" %d", n_options);
2643            printf("\n");
2644        }
2645    }
2646    }
2647    }
2648    }
2649    }
2650    function_tests++;
2651#endif
2652
2653    return(test_ret);
2654}
2655
2656
2657static int
2658test_htmlSAXParseDoc(void) {
2659    int test_ret = 0;
2660
2661#if defined(LIBXML_HTML_ENABLED)
2662    int mem_base;
2663    htmlDocPtr ret_val;
2664    xmlChar * cur; /* a pointer to an array of xmlChar */
2665    int n_cur;
2666    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
2667    int n_encoding;
2668    htmlSAXHandlerPtr sax; /* the SAX handler block */
2669    int n_sax;
2670    void * userData; /* if using SAX, this pointer will be provided on callbacks. */
2671    int n_userData;
2672
2673    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
2674    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2675    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
2676    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
2677        mem_base = xmlMemBlocks();
2678        cur = gen_xmlChar_ptr(n_cur, 0);
2679        encoding = gen_const_char_ptr(n_encoding, 1);
2680        sax = gen_htmlSAXHandlerPtr(n_sax, 2);
2681        userData = gen_userdata(n_userData, 3);
2682
2683        ret_val = htmlSAXParseDoc(cur, (const char *)encoding, sax, userData);
2684        desret_htmlDocPtr(ret_val);
2685        call_tests++;
2686        des_xmlChar_ptr(n_cur, cur, 0);
2687        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
2688        des_htmlSAXHandlerPtr(n_sax, sax, 2);
2689        des_userdata(n_userData, userData, 3);
2690        xmlResetLastError();
2691        if (mem_base != xmlMemBlocks()) {
2692            printf("Leak of %d blocks found in htmlSAXParseDoc",
2693	           xmlMemBlocks() - mem_base);
2694	    test_ret++;
2695            printf(" %d", n_cur);
2696            printf(" %d", n_encoding);
2697            printf(" %d", n_sax);
2698            printf(" %d", n_userData);
2699            printf("\n");
2700        }
2701    }
2702    }
2703    }
2704    }
2705    function_tests++;
2706#endif
2707
2708    return(test_ret);
2709}
2710
2711
2712static int
2713test_htmlSAXParseFile(void) {
2714    int test_ret = 0;
2715
2716#if defined(LIBXML_HTML_ENABLED)
2717    int mem_base;
2718    htmlDocPtr ret_val;
2719    const char * filename; /* the filename */
2720    int n_filename;
2721    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
2722    int n_encoding;
2723    htmlSAXHandlerPtr sax; /* the SAX handler block */
2724    int n_sax;
2725    void * userData; /* if using SAX, this pointer will be provided on callbacks. */
2726    int n_userData;
2727
2728    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
2729    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2730    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
2731    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
2732        mem_base = xmlMemBlocks();
2733        filename = gen_filepath(n_filename, 0);
2734        encoding = gen_const_char_ptr(n_encoding, 1);
2735        sax = gen_htmlSAXHandlerPtr(n_sax, 2);
2736        userData = gen_userdata(n_userData, 3);
2737
2738        ret_val = htmlSAXParseFile(filename, (const char *)encoding, sax, userData);
2739        desret_htmlDocPtr(ret_val);
2740        call_tests++;
2741        des_filepath(n_filename, filename, 0);
2742        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
2743        des_htmlSAXHandlerPtr(n_sax, sax, 2);
2744        des_userdata(n_userData, userData, 3);
2745        xmlResetLastError();
2746        if (mem_base != xmlMemBlocks()) {
2747            printf("Leak of %d blocks found in htmlSAXParseFile",
2748	           xmlMemBlocks() - mem_base);
2749	    test_ret++;
2750            printf(" %d", n_filename);
2751            printf(" %d", n_encoding);
2752            printf(" %d", n_sax);
2753            printf(" %d", n_userData);
2754            printf("\n");
2755        }
2756    }
2757    }
2758    }
2759    }
2760    function_tests++;
2761#endif
2762
2763    return(test_ret);
2764}
2765
2766
2767static int
2768test_htmlTagLookup(void) {
2769    int test_ret = 0;
2770
2771
2772    /* missing type support */
2773    return(test_ret);
2774}
2775
2776static int
2777test_HTMLparser(void) {
2778    int test_ret = 0;
2779
2780    if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
2781    test_ret += test_UTF8ToHtml();
2782    test_ret += test_htmlAttrAllowed();
2783    test_ret += test_htmlAutoCloseTag();
2784    test_ret += test_htmlCreateMemoryParserCtxt();
2785    test_ret += test_htmlCreatePushParserCtxt();
2786    test_ret += test_htmlCtxtReadDoc();
2787    test_ret += test_htmlCtxtReadFile();
2788    test_ret += test_htmlCtxtReadMemory();
2789    test_ret += test_htmlCtxtReset();
2790    test_ret += test_htmlCtxtUseOptions();
2791    test_ret += test_htmlElementAllowedHere();
2792    test_ret += test_htmlElementStatusHere();
2793    test_ret += test_htmlEncodeEntities();
2794    test_ret += test_htmlEntityLookup();
2795    test_ret += test_htmlEntityValueLookup();
2796    test_ret += test_htmlHandleOmittedElem();
2797    test_ret += test_htmlIsAutoClosed();
2798    test_ret += test_htmlIsScriptAttribute();
2799    test_ret += test_htmlNewParserCtxt();
2800    test_ret += test_htmlNodeStatus();
2801    test_ret += test_htmlParseCharRef();
2802    test_ret += test_htmlParseChunk();
2803    test_ret += test_htmlParseDoc();
2804    test_ret += test_htmlParseDocument();
2805    test_ret += test_htmlParseElement();
2806    test_ret += test_htmlParseEntityRef();
2807    test_ret += test_htmlParseFile();
2808    test_ret += test_htmlReadDoc();
2809    test_ret += test_htmlReadFile();
2810    test_ret += test_htmlReadMemory();
2811    test_ret += test_htmlSAXParseDoc();
2812    test_ret += test_htmlSAXParseFile();
2813    test_ret += test_htmlTagLookup();
2814
2815    if (test_ret != 0)
2816	printf("Module HTMLparser: %d errors\n", test_ret);
2817    return(test_ret);
2818}
2819
2820static int
2821test_htmlDocContentDumpFormatOutput(void) {
2822    int test_ret = 0;
2823
2824#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
2825    int mem_base;
2826    xmlOutputBufferPtr buf; /* the HTML buffer output */
2827    int n_buf;
2828    xmlDocPtr cur; /* the document */
2829    int n_cur;
2830    char * encoding; /* the encoding string */
2831    int n_encoding;
2832    int format; /* should formatting spaces been added */
2833    int n_format;
2834
2835    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
2836    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
2837    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2838    for (n_format = 0;n_format < gen_nb_int;n_format++) {
2839        mem_base = xmlMemBlocks();
2840        buf = gen_xmlOutputBufferPtr(n_buf, 0);
2841        cur = gen_xmlDocPtr(n_cur, 1);
2842        encoding = gen_const_char_ptr(n_encoding, 2);
2843        format = gen_int(n_format, 3);
2844
2845        htmlDocContentDumpFormatOutput(buf, cur, (const char *)encoding, format);
2846        call_tests++;
2847        des_xmlOutputBufferPtr(n_buf, buf, 0);
2848        des_xmlDocPtr(n_cur, cur, 1);
2849        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
2850        des_int(n_format, format, 3);
2851        xmlResetLastError();
2852        if (mem_base != xmlMemBlocks()) {
2853            printf("Leak of %d blocks found in htmlDocContentDumpFormatOutput",
2854	           xmlMemBlocks() - mem_base);
2855	    test_ret++;
2856            printf(" %d", n_buf);
2857            printf(" %d", n_cur);
2858            printf(" %d", n_encoding);
2859            printf(" %d", n_format);
2860            printf("\n");
2861        }
2862    }
2863    }
2864    }
2865    }
2866    function_tests++;
2867#endif
2868
2869    return(test_ret);
2870}
2871
2872
2873static int
2874test_htmlDocContentDumpOutput(void) {
2875    int test_ret = 0;
2876
2877#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
2878    int mem_base;
2879    xmlOutputBufferPtr buf; /* the HTML buffer output */
2880    int n_buf;
2881    xmlDocPtr cur; /* the document */
2882    int n_cur;
2883    char * encoding; /* the encoding string */
2884    int n_encoding;
2885
2886    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
2887    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
2888    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
2889        mem_base = xmlMemBlocks();
2890        buf = gen_xmlOutputBufferPtr(n_buf, 0);
2891        cur = gen_xmlDocPtr(n_cur, 1);
2892        encoding = gen_const_char_ptr(n_encoding, 2);
2893
2894        htmlDocContentDumpOutput(buf, cur, (const char *)encoding);
2895        call_tests++;
2896        des_xmlOutputBufferPtr(n_buf, buf, 0);
2897        des_xmlDocPtr(n_cur, cur, 1);
2898        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
2899        xmlResetLastError();
2900        if (mem_base != xmlMemBlocks()) {
2901            printf("Leak of %d blocks found in htmlDocContentDumpOutput",
2902	           xmlMemBlocks() - mem_base);
2903	    test_ret++;
2904            printf(" %d", n_buf);
2905            printf(" %d", n_cur);
2906            printf(" %d", n_encoding);
2907            printf("\n");
2908        }
2909    }
2910    }
2911    }
2912    function_tests++;
2913#endif
2914
2915    return(test_ret);
2916}
2917
2918
2919static int
2920test_htmlDocDump(void) {
2921    int test_ret = 0;
2922
2923#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
2924    int mem_base;
2925    int ret_val;
2926    FILE * f; /* the FILE* */
2927    int n_f;
2928    xmlDocPtr cur; /* the document */
2929    int n_cur;
2930
2931    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
2932    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
2933        mem_base = xmlMemBlocks();
2934        f = gen_FILE_ptr(n_f, 0);
2935        cur = gen_xmlDocPtr(n_cur, 1);
2936
2937        ret_val = htmlDocDump(f, cur);
2938        desret_int(ret_val);
2939        call_tests++;
2940        des_FILE_ptr(n_f, f, 0);
2941        des_xmlDocPtr(n_cur, cur, 1);
2942        xmlResetLastError();
2943        if (mem_base != xmlMemBlocks()) {
2944            printf("Leak of %d blocks found in htmlDocDump",
2945	           xmlMemBlocks() - mem_base);
2946	    test_ret++;
2947            printf(" %d", n_f);
2948            printf(" %d", n_cur);
2949            printf("\n");
2950        }
2951    }
2952    }
2953    function_tests++;
2954#endif
2955
2956    return(test_ret);
2957}
2958
2959
2960#define gen_nb_xmlChar_ptr_ptr 1
2961static xmlChar ** gen_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
2962    return(NULL);
2963}
2964static void des_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
2965}
2966
2967static int
2968test_htmlDocDumpMemory(void) {
2969    int test_ret = 0;
2970
2971#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
2972    int mem_base;
2973    xmlDocPtr cur; /* the document */
2974    int n_cur;
2975    xmlChar ** mem; /* OUT: the memory pointer */
2976    int n_mem;
2977    int * size; /* OUT: the memory length */
2978    int n_size;
2979
2980    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
2981    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
2982    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
2983        mem_base = xmlMemBlocks();
2984        cur = gen_xmlDocPtr(n_cur, 0);
2985        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
2986        size = gen_int_ptr(n_size, 2);
2987
2988        htmlDocDumpMemory(cur, mem, size);
2989        call_tests++;
2990        des_xmlDocPtr(n_cur, cur, 0);
2991        des_xmlChar_ptr_ptr(n_mem, mem, 1);
2992        des_int_ptr(n_size, size, 2);
2993        xmlResetLastError();
2994        if (mem_base != xmlMemBlocks()) {
2995            printf("Leak of %d blocks found in htmlDocDumpMemory",
2996	           xmlMemBlocks() - mem_base);
2997	    test_ret++;
2998            printf(" %d", n_cur);
2999            printf(" %d", n_mem);
3000            printf(" %d", n_size);
3001            printf("\n");
3002        }
3003    }
3004    }
3005    }
3006    function_tests++;
3007#endif
3008
3009    return(test_ret);
3010}
3011
3012
3013static int
3014test_htmlDocDumpMemoryFormat(void) {
3015    int test_ret = 0;
3016
3017#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3018    int mem_base;
3019    xmlDocPtr cur; /* the document */
3020    int n_cur;
3021    xmlChar ** mem; /* OUT: the memory pointer */
3022    int n_mem;
3023    int * size; /* OUT: the memory length */
3024    int n_size;
3025    int format; /* should formatting spaces been added */
3026    int n_format;
3027
3028    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
3029    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
3030    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
3031    for (n_format = 0;n_format < gen_nb_int;n_format++) {
3032        mem_base = xmlMemBlocks();
3033        cur = gen_xmlDocPtr(n_cur, 0);
3034        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
3035        size = gen_int_ptr(n_size, 2);
3036        format = gen_int(n_format, 3);
3037
3038        htmlDocDumpMemoryFormat(cur, mem, size, format);
3039        call_tests++;
3040        des_xmlDocPtr(n_cur, cur, 0);
3041        des_xmlChar_ptr_ptr(n_mem, mem, 1);
3042        des_int_ptr(n_size, size, 2);
3043        des_int(n_format, format, 3);
3044        xmlResetLastError();
3045        if (mem_base != xmlMemBlocks()) {
3046            printf("Leak of %d blocks found in htmlDocDumpMemoryFormat",
3047	           xmlMemBlocks() - mem_base);
3048	    test_ret++;
3049            printf(" %d", n_cur);
3050            printf(" %d", n_mem);
3051            printf(" %d", n_size);
3052            printf(" %d", n_format);
3053            printf("\n");
3054        }
3055    }
3056    }
3057    }
3058    }
3059    function_tests++;
3060#endif
3061
3062    return(test_ret);
3063}
3064
3065
3066static int
3067test_htmlGetMetaEncoding(void) {
3068    int test_ret = 0;
3069
3070#if defined(LIBXML_HTML_ENABLED)
3071    int mem_base;
3072    const xmlChar * ret_val;
3073    htmlDocPtr doc; /* the document */
3074    int n_doc;
3075
3076    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
3077        mem_base = xmlMemBlocks();
3078        doc = gen_htmlDocPtr(n_doc, 0);
3079
3080        ret_val = htmlGetMetaEncoding(doc);
3081        desret_const_xmlChar_ptr(ret_val);
3082        call_tests++;
3083        des_htmlDocPtr(n_doc, doc, 0);
3084        xmlResetLastError();
3085        if (mem_base != xmlMemBlocks()) {
3086            printf("Leak of %d blocks found in htmlGetMetaEncoding",
3087	           xmlMemBlocks() - mem_base);
3088	    test_ret++;
3089            printf(" %d", n_doc);
3090            printf("\n");
3091        }
3092    }
3093    function_tests++;
3094#endif
3095
3096    return(test_ret);
3097}
3098
3099
3100static int
3101test_htmlIsBooleanAttr(void) {
3102    int test_ret = 0;
3103
3104#if defined(LIBXML_HTML_ENABLED)
3105    int mem_base;
3106    int ret_val;
3107    xmlChar * name; /* the name of the attribute to check */
3108    int n_name;
3109
3110    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
3111        mem_base = xmlMemBlocks();
3112        name = gen_const_xmlChar_ptr(n_name, 0);
3113
3114        ret_val = htmlIsBooleanAttr((const xmlChar *)name);
3115        desret_int(ret_val);
3116        call_tests++;
3117        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
3118        xmlResetLastError();
3119        if (mem_base != xmlMemBlocks()) {
3120            printf("Leak of %d blocks found in htmlIsBooleanAttr",
3121	           xmlMemBlocks() - mem_base);
3122	    test_ret++;
3123            printf(" %d", n_name);
3124            printf("\n");
3125        }
3126    }
3127    function_tests++;
3128#endif
3129
3130    return(test_ret);
3131}
3132
3133
3134static int
3135test_htmlNewDoc(void) {
3136    int test_ret = 0;
3137
3138#if defined(LIBXML_HTML_ENABLED)
3139    int mem_base;
3140    htmlDocPtr ret_val;
3141    xmlChar * URI; /* URI for the dtd, or NULL */
3142    int n_URI;
3143    xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
3144    int n_ExternalID;
3145
3146    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
3147    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
3148        mem_base = xmlMemBlocks();
3149        URI = gen_const_xmlChar_ptr(n_URI, 0);
3150        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
3151
3152        ret_val = htmlNewDoc((const xmlChar *)URI, (const xmlChar *)ExternalID);
3153        desret_htmlDocPtr(ret_val);
3154        call_tests++;
3155        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
3156        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
3157        xmlResetLastError();
3158        if (mem_base != xmlMemBlocks()) {
3159            printf("Leak of %d blocks found in htmlNewDoc",
3160	           xmlMemBlocks() - mem_base);
3161	    test_ret++;
3162            printf(" %d", n_URI);
3163            printf(" %d", n_ExternalID);
3164            printf("\n");
3165        }
3166    }
3167    }
3168    function_tests++;
3169#endif
3170
3171    return(test_ret);
3172}
3173
3174
3175static int
3176test_htmlNewDocNoDtD(void) {
3177    int test_ret = 0;
3178
3179#if defined(LIBXML_HTML_ENABLED)
3180    int mem_base;
3181    htmlDocPtr ret_val;
3182    xmlChar * URI; /* URI for the dtd, or NULL */
3183    int n_URI;
3184    xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
3185    int n_ExternalID;
3186
3187    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
3188    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
3189        mem_base = xmlMemBlocks();
3190        URI = gen_const_xmlChar_ptr(n_URI, 0);
3191        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
3192
3193        ret_val = htmlNewDocNoDtD((const xmlChar *)URI, (const xmlChar *)ExternalID);
3194        desret_htmlDocPtr(ret_val);
3195        call_tests++;
3196        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
3197        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
3198        xmlResetLastError();
3199        if (mem_base != xmlMemBlocks()) {
3200            printf("Leak of %d blocks found in htmlNewDocNoDtD",
3201	           xmlMemBlocks() - mem_base);
3202	    test_ret++;
3203            printf(" %d", n_URI);
3204            printf(" %d", n_ExternalID);
3205            printf("\n");
3206        }
3207    }
3208    }
3209    function_tests++;
3210#endif
3211
3212    return(test_ret);
3213}
3214
3215
3216static int
3217test_htmlNodeDump(void) {
3218    int test_ret = 0;
3219
3220#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3221    int mem_base;
3222    int ret_val;
3223    xmlBufferPtr buf; /* the HTML buffer output */
3224    int n_buf;
3225    xmlDocPtr doc; /* the document */
3226    int n_doc;
3227    xmlNodePtr cur; /* the current node */
3228    int n_cur;
3229
3230    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
3231    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
3232    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
3233        mem_base = xmlMemBlocks();
3234        buf = gen_xmlBufferPtr(n_buf, 0);
3235        doc = gen_xmlDocPtr(n_doc, 1);
3236        cur = gen_xmlNodePtr(n_cur, 2);
3237
3238        ret_val = htmlNodeDump(buf, doc, cur);
3239        desret_int(ret_val);
3240        call_tests++;
3241        des_xmlBufferPtr(n_buf, buf, 0);
3242        des_xmlDocPtr(n_doc, doc, 1);
3243        des_xmlNodePtr(n_cur, cur, 2);
3244        xmlResetLastError();
3245        if (mem_base != xmlMemBlocks()) {
3246            printf("Leak of %d blocks found in htmlNodeDump",
3247	           xmlMemBlocks() - mem_base);
3248	    test_ret++;
3249            printf(" %d", n_buf);
3250            printf(" %d", n_doc);
3251            printf(" %d", n_cur);
3252            printf("\n");
3253        }
3254    }
3255    }
3256    }
3257    function_tests++;
3258#endif
3259
3260    return(test_ret);
3261}
3262
3263
3264static int
3265test_htmlNodeDumpFile(void) {
3266    int test_ret = 0;
3267
3268#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3269    int mem_base;
3270    FILE * out; /* the FILE pointer */
3271    int n_out;
3272    xmlDocPtr doc; /* the document */
3273    int n_doc;
3274    xmlNodePtr cur; /* the current node */
3275    int n_cur;
3276
3277    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
3278    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
3279    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
3280        mem_base = xmlMemBlocks();
3281        out = gen_FILE_ptr(n_out, 0);
3282        doc = gen_xmlDocPtr(n_doc, 1);
3283        cur = gen_xmlNodePtr(n_cur, 2);
3284
3285        htmlNodeDumpFile(out, doc, cur);
3286        call_tests++;
3287        des_FILE_ptr(n_out, out, 0);
3288        des_xmlDocPtr(n_doc, doc, 1);
3289        des_xmlNodePtr(n_cur, cur, 2);
3290        xmlResetLastError();
3291        if (mem_base != xmlMemBlocks()) {
3292            printf("Leak of %d blocks found in htmlNodeDumpFile",
3293	           xmlMemBlocks() - mem_base);
3294	    test_ret++;
3295            printf(" %d", n_out);
3296            printf(" %d", n_doc);
3297            printf(" %d", n_cur);
3298            printf("\n");
3299        }
3300    }
3301    }
3302    }
3303    function_tests++;
3304#endif
3305
3306    return(test_ret);
3307}
3308
3309
3310static int
3311test_htmlNodeDumpFileFormat(void) {
3312    int test_ret = 0;
3313
3314#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3315    int mem_base;
3316    int ret_val;
3317    FILE * out; /* the FILE pointer */
3318    int n_out;
3319    xmlDocPtr doc; /* the document */
3320    int n_doc;
3321    xmlNodePtr cur; /* the current node */
3322    int n_cur;
3323    char * encoding; /* the document encoding */
3324    int n_encoding;
3325    int format; /* should formatting spaces been added */
3326    int n_format;
3327
3328    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
3329    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
3330    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
3331    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
3332    for (n_format = 0;n_format < gen_nb_int;n_format++) {
3333        mem_base = xmlMemBlocks();
3334        out = gen_FILE_ptr(n_out, 0);
3335        doc = gen_xmlDocPtr(n_doc, 1);
3336        cur = gen_xmlNodePtr(n_cur, 2);
3337        encoding = gen_const_char_ptr(n_encoding, 3);
3338        format = gen_int(n_format, 4);
3339
3340        ret_val = htmlNodeDumpFileFormat(out, doc, cur, (const char *)encoding, format);
3341        desret_int(ret_val);
3342        call_tests++;
3343        des_FILE_ptr(n_out, out, 0);
3344        des_xmlDocPtr(n_doc, doc, 1);
3345        des_xmlNodePtr(n_cur, cur, 2);
3346        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
3347        des_int(n_format, format, 4);
3348        xmlResetLastError();
3349        if (mem_base != xmlMemBlocks()) {
3350            printf("Leak of %d blocks found in htmlNodeDumpFileFormat",
3351	           xmlMemBlocks() - mem_base);
3352	    test_ret++;
3353            printf(" %d", n_out);
3354            printf(" %d", n_doc);
3355            printf(" %d", n_cur);
3356            printf(" %d", n_encoding);
3357            printf(" %d", n_format);
3358            printf("\n");
3359        }
3360    }
3361    }
3362    }
3363    }
3364    }
3365    function_tests++;
3366#endif
3367
3368    return(test_ret);
3369}
3370
3371
3372static int
3373test_htmlNodeDumpFormatOutput(void) {
3374    int test_ret = 0;
3375
3376#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3377    int mem_base;
3378    xmlOutputBufferPtr buf; /* the HTML buffer output */
3379    int n_buf;
3380    xmlDocPtr doc; /* the document */
3381    int n_doc;
3382    xmlNodePtr cur; /* the current node */
3383    int n_cur;
3384    char * encoding; /* the encoding string */
3385    int n_encoding;
3386    int format; /* should formatting spaces been added */
3387    int n_format;
3388
3389    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
3390    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
3391    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
3392    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
3393    for (n_format = 0;n_format < gen_nb_int;n_format++) {
3394        mem_base = xmlMemBlocks();
3395        buf = gen_xmlOutputBufferPtr(n_buf, 0);
3396        doc = gen_xmlDocPtr(n_doc, 1);
3397        cur = gen_xmlNodePtr(n_cur, 2);
3398        encoding = gen_const_char_ptr(n_encoding, 3);
3399        format = gen_int(n_format, 4);
3400
3401        htmlNodeDumpFormatOutput(buf, doc, cur, (const char *)encoding, format);
3402        call_tests++;
3403        des_xmlOutputBufferPtr(n_buf, buf, 0);
3404        des_xmlDocPtr(n_doc, doc, 1);
3405        des_xmlNodePtr(n_cur, cur, 2);
3406        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
3407        des_int(n_format, format, 4);
3408        xmlResetLastError();
3409        if (mem_base != xmlMemBlocks()) {
3410            printf("Leak of %d blocks found in htmlNodeDumpFormatOutput",
3411	           xmlMemBlocks() - mem_base);
3412	    test_ret++;
3413            printf(" %d", n_buf);
3414            printf(" %d", n_doc);
3415            printf(" %d", n_cur);
3416            printf(" %d", n_encoding);
3417            printf(" %d", n_format);
3418            printf("\n");
3419        }
3420    }
3421    }
3422    }
3423    }
3424    }
3425    function_tests++;
3426#endif
3427
3428    return(test_ret);
3429}
3430
3431
3432static int
3433test_htmlNodeDumpOutput(void) {
3434    int test_ret = 0;
3435
3436#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3437    int mem_base;
3438    xmlOutputBufferPtr buf; /* the HTML buffer output */
3439    int n_buf;
3440    xmlDocPtr doc; /* the document */
3441    int n_doc;
3442    xmlNodePtr cur; /* the current node */
3443    int n_cur;
3444    char * encoding; /* the encoding string */
3445    int n_encoding;
3446
3447    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
3448    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
3449    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
3450    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
3451        mem_base = xmlMemBlocks();
3452        buf = gen_xmlOutputBufferPtr(n_buf, 0);
3453        doc = gen_xmlDocPtr(n_doc, 1);
3454        cur = gen_xmlNodePtr(n_cur, 2);
3455        encoding = gen_const_char_ptr(n_encoding, 3);
3456
3457        htmlNodeDumpOutput(buf, doc, cur, (const char *)encoding);
3458        call_tests++;
3459        des_xmlOutputBufferPtr(n_buf, buf, 0);
3460        des_xmlDocPtr(n_doc, doc, 1);
3461        des_xmlNodePtr(n_cur, cur, 2);
3462        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
3463        xmlResetLastError();
3464        if (mem_base != xmlMemBlocks()) {
3465            printf("Leak of %d blocks found in htmlNodeDumpOutput",
3466	           xmlMemBlocks() - mem_base);
3467	    test_ret++;
3468            printf(" %d", n_buf);
3469            printf(" %d", n_doc);
3470            printf(" %d", n_cur);
3471            printf(" %d", n_encoding);
3472            printf("\n");
3473        }
3474    }
3475    }
3476    }
3477    }
3478    function_tests++;
3479#endif
3480
3481    return(test_ret);
3482}
3483
3484
3485static int
3486test_htmlSaveFile(void) {
3487    int test_ret = 0;
3488
3489#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3490    int mem_base;
3491    int ret_val;
3492    const char * filename; /* the filename (or URL) */
3493    int n_filename;
3494    xmlDocPtr cur; /* the document */
3495    int n_cur;
3496
3497    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
3498    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
3499        mem_base = xmlMemBlocks();
3500        filename = gen_fileoutput(n_filename, 0);
3501        cur = gen_xmlDocPtr(n_cur, 1);
3502
3503        ret_val = htmlSaveFile(filename, cur);
3504        desret_int(ret_val);
3505        call_tests++;
3506        des_fileoutput(n_filename, filename, 0);
3507        des_xmlDocPtr(n_cur, cur, 1);
3508        xmlResetLastError();
3509        if (mem_base != xmlMemBlocks()) {
3510            printf("Leak of %d blocks found in htmlSaveFile",
3511	           xmlMemBlocks() - mem_base);
3512	    test_ret++;
3513            printf(" %d", n_filename);
3514            printf(" %d", n_cur);
3515            printf("\n");
3516        }
3517    }
3518    }
3519    function_tests++;
3520#endif
3521
3522    return(test_ret);
3523}
3524
3525
3526static int
3527test_htmlSaveFileEnc(void) {
3528    int test_ret = 0;
3529
3530#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3531    int mem_base;
3532    int ret_val;
3533    const char * filename; /* the filename */
3534    int n_filename;
3535    xmlDocPtr cur; /* the document */
3536    int n_cur;
3537    char * encoding; /* the document encoding */
3538    int n_encoding;
3539
3540    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
3541    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
3542    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
3543        mem_base = xmlMemBlocks();
3544        filename = gen_fileoutput(n_filename, 0);
3545        cur = gen_xmlDocPtr(n_cur, 1);
3546        encoding = gen_const_char_ptr(n_encoding, 2);
3547
3548        ret_val = htmlSaveFileEnc(filename, cur, (const char *)encoding);
3549        desret_int(ret_val);
3550        call_tests++;
3551        des_fileoutput(n_filename, filename, 0);
3552        des_xmlDocPtr(n_cur, cur, 1);
3553        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
3554        xmlResetLastError();
3555        if (mem_base != xmlMemBlocks()) {
3556            printf("Leak of %d blocks found in htmlSaveFileEnc",
3557	           xmlMemBlocks() - mem_base);
3558	    test_ret++;
3559            printf(" %d", n_filename);
3560            printf(" %d", n_cur);
3561            printf(" %d", n_encoding);
3562            printf("\n");
3563        }
3564    }
3565    }
3566    }
3567    function_tests++;
3568#endif
3569
3570    return(test_ret);
3571}
3572
3573
3574static int
3575test_htmlSaveFileFormat(void) {
3576    int test_ret = 0;
3577
3578#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
3579    int mem_base;
3580    int ret_val;
3581    const char * filename; /* the filename */
3582    int n_filename;
3583    xmlDocPtr cur; /* the document */
3584    int n_cur;
3585    char * encoding; /* the document encoding */
3586    int n_encoding;
3587    int format; /* should formatting spaces been added */
3588    int n_format;
3589
3590    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
3591    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
3592    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
3593    for (n_format = 0;n_format < gen_nb_int;n_format++) {
3594        mem_base = xmlMemBlocks();
3595        filename = gen_fileoutput(n_filename, 0);
3596        cur = gen_xmlDocPtr(n_cur, 1);
3597        encoding = gen_const_char_ptr(n_encoding, 2);
3598        format = gen_int(n_format, 3);
3599
3600        ret_val = htmlSaveFileFormat(filename, cur, (const char *)encoding, format);
3601        desret_int(ret_val);
3602        call_tests++;
3603        des_fileoutput(n_filename, filename, 0);
3604        des_xmlDocPtr(n_cur, cur, 1);
3605        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
3606        des_int(n_format, format, 3);
3607        xmlResetLastError();
3608        if (mem_base != xmlMemBlocks()) {
3609            printf("Leak of %d blocks found in htmlSaveFileFormat",
3610	           xmlMemBlocks() - mem_base);
3611	    test_ret++;
3612            printf(" %d", n_filename);
3613            printf(" %d", n_cur);
3614            printf(" %d", n_encoding);
3615            printf(" %d", n_format);
3616            printf("\n");
3617        }
3618    }
3619    }
3620    }
3621    }
3622    function_tests++;
3623#endif
3624
3625    return(test_ret);
3626}
3627
3628
3629static int
3630test_htmlSetMetaEncoding(void) {
3631    int test_ret = 0;
3632
3633#if defined(LIBXML_HTML_ENABLED)
3634    int mem_base;
3635    int ret_val;
3636    htmlDocPtr doc; /* the document */
3637    int n_doc;
3638    xmlChar * encoding; /* the encoding string */
3639    int n_encoding;
3640
3641    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
3642    for (n_encoding = 0;n_encoding < gen_nb_const_xmlChar_ptr;n_encoding++) {
3643        mem_base = xmlMemBlocks();
3644        doc = gen_htmlDocPtr(n_doc, 0);
3645        encoding = gen_const_xmlChar_ptr(n_encoding, 1);
3646
3647        ret_val = htmlSetMetaEncoding(doc, (const xmlChar *)encoding);
3648        desret_int(ret_val);
3649        call_tests++;
3650        des_htmlDocPtr(n_doc, doc, 0);
3651        des_const_xmlChar_ptr(n_encoding, (const xmlChar *)encoding, 1);
3652        xmlResetLastError();
3653        if (mem_base != xmlMemBlocks()) {
3654            printf("Leak of %d blocks found in htmlSetMetaEncoding",
3655	           xmlMemBlocks() - mem_base);
3656	    test_ret++;
3657            printf(" %d", n_doc);
3658            printf(" %d", n_encoding);
3659            printf("\n");
3660        }
3661    }
3662    }
3663    function_tests++;
3664#endif
3665
3666    return(test_ret);
3667}
3668
3669static int
3670test_HTMLtree(void) {
3671    int test_ret = 0;
3672
3673    if (quiet == 0) printf("Testing HTMLtree : 18 of 18 functions ...\n");
3674    test_ret += test_htmlDocContentDumpFormatOutput();
3675    test_ret += test_htmlDocContentDumpOutput();
3676    test_ret += test_htmlDocDump();
3677    test_ret += test_htmlDocDumpMemory();
3678    test_ret += test_htmlDocDumpMemoryFormat();
3679    test_ret += test_htmlGetMetaEncoding();
3680    test_ret += test_htmlIsBooleanAttr();
3681    test_ret += test_htmlNewDoc();
3682    test_ret += test_htmlNewDocNoDtD();
3683    test_ret += test_htmlNodeDump();
3684    test_ret += test_htmlNodeDumpFile();
3685    test_ret += test_htmlNodeDumpFileFormat();
3686    test_ret += test_htmlNodeDumpFormatOutput();
3687    test_ret += test_htmlNodeDumpOutput();
3688    test_ret += test_htmlSaveFile();
3689    test_ret += test_htmlSaveFileEnc();
3690    test_ret += test_htmlSaveFileFormat();
3691    test_ret += test_htmlSetMetaEncoding();
3692
3693    if (test_ret != 0)
3694	printf("Module HTMLtree: %d errors\n", test_ret);
3695    return(test_ret);
3696}
3697
3698static int
3699test_docbDefaultSAXHandlerInit(void) {
3700    int test_ret = 0;
3701
3702#if defined(LIBXML_DOCB_ENABLED)
3703#ifdef LIBXML_DOCB_ENABLED
3704    int mem_base;
3705
3706        mem_base = xmlMemBlocks();
3707
3708        docbDefaultSAXHandlerInit();
3709        call_tests++;
3710        xmlResetLastError();
3711        if (mem_base != xmlMemBlocks()) {
3712            printf("Leak of %d blocks found in docbDefaultSAXHandlerInit",
3713	           xmlMemBlocks() - mem_base);
3714	    test_ret++;
3715            printf("\n");
3716        }
3717    function_tests++;
3718#endif
3719#endif
3720
3721    return(test_ret);
3722}
3723
3724
3725static int
3726test_htmlDefaultSAXHandlerInit(void) {
3727    int test_ret = 0;
3728
3729#if defined(LIBXML_HTML_ENABLED)
3730#ifdef LIBXML_HTML_ENABLED
3731    int mem_base;
3732
3733        mem_base = xmlMemBlocks();
3734
3735        htmlDefaultSAXHandlerInit();
3736        call_tests++;
3737        xmlResetLastError();
3738        if (mem_base != xmlMemBlocks()) {
3739            printf("Leak of %d blocks found in htmlDefaultSAXHandlerInit",
3740	           xmlMemBlocks() - mem_base);
3741	    test_ret++;
3742            printf("\n");
3743        }
3744    function_tests++;
3745#endif
3746#endif
3747
3748    return(test_ret);
3749}
3750
3751
3752static int
3753test_xmlDefaultSAXHandlerInit(void) {
3754    int test_ret = 0;
3755
3756    int mem_base;
3757
3758        mem_base = xmlMemBlocks();
3759
3760        xmlDefaultSAXHandlerInit();
3761        call_tests++;
3762        xmlResetLastError();
3763        if (mem_base != xmlMemBlocks()) {
3764            printf("Leak of %d blocks found in xmlDefaultSAXHandlerInit",
3765	           xmlMemBlocks() - mem_base);
3766	    test_ret++;
3767            printf("\n");
3768        }
3769    function_tests++;
3770
3771    return(test_ret);
3772}
3773
3774
3775#define gen_nb_xmlEnumerationPtr 1
3776static xmlEnumerationPtr gen_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
3777    return(NULL);
3778}
3779static void des_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, xmlEnumerationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
3780}
3781
3782static int
3783test_xmlSAX2AttributeDecl(void) {
3784    int test_ret = 0;
3785
3786    int mem_base;
3787    void * ctx; /* the user data (XML parser context) */
3788    int n_ctx;
3789    xmlChar * elem; /* the name of the element */
3790    int n_elem;
3791    xmlChar * fullname; /* the attribute name */
3792    int n_fullname;
3793    int type; /* the attribute type */
3794    int n_type;
3795    int def; /* the type of default value */
3796    int n_def;
3797    xmlChar * defaultValue; /* the attribute default value */
3798    int n_defaultValue;
3799    xmlEnumerationPtr tree; /* the tree of enumerated value set */
3800    int n_tree;
3801
3802    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
3803    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
3804    for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
3805    for (n_type = 0;n_type < gen_nb_int;n_type++) {
3806    for (n_def = 0;n_def < gen_nb_int;n_def++) {
3807    for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
3808    for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
3809        mem_base = xmlMemBlocks();
3810        ctx = gen_void_ptr(n_ctx, 0);
3811        elem = gen_const_xmlChar_ptr(n_elem, 1);
3812        fullname = gen_const_xmlChar_ptr(n_fullname, 2);
3813        type = gen_int(n_type, 3);
3814        def = gen_int(n_def, 4);
3815        defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 5);
3816        tree = gen_xmlEnumerationPtr(n_tree, 6);
3817
3818        xmlSAX2AttributeDecl(ctx, (const xmlChar *)elem, (const xmlChar *)fullname, type, def, (const xmlChar *)defaultValue, tree);
3819        call_tests++;
3820        des_void_ptr(n_ctx, ctx, 0);
3821        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
3822        des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 2);
3823        des_int(n_type, type, 3);
3824        des_int(n_def, def, 4);
3825        des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 5);
3826        des_xmlEnumerationPtr(n_tree, tree, 6);
3827        xmlResetLastError();
3828        if (mem_base != xmlMemBlocks()) {
3829            printf("Leak of %d blocks found in xmlSAX2AttributeDecl",
3830	           xmlMemBlocks() - mem_base);
3831	    test_ret++;
3832            printf(" %d", n_ctx);
3833            printf(" %d", n_elem);
3834            printf(" %d", n_fullname);
3835            printf(" %d", n_type);
3836            printf(" %d", n_def);
3837            printf(" %d", n_defaultValue);
3838            printf(" %d", n_tree);
3839            printf("\n");
3840        }
3841    }
3842    }
3843    }
3844    }
3845    }
3846    }
3847    }
3848    function_tests++;
3849
3850    return(test_ret);
3851}
3852
3853
3854static int
3855test_xmlSAX2CDataBlock(void) {
3856    int test_ret = 0;
3857
3858    int mem_base;
3859    void * ctx; /* the user data (XML parser context) */
3860    int n_ctx;
3861    xmlChar * value; /* The pcdata content */
3862    int n_value;
3863    int len; /* the block length */
3864    int n_len;
3865
3866    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
3867    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
3868    for (n_len = 0;n_len < gen_nb_int;n_len++) {
3869        mem_base = xmlMemBlocks();
3870        ctx = gen_void_ptr(n_ctx, 0);
3871        value = gen_const_xmlChar_ptr(n_value, 1);
3872        len = gen_int(n_len, 2);
3873
3874        xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
3875        call_tests++;
3876        des_void_ptr(n_ctx, ctx, 0);
3877        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
3878        des_int(n_len, len, 2);
3879        xmlResetLastError();
3880        if (mem_base != xmlMemBlocks()) {
3881            printf("Leak of %d blocks found in xmlSAX2CDataBlock",
3882	           xmlMemBlocks() - mem_base);
3883	    test_ret++;
3884            printf(" %d", n_ctx);
3885            printf(" %d", n_value);
3886            printf(" %d", n_len);
3887            printf("\n");
3888        }
3889    }
3890    }
3891    }
3892    function_tests++;
3893
3894    return(test_ret);
3895}
3896
3897
3898static int
3899test_xmlSAX2Characters(void) {
3900    int test_ret = 0;
3901
3902    int mem_base;
3903    void * ctx; /* the user data (XML parser context) */
3904    int n_ctx;
3905    xmlChar * ch; /* a xmlChar string */
3906    int n_ch;
3907    int len; /* the number of xmlChar */
3908    int n_len;
3909
3910    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
3911    for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
3912    for (n_len = 0;n_len < gen_nb_int;n_len++) {
3913        mem_base = xmlMemBlocks();
3914        ctx = gen_void_ptr(n_ctx, 0);
3915        ch = gen_const_xmlChar_ptr(n_ch, 1);
3916        len = gen_int(n_len, 2);
3917
3918        xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
3919        call_tests++;
3920        des_void_ptr(n_ctx, ctx, 0);
3921        des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
3922        des_int(n_len, len, 2);
3923        xmlResetLastError();
3924        if (mem_base != xmlMemBlocks()) {
3925            printf("Leak of %d blocks found in xmlSAX2Characters",
3926	           xmlMemBlocks() - mem_base);
3927	    test_ret++;
3928            printf(" %d", n_ctx);
3929            printf(" %d", n_ch);
3930            printf(" %d", n_len);
3931            printf("\n");
3932        }
3933    }
3934    }
3935    }
3936    function_tests++;
3937
3938    return(test_ret);
3939}
3940
3941
3942static int
3943test_xmlSAX2Comment(void) {
3944    int test_ret = 0;
3945
3946    int mem_base;
3947    void * ctx; /* the user data (XML parser context) */
3948    int n_ctx;
3949    xmlChar * value; /* the xmlSAX2Comment content */
3950    int n_value;
3951
3952    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
3953    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
3954        mem_base = xmlMemBlocks();
3955        ctx = gen_void_ptr(n_ctx, 0);
3956        value = gen_const_xmlChar_ptr(n_value, 1);
3957
3958        xmlSAX2Comment(ctx, (const xmlChar *)value);
3959        call_tests++;
3960        des_void_ptr(n_ctx, ctx, 0);
3961        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
3962        xmlResetLastError();
3963        if (mem_base != xmlMemBlocks()) {
3964            printf("Leak of %d blocks found in xmlSAX2Comment",
3965	           xmlMemBlocks() - mem_base);
3966	    test_ret++;
3967            printf(" %d", n_ctx);
3968            printf(" %d", n_value);
3969            printf("\n");
3970        }
3971    }
3972    }
3973    function_tests++;
3974
3975    return(test_ret);
3976}
3977
3978
3979static int
3980test_xmlSAX2ElementDecl(void) {
3981    int test_ret = 0;
3982
3983    int mem_base;
3984    void * ctx; /* the user data (XML parser context) */
3985    int n_ctx;
3986    xmlChar * name; /* the element name */
3987    int n_name;
3988    int type; /* the element type */
3989    int n_type;
3990    xmlElementContentPtr content; /* the element value tree */
3991    int n_content;
3992
3993    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
3994    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
3995    for (n_type = 0;n_type < gen_nb_int;n_type++) {
3996    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
3997        mem_base = xmlMemBlocks();
3998        ctx = gen_void_ptr(n_ctx, 0);
3999        name = gen_const_xmlChar_ptr(n_name, 1);
4000        type = gen_int(n_type, 2);
4001        content = gen_xmlElementContentPtr(n_content, 3);
4002
4003        xmlSAX2ElementDecl(ctx, (const xmlChar *)name, type, content);
4004        call_tests++;
4005        des_void_ptr(n_ctx, ctx, 0);
4006        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4007        des_int(n_type, type, 2);
4008        des_xmlElementContentPtr(n_content, content, 3);
4009        xmlResetLastError();
4010        if (mem_base != xmlMemBlocks()) {
4011            printf("Leak of %d blocks found in xmlSAX2ElementDecl",
4012	           xmlMemBlocks() - mem_base);
4013	    test_ret++;
4014            printf(" %d", n_ctx);
4015            printf(" %d", n_name);
4016            printf(" %d", n_type);
4017            printf(" %d", n_content);
4018            printf("\n");
4019        }
4020    }
4021    }
4022    }
4023    }
4024    function_tests++;
4025
4026    return(test_ret);
4027}
4028
4029
4030static int
4031test_xmlSAX2EndDocument(void) {
4032    int test_ret = 0;
4033
4034    int mem_base;
4035    void * ctx; /* the user data (XML parser context) */
4036    int n_ctx;
4037
4038    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4039        mem_base = xmlMemBlocks();
4040        ctx = gen_void_ptr(n_ctx, 0);
4041
4042        xmlSAX2EndDocument(ctx);
4043        call_tests++;
4044        des_void_ptr(n_ctx, ctx, 0);
4045        xmlResetLastError();
4046        if (mem_base != xmlMemBlocks()) {
4047            printf("Leak of %d blocks found in xmlSAX2EndDocument",
4048	           xmlMemBlocks() - mem_base);
4049	    test_ret++;
4050            printf(" %d", n_ctx);
4051            printf("\n");
4052        }
4053    }
4054    function_tests++;
4055
4056    return(test_ret);
4057}
4058
4059
4060static int
4061test_xmlSAX2EndElement(void) {
4062    int test_ret = 0;
4063
4064#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
4065#ifdef LIBXML_SAX1_ENABLED
4066    int mem_base;
4067    void * ctx; /* the user data (XML parser context) */
4068    int n_ctx;
4069    xmlChar * name; /* The element name */
4070    int n_name;
4071
4072    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4073    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4074        mem_base = xmlMemBlocks();
4075        ctx = gen_void_ptr(n_ctx, 0);
4076        name = gen_const_xmlChar_ptr(n_name, 1);
4077
4078        xmlSAX2EndElement(ctx, (const xmlChar *)name);
4079        call_tests++;
4080        des_void_ptr(n_ctx, ctx, 0);
4081        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4082        xmlResetLastError();
4083        if (mem_base != xmlMemBlocks()) {
4084            printf("Leak of %d blocks found in xmlSAX2EndElement",
4085	           xmlMemBlocks() - mem_base);
4086	    test_ret++;
4087            printf(" %d", n_ctx);
4088            printf(" %d", n_name);
4089            printf("\n");
4090        }
4091    }
4092    }
4093    function_tests++;
4094#endif
4095#endif
4096
4097    return(test_ret);
4098}
4099
4100
4101static int
4102test_xmlSAX2EndElementNs(void) {
4103    int test_ret = 0;
4104
4105    int mem_base;
4106    void * ctx; /* the user data (XML parser context) */
4107    int n_ctx;
4108    xmlChar * localname; /* the local name of the element */
4109    int n_localname;
4110    xmlChar * prefix; /* the element namespace prefix if available */
4111    int n_prefix;
4112    xmlChar * URI; /* the element namespace name if available */
4113    int n_URI;
4114
4115    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4116    for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
4117    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
4118    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
4119        mem_base = xmlMemBlocks();
4120        ctx = gen_void_ptr(n_ctx, 0);
4121        localname = gen_const_xmlChar_ptr(n_localname, 1);
4122        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
4123        URI = gen_const_xmlChar_ptr(n_URI, 3);
4124
4125        xmlSAX2EndElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI);
4126        call_tests++;
4127        des_void_ptr(n_ctx, ctx, 0);
4128        des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
4129        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
4130        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
4131        xmlResetLastError();
4132        if (mem_base != xmlMemBlocks()) {
4133            printf("Leak of %d blocks found in xmlSAX2EndElementNs",
4134	           xmlMemBlocks() - mem_base);
4135	    test_ret++;
4136            printf(" %d", n_ctx);
4137            printf(" %d", n_localname);
4138            printf(" %d", n_prefix);
4139            printf(" %d", n_URI);
4140            printf("\n");
4141        }
4142    }
4143    }
4144    }
4145    }
4146    function_tests++;
4147
4148    return(test_ret);
4149}
4150
4151
4152static int
4153test_xmlSAX2EntityDecl(void) {
4154    int test_ret = 0;
4155
4156    int mem_base;
4157    void * ctx; /* the user data (XML parser context) */
4158    int n_ctx;
4159    xmlChar * name; /* the entity name */
4160    int n_name;
4161    int type; /* the entity type */
4162    int n_type;
4163    xmlChar * publicId; /* The public ID of the entity */
4164    int n_publicId;
4165    xmlChar * systemId; /* The system ID of the entity */
4166    int n_systemId;
4167    xmlChar * content; /* the entity value (without processing). */
4168    int n_content;
4169
4170    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4171    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4172    for (n_type = 0;n_type < gen_nb_int;n_type++) {
4173    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
4174    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
4175    for (n_content = 0;n_content < gen_nb_xmlChar_ptr;n_content++) {
4176        mem_base = xmlMemBlocks();
4177        ctx = gen_void_ptr(n_ctx, 0);
4178        name = gen_const_xmlChar_ptr(n_name, 1);
4179        type = gen_int(n_type, 2);
4180        publicId = gen_const_xmlChar_ptr(n_publicId, 3);
4181        systemId = gen_const_xmlChar_ptr(n_systemId, 4);
4182        content = gen_xmlChar_ptr(n_content, 5);
4183
4184        xmlSAX2EntityDecl(ctx, (const xmlChar *)name, type, (const xmlChar *)publicId, (const xmlChar *)systemId, content);
4185        call_tests++;
4186        des_void_ptr(n_ctx, ctx, 0);
4187        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4188        des_int(n_type, type, 2);
4189        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 3);
4190        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 4);
4191        des_xmlChar_ptr(n_content, content, 5);
4192        xmlResetLastError();
4193        if (mem_base != xmlMemBlocks()) {
4194            printf("Leak of %d blocks found in xmlSAX2EntityDecl",
4195	           xmlMemBlocks() - mem_base);
4196	    test_ret++;
4197            printf(" %d", n_ctx);
4198            printf(" %d", n_name);
4199            printf(" %d", n_type);
4200            printf(" %d", n_publicId);
4201            printf(" %d", n_systemId);
4202            printf(" %d", n_content);
4203            printf("\n");
4204        }
4205    }
4206    }
4207    }
4208    }
4209    }
4210    }
4211    function_tests++;
4212
4213    return(test_ret);
4214}
4215
4216
4217static int
4218test_xmlSAX2ExternalSubset(void) {
4219    int test_ret = 0;
4220
4221    int mem_base;
4222    void * ctx; /* the user data (XML parser context) */
4223    int n_ctx;
4224    xmlChar * name; /* the root element name */
4225    int n_name;
4226    xmlChar * ExternalID; /* the external ID */
4227    int n_ExternalID;
4228    xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
4229    int n_SystemID;
4230
4231    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4232    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4233    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
4234    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
4235        mem_base = xmlMemBlocks();
4236        ctx = gen_void_ptr(n_ctx, 0);
4237        name = gen_const_xmlChar_ptr(n_name, 1);
4238        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
4239        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
4240
4241        xmlSAX2ExternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
4242        call_tests++;
4243        des_void_ptr(n_ctx, ctx, 0);
4244        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4245        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
4246        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
4247        xmlResetLastError();
4248        if (mem_base != xmlMemBlocks()) {
4249            printf("Leak of %d blocks found in xmlSAX2ExternalSubset",
4250	           xmlMemBlocks() - mem_base);
4251	    test_ret++;
4252            printf(" %d", n_ctx);
4253            printf(" %d", n_name);
4254            printf(" %d", n_ExternalID);
4255            printf(" %d", n_SystemID);
4256            printf("\n");
4257        }
4258    }
4259    }
4260    }
4261    }
4262    function_tests++;
4263
4264    return(test_ret);
4265}
4266
4267
4268static int
4269test_xmlSAX2GetColumnNumber(void) {
4270    int test_ret = 0;
4271
4272    int mem_base;
4273    int ret_val;
4274    void * ctx; /* the user data (XML parser context) */
4275    int n_ctx;
4276
4277    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4278        mem_base = xmlMemBlocks();
4279        ctx = gen_void_ptr(n_ctx, 0);
4280
4281        ret_val = xmlSAX2GetColumnNumber(ctx);
4282        desret_int(ret_val);
4283        call_tests++;
4284        des_void_ptr(n_ctx, ctx, 0);
4285        xmlResetLastError();
4286        if (mem_base != xmlMemBlocks()) {
4287            printf("Leak of %d blocks found in xmlSAX2GetColumnNumber",
4288	           xmlMemBlocks() - mem_base);
4289	    test_ret++;
4290            printf(" %d", n_ctx);
4291            printf("\n");
4292        }
4293    }
4294    function_tests++;
4295
4296    return(test_ret);
4297}
4298
4299
4300static int
4301test_xmlSAX2GetEntity(void) {
4302    int test_ret = 0;
4303
4304    int mem_base;
4305    xmlEntityPtr ret_val;
4306    void * ctx; /* the user data (XML parser context) */
4307    int n_ctx;
4308    xmlChar * name; /* The entity name */
4309    int n_name;
4310
4311    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4312    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4313        mem_base = xmlMemBlocks();
4314        ctx = gen_void_ptr(n_ctx, 0);
4315        name = gen_const_xmlChar_ptr(n_name, 1);
4316
4317        ret_val = xmlSAX2GetEntity(ctx, (const xmlChar *)name);
4318        desret_xmlEntityPtr(ret_val);
4319        call_tests++;
4320        des_void_ptr(n_ctx, ctx, 0);
4321        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4322        xmlResetLastError();
4323        if (mem_base != xmlMemBlocks()) {
4324            printf("Leak of %d blocks found in xmlSAX2GetEntity",
4325	           xmlMemBlocks() - mem_base);
4326	    test_ret++;
4327            printf(" %d", n_ctx);
4328            printf(" %d", n_name);
4329            printf("\n");
4330        }
4331    }
4332    }
4333    function_tests++;
4334
4335    return(test_ret);
4336}
4337
4338
4339static int
4340test_xmlSAX2GetLineNumber(void) {
4341    int test_ret = 0;
4342
4343    int mem_base;
4344    int ret_val;
4345    void * ctx; /* the user data (XML parser context) */
4346    int n_ctx;
4347
4348    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4349        mem_base = xmlMemBlocks();
4350        ctx = gen_void_ptr(n_ctx, 0);
4351
4352        ret_val = xmlSAX2GetLineNumber(ctx);
4353        desret_int(ret_val);
4354        call_tests++;
4355        des_void_ptr(n_ctx, ctx, 0);
4356        xmlResetLastError();
4357        if (mem_base != xmlMemBlocks()) {
4358            printf("Leak of %d blocks found in xmlSAX2GetLineNumber",
4359	           xmlMemBlocks() - mem_base);
4360	    test_ret++;
4361            printf(" %d", n_ctx);
4362            printf("\n");
4363        }
4364    }
4365    function_tests++;
4366
4367    return(test_ret);
4368}
4369
4370
4371static int
4372test_xmlSAX2GetParameterEntity(void) {
4373    int test_ret = 0;
4374
4375    int mem_base;
4376    xmlEntityPtr ret_val;
4377    void * ctx; /* the user data (XML parser context) */
4378    int n_ctx;
4379    xmlChar * name; /* The entity name */
4380    int n_name;
4381
4382    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4383    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4384        mem_base = xmlMemBlocks();
4385        ctx = gen_void_ptr(n_ctx, 0);
4386        name = gen_const_xmlChar_ptr(n_name, 1);
4387
4388        ret_val = xmlSAX2GetParameterEntity(ctx, (const xmlChar *)name);
4389        desret_xmlEntityPtr(ret_val);
4390        call_tests++;
4391        des_void_ptr(n_ctx, ctx, 0);
4392        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4393        xmlResetLastError();
4394        if (mem_base != xmlMemBlocks()) {
4395            printf("Leak of %d blocks found in xmlSAX2GetParameterEntity",
4396	           xmlMemBlocks() - mem_base);
4397	    test_ret++;
4398            printf(" %d", n_ctx);
4399            printf(" %d", n_name);
4400            printf("\n");
4401        }
4402    }
4403    }
4404    function_tests++;
4405
4406    return(test_ret);
4407}
4408
4409
4410static int
4411test_xmlSAX2GetPublicId(void) {
4412    int test_ret = 0;
4413
4414    int mem_base;
4415    const xmlChar * ret_val;
4416    void * ctx; /* the user data (XML parser context) */
4417    int n_ctx;
4418
4419    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4420        mem_base = xmlMemBlocks();
4421        ctx = gen_void_ptr(n_ctx, 0);
4422
4423        ret_val = xmlSAX2GetPublicId(ctx);
4424        desret_const_xmlChar_ptr(ret_val);
4425        call_tests++;
4426        des_void_ptr(n_ctx, ctx, 0);
4427        xmlResetLastError();
4428        if (mem_base != xmlMemBlocks()) {
4429            printf("Leak of %d blocks found in xmlSAX2GetPublicId",
4430	           xmlMemBlocks() - mem_base);
4431	    test_ret++;
4432            printf(" %d", n_ctx);
4433            printf("\n");
4434        }
4435    }
4436    function_tests++;
4437
4438    return(test_ret);
4439}
4440
4441
4442static int
4443test_xmlSAX2GetSystemId(void) {
4444    int test_ret = 0;
4445
4446    int mem_base;
4447    const xmlChar * ret_val;
4448    void * ctx; /* the user data (XML parser context) */
4449    int n_ctx;
4450
4451    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4452        mem_base = xmlMemBlocks();
4453        ctx = gen_void_ptr(n_ctx, 0);
4454
4455        ret_val = xmlSAX2GetSystemId(ctx);
4456        desret_const_xmlChar_ptr(ret_val);
4457        call_tests++;
4458        des_void_ptr(n_ctx, ctx, 0);
4459        xmlResetLastError();
4460        if (mem_base != xmlMemBlocks()) {
4461            printf("Leak of %d blocks found in xmlSAX2GetSystemId",
4462	           xmlMemBlocks() - mem_base);
4463	    test_ret++;
4464            printf(" %d", n_ctx);
4465            printf("\n");
4466        }
4467    }
4468    function_tests++;
4469
4470    return(test_ret);
4471}
4472
4473
4474static int
4475test_xmlSAX2HasExternalSubset(void) {
4476    int test_ret = 0;
4477
4478    int mem_base;
4479    int ret_val;
4480    void * ctx; /* the user data (XML parser context) */
4481    int n_ctx;
4482
4483    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4484        mem_base = xmlMemBlocks();
4485        ctx = gen_void_ptr(n_ctx, 0);
4486
4487        ret_val = xmlSAX2HasExternalSubset(ctx);
4488        desret_int(ret_val);
4489        call_tests++;
4490        des_void_ptr(n_ctx, ctx, 0);
4491        xmlResetLastError();
4492        if (mem_base != xmlMemBlocks()) {
4493            printf("Leak of %d blocks found in xmlSAX2HasExternalSubset",
4494	           xmlMemBlocks() - mem_base);
4495	    test_ret++;
4496            printf(" %d", n_ctx);
4497            printf("\n");
4498        }
4499    }
4500    function_tests++;
4501
4502    return(test_ret);
4503}
4504
4505
4506static int
4507test_xmlSAX2HasInternalSubset(void) {
4508    int test_ret = 0;
4509
4510    int mem_base;
4511    int ret_val;
4512    void * ctx; /* the user data (XML parser context) */
4513    int n_ctx;
4514
4515    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4516        mem_base = xmlMemBlocks();
4517        ctx = gen_void_ptr(n_ctx, 0);
4518
4519        ret_val = xmlSAX2HasInternalSubset(ctx);
4520        desret_int(ret_val);
4521        call_tests++;
4522        des_void_ptr(n_ctx, ctx, 0);
4523        xmlResetLastError();
4524        if (mem_base != xmlMemBlocks()) {
4525            printf("Leak of %d blocks found in xmlSAX2HasInternalSubset",
4526	           xmlMemBlocks() - mem_base);
4527	    test_ret++;
4528            printf(" %d", n_ctx);
4529            printf("\n");
4530        }
4531    }
4532    function_tests++;
4533
4534    return(test_ret);
4535}
4536
4537
4538static int
4539test_xmlSAX2IgnorableWhitespace(void) {
4540    int test_ret = 0;
4541
4542    int mem_base;
4543    void * ctx; /* the user data (XML parser context) */
4544    int n_ctx;
4545    xmlChar * ch; /* a xmlChar string */
4546    int n_ch;
4547    int len; /* the number of xmlChar */
4548    int n_len;
4549
4550    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4551    for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
4552    for (n_len = 0;n_len < gen_nb_int;n_len++) {
4553        mem_base = xmlMemBlocks();
4554        ctx = gen_void_ptr(n_ctx, 0);
4555        ch = gen_const_xmlChar_ptr(n_ch, 1);
4556        len = gen_int(n_len, 2);
4557
4558        xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
4559        call_tests++;
4560        des_void_ptr(n_ctx, ctx, 0);
4561        des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
4562        des_int(n_len, len, 2);
4563        xmlResetLastError();
4564        if (mem_base != xmlMemBlocks()) {
4565            printf("Leak of %d blocks found in xmlSAX2IgnorableWhitespace",
4566	           xmlMemBlocks() - mem_base);
4567	    test_ret++;
4568            printf(" %d", n_ctx);
4569            printf(" %d", n_ch);
4570            printf(" %d", n_len);
4571            printf("\n");
4572        }
4573    }
4574    }
4575    }
4576    function_tests++;
4577
4578    return(test_ret);
4579}
4580
4581
4582#define gen_nb_xmlSAXHandler_ptr 1
4583static xmlSAXHandler * gen_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
4584    return(NULL);
4585}
4586static void des_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
4587}
4588
4589static int
4590test_xmlSAX2InitDefaultSAXHandler(void) {
4591    int test_ret = 0;
4592
4593    int mem_base;
4594    xmlSAXHandler * hdlr; /* the SAX handler */
4595    int n_hdlr;
4596    int warning; /* flag if non-zero sets the handler warning procedure */
4597    int n_warning;
4598
4599    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
4600    for (n_warning = 0;n_warning < gen_nb_int;n_warning++) {
4601        mem_base = xmlMemBlocks();
4602        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
4603        warning = gen_int(n_warning, 1);
4604
4605        xmlSAX2InitDefaultSAXHandler(hdlr, warning);
4606        call_tests++;
4607        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
4608        des_int(n_warning, warning, 1);
4609        xmlResetLastError();
4610        if (mem_base != xmlMemBlocks()) {
4611            printf("Leak of %d blocks found in xmlSAX2InitDefaultSAXHandler",
4612	           xmlMemBlocks() - mem_base);
4613	    test_ret++;
4614            printf(" %d", n_hdlr);
4615            printf(" %d", n_warning);
4616            printf("\n");
4617        }
4618    }
4619    }
4620    function_tests++;
4621
4622    return(test_ret);
4623}
4624
4625
4626static int
4627test_xmlSAX2InitDocbDefaultSAXHandler(void) {
4628    int test_ret = 0;
4629
4630#if defined(LIBXML_DOCB_ENABLED)
4631    int mem_base;
4632    xmlSAXHandler * hdlr; /* the SAX handler */
4633    int n_hdlr;
4634
4635    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
4636        mem_base = xmlMemBlocks();
4637        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
4638
4639        xmlSAX2InitDocbDefaultSAXHandler(hdlr);
4640        call_tests++;
4641        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
4642        xmlResetLastError();
4643        if (mem_base != xmlMemBlocks()) {
4644            printf("Leak of %d blocks found in xmlSAX2InitDocbDefaultSAXHandler",
4645	           xmlMemBlocks() - mem_base);
4646	    test_ret++;
4647            printf(" %d", n_hdlr);
4648            printf("\n");
4649        }
4650    }
4651    function_tests++;
4652#endif
4653
4654    return(test_ret);
4655}
4656
4657
4658static int
4659test_xmlSAX2InitHtmlDefaultSAXHandler(void) {
4660    int test_ret = 0;
4661
4662#if defined(LIBXML_HTML_ENABLED)
4663    int mem_base;
4664    xmlSAXHandler * hdlr; /* the SAX handler */
4665    int n_hdlr;
4666
4667    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
4668        mem_base = xmlMemBlocks();
4669        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
4670
4671        xmlSAX2InitHtmlDefaultSAXHandler(hdlr);
4672        call_tests++;
4673        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
4674        xmlResetLastError();
4675        if (mem_base != xmlMemBlocks()) {
4676            printf("Leak of %d blocks found in xmlSAX2InitHtmlDefaultSAXHandler",
4677	           xmlMemBlocks() - mem_base);
4678	    test_ret++;
4679            printf(" %d", n_hdlr);
4680            printf("\n");
4681        }
4682    }
4683    function_tests++;
4684#endif
4685
4686    return(test_ret);
4687}
4688
4689
4690static int
4691test_xmlSAX2InternalSubset(void) {
4692    int test_ret = 0;
4693
4694    int mem_base;
4695    void * ctx; /* the user data (XML parser context) */
4696    int n_ctx;
4697    xmlChar * name; /* the root element name */
4698    int n_name;
4699    xmlChar * ExternalID; /* the external ID */
4700    int n_ExternalID;
4701    xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
4702    int n_SystemID;
4703
4704    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4705    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4706    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
4707    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
4708        mem_base = xmlMemBlocks();
4709        ctx = gen_void_ptr(n_ctx, 0);
4710        name = gen_const_xmlChar_ptr(n_name, 1);
4711        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
4712        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
4713
4714        xmlSAX2InternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
4715        call_tests++;
4716        des_void_ptr(n_ctx, ctx, 0);
4717        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4718        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
4719        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
4720        xmlResetLastError();
4721        if (mem_base != xmlMemBlocks()) {
4722            printf("Leak of %d blocks found in xmlSAX2InternalSubset",
4723	           xmlMemBlocks() - mem_base);
4724	    test_ret++;
4725            printf(" %d", n_ctx);
4726            printf(" %d", n_name);
4727            printf(" %d", n_ExternalID);
4728            printf(" %d", n_SystemID);
4729            printf("\n");
4730        }
4731    }
4732    }
4733    }
4734    }
4735    function_tests++;
4736
4737    return(test_ret);
4738}
4739
4740
4741static int
4742test_xmlSAX2IsStandalone(void) {
4743    int test_ret = 0;
4744
4745    int mem_base;
4746    int ret_val;
4747    void * ctx; /* the user data (XML parser context) */
4748    int n_ctx;
4749
4750    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4751        mem_base = xmlMemBlocks();
4752        ctx = gen_void_ptr(n_ctx, 0);
4753
4754        ret_val = xmlSAX2IsStandalone(ctx);
4755        desret_int(ret_val);
4756        call_tests++;
4757        des_void_ptr(n_ctx, ctx, 0);
4758        xmlResetLastError();
4759        if (mem_base != xmlMemBlocks()) {
4760            printf("Leak of %d blocks found in xmlSAX2IsStandalone",
4761	           xmlMemBlocks() - mem_base);
4762	    test_ret++;
4763            printf(" %d", n_ctx);
4764            printf("\n");
4765        }
4766    }
4767    function_tests++;
4768
4769    return(test_ret);
4770}
4771
4772
4773static int
4774test_xmlSAX2NotationDecl(void) {
4775    int test_ret = 0;
4776
4777    int mem_base;
4778    void * ctx; /* the user data (XML parser context) */
4779    int n_ctx;
4780    xmlChar * name; /* The name of the notation */
4781    int n_name;
4782    xmlChar * publicId; /* The public ID of the entity */
4783    int n_publicId;
4784    xmlChar * systemId; /* The system ID of the entity */
4785    int n_systemId;
4786
4787    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4788    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4789    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
4790    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
4791        mem_base = xmlMemBlocks();
4792        ctx = gen_void_ptr(n_ctx, 0);
4793        name = gen_const_xmlChar_ptr(n_name, 1);
4794        publicId = gen_const_xmlChar_ptr(n_publicId, 2);
4795        systemId = gen_const_xmlChar_ptr(n_systemId, 3);
4796
4797        xmlSAX2NotationDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId);
4798        call_tests++;
4799        des_void_ptr(n_ctx, ctx, 0);
4800        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4801        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
4802        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
4803        xmlResetLastError();
4804        if (mem_base != xmlMemBlocks()) {
4805            printf("Leak of %d blocks found in xmlSAX2NotationDecl",
4806	           xmlMemBlocks() - mem_base);
4807	    test_ret++;
4808            printf(" %d", n_ctx);
4809            printf(" %d", n_name);
4810            printf(" %d", n_publicId);
4811            printf(" %d", n_systemId);
4812            printf("\n");
4813        }
4814    }
4815    }
4816    }
4817    }
4818    function_tests++;
4819
4820    return(test_ret);
4821}
4822
4823
4824static int
4825test_xmlSAX2ProcessingInstruction(void) {
4826    int test_ret = 0;
4827
4828    int mem_base;
4829    void * ctx; /* the user data (XML parser context) */
4830    int n_ctx;
4831    xmlChar * target; /* the target name */
4832    int n_target;
4833    xmlChar * data; /* the PI data's */
4834    int n_data;
4835
4836    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4837    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
4838    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
4839        mem_base = xmlMemBlocks();
4840        ctx = gen_void_ptr(n_ctx, 0);
4841        target = gen_const_xmlChar_ptr(n_target, 1);
4842        data = gen_const_xmlChar_ptr(n_data, 2);
4843
4844        xmlSAX2ProcessingInstruction(ctx, (const xmlChar *)target, (const xmlChar *)data);
4845        call_tests++;
4846        des_void_ptr(n_ctx, ctx, 0);
4847        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
4848        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 2);
4849        xmlResetLastError();
4850        if (mem_base != xmlMemBlocks()) {
4851            printf("Leak of %d blocks found in xmlSAX2ProcessingInstruction",
4852	           xmlMemBlocks() - mem_base);
4853	    test_ret++;
4854            printf(" %d", n_ctx);
4855            printf(" %d", n_target);
4856            printf(" %d", n_data);
4857            printf("\n");
4858        }
4859    }
4860    }
4861    }
4862    function_tests++;
4863
4864    return(test_ret);
4865}
4866
4867
4868static int
4869test_xmlSAX2Reference(void) {
4870    int test_ret = 0;
4871
4872    int mem_base;
4873    void * ctx; /* the user data (XML parser context) */
4874    int n_ctx;
4875    xmlChar * name; /* The entity name */
4876    int n_name;
4877
4878    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4879    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
4880        mem_base = xmlMemBlocks();
4881        ctx = gen_void_ptr(n_ctx, 0);
4882        name = gen_const_xmlChar_ptr(n_name, 1);
4883
4884        xmlSAX2Reference(ctx, (const xmlChar *)name);
4885        call_tests++;
4886        des_void_ptr(n_ctx, ctx, 0);
4887        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
4888        xmlResetLastError();
4889        if (mem_base != xmlMemBlocks()) {
4890            printf("Leak of %d blocks found in xmlSAX2Reference",
4891	           xmlMemBlocks() - mem_base);
4892	    test_ret++;
4893            printf(" %d", n_ctx);
4894            printf(" %d", n_name);
4895            printf("\n");
4896        }
4897    }
4898    }
4899    function_tests++;
4900
4901    return(test_ret);
4902}
4903
4904
4905static int
4906test_xmlSAX2ResolveEntity(void) {
4907    int test_ret = 0;
4908
4909    int mem_base;
4910    xmlParserInputPtr ret_val;
4911    void * ctx; /* the user data (XML parser context) */
4912    int n_ctx;
4913    xmlChar * publicId; /* The public ID of the entity */
4914    int n_publicId;
4915    xmlChar * systemId; /* The system ID of the entity */
4916    int n_systemId;
4917
4918    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4919    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
4920    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
4921        mem_base = xmlMemBlocks();
4922        ctx = gen_void_ptr(n_ctx, 0);
4923        publicId = gen_const_xmlChar_ptr(n_publicId, 1);
4924        systemId = gen_const_xmlChar_ptr(n_systemId, 2);
4925
4926        ret_val = xmlSAX2ResolveEntity(ctx, (const xmlChar *)publicId, (const xmlChar *)systemId);
4927        desret_xmlParserInputPtr(ret_val);
4928        call_tests++;
4929        des_void_ptr(n_ctx, ctx, 0);
4930        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 1);
4931        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 2);
4932        xmlResetLastError();
4933        if (mem_base != xmlMemBlocks()) {
4934            printf("Leak of %d blocks found in xmlSAX2ResolveEntity",
4935	           xmlMemBlocks() - mem_base);
4936	    test_ret++;
4937            printf(" %d", n_ctx);
4938            printf(" %d", n_publicId);
4939            printf(" %d", n_systemId);
4940            printf("\n");
4941        }
4942    }
4943    }
4944    }
4945    function_tests++;
4946
4947    return(test_ret);
4948}
4949
4950
4951#define gen_nb_xmlSAXLocatorPtr 1
4952static xmlSAXLocatorPtr gen_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
4953    return(NULL);
4954}
4955static void des_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, xmlSAXLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
4956}
4957
4958static int
4959test_xmlSAX2SetDocumentLocator(void) {
4960    int test_ret = 0;
4961
4962    int mem_base;
4963    void * ctx; /* the user data (XML parser context) */
4964    int n_ctx;
4965    xmlSAXLocatorPtr loc; /* A SAX Locator */
4966    int n_loc;
4967
4968    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
4969    for (n_loc = 0;n_loc < gen_nb_xmlSAXLocatorPtr;n_loc++) {
4970        mem_base = xmlMemBlocks();
4971        ctx = gen_void_ptr(n_ctx, 0);
4972        loc = gen_xmlSAXLocatorPtr(n_loc, 1);
4973
4974        xmlSAX2SetDocumentLocator(ctx, loc);
4975        call_tests++;
4976        des_void_ptr(n_ctx, ctx, 0);
4977        des_xmlSAXLocatorPtr(n_loc, loc, 1);
4978        xmlResetLastError();
4979        if (mem_base != xmlMemBlocks()) {
4980            printf("Leak of %d blocks found in xmlSAX2SetDocumentLocator",
4981	           xmlMemBlocks() - mem_base);
4982	    test_ret++;
4983            printf(" %d", n_ctx);
4984            printf(" %d", n_loc);
4985            printf("\n");
4986        }
4987    }
4988    }
4989    function_tests++;
4990
4991    return(test_ret);
4992}
4993
4994
4995static int
4996test_xmlSAX2StartDocument(void) {
4997    int test_ret = 0;
4998
4999    int mem_base;
5000    void * ctx; /* the user data (XML parser context) */
5001    int n_ctx;
5002
5003    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
5004        mem_base = xmlMemBlocks();
5005        ctx = gen_void_ptr(n_ctx, 0);
5006
5007        xmlSAX2StartDocument(ctx);
5008        call_tests++;
5009        des_void_ptr(n_ctx, ctx, 0);
5010        xmlResetLastError();
5011        if (mem_base != xmlMemBlocks()) {
5012            printf("Leak of %d blocks found in xmlSAX2StartDocument",
5013	           xmlMemBlocks() - mem_base);
5014	    test_ret++;
5015            printf(" %d", n_ctx);
5016            printf("\n");
5017        }
5018    }
5019    function_tests++;
5020
5021    return(test_ret);
5022}
5023
5024
5025static int
5026test_xmlSAX2StartElement(void) {
5027    int test_ret = 0;
5028
5029#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
5030#ifdef LIBXML_SAX1_ENABLED
5031    int mem_base;
5032    void * ctx; /* the user data (XML parser context) */
5033    int n_ctx;
5034    xmlChar * fullname; /* The element name, including namespace prefix */
5035    int n_fullname;
5036    xmlChar ** atts; /* An array of name/value attributes pairs, NULL terminated */
5037    int n_atts;
5038
5039    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
5040    for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
5041    for (n_atts = 0;n_atts < gen_nb_const_xmlChar_ptr_ptr;n_atts++) {
5042        mem_base = xmlMemBlocks();
5043        ctx = gen_void_ptr(n_ctx, 0);
5044        fullname = gen_const_xmlChar_ptr(n_fullname, 1);
5045        atts = gen_const_xmlChar_ptr_ptr(n_atts, 2);
5046
5047        xmlSAX2StartElement(ctx, (const xmlChar *)fullname, (const xmlChar **)atts);
5048        call_tests++;
5049        des_void_ptr(n_ctx, ctx, 0);
5050        des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 1);
5051        des_const_xmlChar_ptr_ptr(n_atts, (const xmlChar **)atts, 2);
5052        xmlResetLastError();
5053        if (mem_base != xmlMemBlocks()) {
5054            printf("Leak of %d blocks found in xmlSAX2StartElement",
5055	           xmlMemBlocks() - mem_base);
5056	    test_ret++;
5057            printf(" %d", n_ctx);
5058            printf(" %d", n_fullname);
5059            printf(" %d", n_atts);
5060            printf("\n");
5061        }
5062    }
5063    }
5064    }
5065    function_tests++;
5066#endif
5067#endif
5068
5069    return(test_ret);
5070}
5071
5072
5073static int
5074test_xmlSAX2StartElementNs(void) {
5075    int test_ret = 0;
5076
5077    int mem_base;
5078    void * ctx; /* the user data (XML parser context) */
5079    int n_ctx;
5080    xmlChar * localname; /* the local name of the element */
5081    int n_localname;
5082    xmlChar * prefix; /* the element namespace prefix if available */
5083    int n_prefix;
5084    xmlChar * URI; /* the element namespace name if available */
5085    int n_URI;
5086    int nb_namespaces; /* number of namespace definitions on that node */
5087    int n_nb_namespaces;
5088    xmlChar ** namespaces; /* pointer to the array of prefix/URI pairs namespace definitions */
5089    int n_namespaces;
5090    int nb_attributes; /* the number of attributes on that node */
5091    int n_nb_attributes;
5092    int nb_defaulted; /* the number of defaulted attributes. */
5093    int n_nb_defaulted;
5094    xmlChar ** attributes; /* pointer to the array of (localname/prefix/URI/value/end) attribute values. */
5095    int n_attributes;
5096
5097    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
5098    for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
5099    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
5100    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
5101    for (n_nb_namespaces = 0;n_nb_namespaces < gen_nb_int;n_nb_namespaces++) {
5102    for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
5103    for (n_nb_attributes = 0;n_nb_attributes < gen_nb_int;n_nb_attributes++) {
5104    for (n_nb_defaulted = 0;n_nb_defaulted < gen_nb_int;n_nb_defaulted++) {
5105    for (n_attributes = 0;n_attributes < gen_nb_const_xmlChar_ptr_ptr;n_attributes++) {
5106        mem_base = xmlMemBlocks();
5107        ctx = gen_void_ptr(n_ctx, 0);
5108        localname = gen_const_xmlChar_ptr(n_localname, 1);
5109        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
5110        URI = gen_const_xmlChar_ptr(n_URI, 3);
5111        nb_namespaces = gen_int(n_nb_namespaces, 4);
5112        namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 5);
5113        nb_attributes = gen_int(n_nb_attributes, 6);
5114        nb_defaulted = gen_int(n_nb_defaulted, 7);
5115        attributes = gen_const_xmlChar_ptr_ptr(n_attributes, 8);
5116
5117        xmlSAX2StartElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI, nb_namespaces, (const xmlChar **)namespaces, nb_attributes, nb_defaulted, (const xmlChar **)attributes);
5118        call_tests++;
5119        des_void_ptr(n_ctx, ctx, 0);
5120        des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
5121        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
5122        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
5123        des_int(n_nb_namespaces, nb_namespaces, 4);
5124        des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 5);
5125        des_int(n_nb_attributes, nb_attributes, 6);
5126        des_int(n_nb_defaulted, nb_defaulted, 7);
5127        des_const_xmlChar_ptr_ptr(n_attributes, (const xmlChar **)attributes, 8);
5128        xmlResetLastError();
5129        if (mem_base != xmlMemBlocks()) {
5130            printf("Leak of %d blocks found in xmlSAX2StartElementNs",
5131	           xmlMemBlocks() - mem_base);
5132	    test_ret++;
5133            printf(" %d", n_ctx);
5134            printf(" %d", n_localname);
5135            printf(" %d", n_prefix);
5136            printf(" %d", n_URI);
5137            printf(" %d", n_nb_namespaces);
5138            printf(" %d", n_namespaces);
5139            printf(" %d", n_nb_attributes);
5140            printf(" %d", n_nb_defaulted);
5141            printf(" %d", n_attributes);
5142            printf("\n");
5143        }
5144    }
5145    }
5146    }
5147    }
5148    }
5149    }
5150    }
5151    }
5152    }
5153    function_tests++;
5154
5155    return(test_ret);
5156}
5157
5158
5159static int
5160test_xmlSAX2UnparsedEntityDecl(void) {
5161    int test_ret = 0;
5162
5163    int mem_base;
5164    void * ctx; /* the user data (XML parser context) */
5165    int n_ctx;
5166    xmlChar * name; /* The name of the entity */
5167    int n_name;
5168    xmlChar * publicId; /* The public ID of the entity */
5169    int n_publicId;
5170    xmlChar * systemId; /* The system ID of the entity */
5171    int n_systemId;
5172    xmlChar * notationName; /* the name of the notation */
5173    int n_notationName;
5174
5175    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
5176    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
5177    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
5178    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
5179    for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
5180        mem_base = xmlMemBlocks();
5181        ctx = gen_void_ptr(n_ctx, 0);
5182        name = gen_const_xmlChar_ptr(n_name, 1);
5183        publicId = gen_const_xmlChar_ptr(n_publicId, 2);
5184        systemId = gen_const_xmlChar_ptr(n_systemId, 3);
5185        notationName = gen_const_xmlChar_ptr(n_notationName, 4);
5186
5187        xmlSAX2UnparsedEntityDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId, (const xmlChar *)notationName);
5188        call_tests++;
5189        des_void_ptr(n_ctx, ctx, 0);
5190        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
5191        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
5192        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
5193        des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 4);
5194        xmlResetLastError();
5195        if (mem_base != xmlMemBlocks()) {
5196            printf("Leak of %d blocks found in xmlSAX2UnparsedEntityDecl",
5197	           xmlMemBlocks() - mem_base);
5198	    test_ret++;
5199            printf(" %d", n_ctx);
5200            printf(" %d", n_name);
5201            printf(" %d", n_publicId);
5202            printf(" %d", n_systemId);
5203            printf(" %d", n_notationName);
5204            printf("\n");
5205        }
5206    }
5207    }
5208    }
5209    }
5210    }
5211    function_tests++;
5212
5213    return(test_ret);
5214}
5215
5216
5217static int
5218test_xmlSAXDefaultVersion(void) {
5219    int test_ret = 0;
5220
5221#if defined(LIBXML_SAX1_ENABLED)
5222#ifdef LIBXML_SAX1_ENABLED
5223    int mem_base;
5224    int ret_val;
5225    int version; /* the version, 1 or 2 */
5226    int n_version;
5227
5228    for (n_version = 0;n_version < gen_nb_int;n_version++) {
5229        mem_base = xmlMemBlocks();
5230        version = gen_int(n_version, 0);
5231
5232        ret_val = xmlSAXDefaultVersion(version);
5233        desret_int(ret_val);
5234        call_tests++;
5235        des_int(n_version, version, 0);
5236        xmlResetLastError();
5237        if (mem_base != xmlMemBlocks()) {
5238            printf("Leak of %d blocks found in xmlSAXDefaultVersion",
5239	           xmlMemBlocks() - mem_base);
5240	    test_ret++;
5241            printf(" %d", n_version);
5242            printf("\n");
5243        }
5244    }
5245    function_tests++;
5246#endif
5247#endif
5248
5249    return(test_ret);
5250}
5251
5252
5253static int
5254test_xmlSAXVersion(void) {
5255    int test_ret = 0;
5256
5257    int mem_base;
5258    int ret_val;
5259    xmlSAXHandler * hdlr; /* the SAX handler */
5260    int n_hdlr;
5261    int version; /* the version, 1 or 2 */
5262    int n_version;
5263
5264    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
5265    for (n_version = 0;n_version < gen_nb_int;n_version++) {
5266        mem_base = xmlMemBlocks();
5267        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
5268        version = gen_int(n_version, 1);
5269
5270        ret_val = xmlSAXVersion(hdlr, version);
5271        desret_int(ret_val);
5272        call_tests++;
5273        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
5274        des_int(n_version, version, 1);
5275        xmlResetLastError();
5276        if (mem_base != xmlMemBlocks()) {
5277            printf("Leak of %d blocks found in xmlSAXVersion",
5278	           xmlMemBlocks() - mem_base);
5279	    test_ret++;
5280            printf(" %d", n_hdlr);
5281            printf(" %d", n_version);
5282            printf("\n");
5283        }
5284    }
5285    }
5286    function_tests++;
5287
5288    return(test_ret);
5289}
5290
5291static int
5292test_SAX2(void) {
5293    int test_ret = 0;
5294
5295    if (quiet == 0) printf("Testing SAX2 : 38 of 38 functions ...\n");
5296    test_ret += test_docbDefaultSAXHandlerInit();
5297    test_ret += test_htmlDefaultSAXHandlerInit();
5298    test_ret += test_xmlDefaultSAXHandlerInit();
5299    test_ret += test_xmlSAX2AttributeDecl();
5300    test_ret += test_xmlSAX2CDataBlock();
5301    test_ret += test_xmlSAX2Characters();
5302    test_ret += test_xmlSAX2Comment();
5303    test_ret += test_xmlSAX2ElementDecl();
5304    test_ret += test_xmlSAX2EndDocument();
5305    test_ret += test_xmlSAX2EndElement();
5306    test_ret += test_xmlSAX2EndElementNs();
5307    test_ret += test_xmlSAX2EntityDecl();
5308    test_ret += test_xmlSAX2ExternalSubset();
5309    test_ret += test_xmlSAX2GetColumnNumber();
5310    test_ret += test_xmlSAX2GetEntity();
5311    test_ret += test_xmlSAX2GetLineNumber();
5312    test_ret += test_xmlSAX2GetParameterEntity();
5313    test_ret += test_xmlSAX2GetPublicId();
5314    test_ret += test_xmlSAX2GetSystemId();
5315    test_ret += test_xmlSAX2HasExternalSubset();
5316    test_ret += test_xmlSAX2HasInternalSubset();
5317    test_ret += test_xmlSAX2IgnorableWhitespace();
5318    test_ret += test_xmlSAX2InitDefaultSAXHandler();
5319    test_ret += test_xmlSAX2InitDocbDefaultSAXHandler();
5320    test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler();
5321    test_ret += test_xmlSAX2InternalSubset();
5322    test_ret += test_xmlSAX2IsStandalone();
5323    test_ret += test_xmlSAX2NotationDecl();
5324    test_ret += test_xmlSAX2ProcessingInstruction();
5325    test_ret += test_xmlSAX2Reference();
5326    test_ret += test_xmlSAX2ResolveEntity();
5327    test_ret += test_xmlSAX2SetDocumentLocator();
5328    test_ret += test_xmlSAX2StartDocument();
5329    test_ret += test_xmlSAX2StartElement();
5330    test_ret += test_xmlSAX2StartElementNs();
5331    test_ret += test_xmlSAX2UnparsedEntityDecl();
5332    test_ret += test_xmlSAXDefaultVersion();
5333    test_ret += test_xmlSAXVersion();
5334
5335    if (test_ret != 0)
5336	printf("Module SAX2: %d errors\n", test_ret);
5337    return(test_ret);
5338}
5339
5340static int
5341test_xmlC14NDocDumpMemory(void) {
5342    int test_ret = 0;
5343
5344#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
5345    int mem_base;
5346    int ret_val;
5347    xmlDocPtr doc; /* the XML document for canonization */
5348    int n_doc;
5349    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
5350    int n_nodes;
5351    int mode; /* the c14n mode (see @xmlC14NMode) */
5352    int n_mode;
5353    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
5354    int n_inclusive_ns_prefixes;
5355    int with_comments; /* include comments in the result (!=0) or not (==0) */
5356    int n_with_comments;
5357    xmlChar ** doc_txt_ptr; /* the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory */
5358    int n_doc_txt_ptr;
5359
5360    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
5361    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
5362    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
5363    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
5364    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
5365    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
5366        mem_base = xmlMemBlocks();
5367        doc = gen_xmlDocPtr(n_doc, 0);
5368        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
5369        mode = gen_int(n_mode, 2);
5370        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
5371        with_comments = gen_int(n_with_comments, 4);
5372        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 5);
5373
5374        ret_val = xmlC14NDocDumpMemory(doc, nodes, mode, inclusive_ns_prefixes, with_comments, doc_txt_ptr);
5375        desret_int(ret_val);
5376        call_tests++;
5377        des_xmlDocPtr(n_doc, doc, 0);
5378        des_xmlNodeSetPtr(n_nodes, nodes, 1);
5379        des_int(n_mode, mode, 2);
5380        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
5381        des_int(n_with_comments, with_comments, 4);
5382        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 5);
5383        xmlResetLastError();
5384        if (mem_base != xmlMemBlocks()) {
5385            printf("Leak of %d blocks found in xmlC14NDocDumpMemory",
5386	           xmlMemBlocks() - mem_base);
5387	    test_ret++;
5388            printf(" %d", n_doc);
5389            printf(" %d", n_nodes);
5390            printf(" %d", n_mode);
5391            printf(" %d", n_inclusive_ns_prefixes);
5392            printf(" %d", n_with_comments);
5393            printf(" %d", n_doc_txt_ptr);
5394            printf("\n");
5395        }
5396    }
5397    }
5398    }
5399    }
5400    }
5401    }
5402    function_tests++;
5403#endif
5404
5405    return(test_ret);
5406}
5407
5408
5409static int
5410test_xmlC14NDocSave(void) {
5411    int test_ret = 0;
5412
5413#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
5414    int mem_base;
5415    int ret_val;
5416    xmlDocPtr doc; /* the XML document for canonization */
5417    int n_doc;
5418    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
5419    int n_nodes;
5420    int mode; /* the c14n mode (see @xmlC14NMode) */
5421    int n_mode;
5422    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
5423    int n_inclusive_ns_prefixes;
5424    int with_comments; /* include comments in the result (!=0) or not (==0) */
5425    int n_with_comments;
5426    const char * filename; /* the filename to store canonical XML image */
5427    int n_filename;
5428    int compression; /* the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level */
5429    int n_compression;
5430
5431    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
5432    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
5433    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
5434    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
5435    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
5436    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
5437    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
5438        mem_base = xmlMemBlocks();
5439        doc = gen_xmlDocPtr(n_doc, 0);
5440        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
5441        mode = gen_int(n_mode, 2);
5442        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
5443        with_comments = gen_int(n_with_comments, 4);
5444        filename = gen_fileoutput(n_filename, 5);
5445        compression = gen_int(n_compression, 6);
5446
5447        ret_val = xmlC14NDocSave(doc, nodes, mode, inclusive_ns_prefixes, with_comments, filename, compression);
5448        desret_int(ret_val);
5449        call_tests++;
5450        des_xmlDocPtr(n_doc, doc, 0);
5451        des_xmlNodeSetPtr(n_nodes, nodes, 1);
5452        des_int(n_mode, mode, 2);
5453        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
5454        des_int(n_with_comments, with_comments, 4);
5455        des_fileoutput(n_filename, filename, 5);
5456        des_int(n_compression, compression, 6);
5457        xmlResetLastError();
5458        if (mem_base != xmlMemBlocks()) {
5459            printf("Leak of %d blocks found in xmlC14NDocSave",
5460	           xmlMemBlocks() - mem_base);
5461	    test_ret++;
5462            printf(" %d", n_doc);
5463            printf(" %d", n_nodes);
5464            printf(" %d", n_mode);
5465            printf(" %d", n_inclusive_ns_prefixes);
5466            printf(" %d", n_with_comments);
5467            printf(" %d", n_filename);
5468            printf(" %d", n_compression);
5469            printf("\n");
5470        }
5471    }
5472    }
5473    }
5474    }
5475    }
5476    }
5477    }
5478    function_tests++;
5479#endif
5480
5481    return(test_ret);
5482}
5483
5484
5485static int
5486test_xmlC14NDocSaveTo(void) {
5487    int test_ret = 0;
5488
5489#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
5490    int mem_base;
5491    int ret_val;
5492    xmlDocPtr doc; /* the XML document for canonization */
5493    int n_doc;
5494    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
5495    int n_nodes;
5496    int mode; /* the c14n mode (see @xmlC14NMode) */
5497    int n_mode;
5498    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
5499    int n_inclusive_ns_prefixes;
5500    int with_comments; /* include comments in the result (!=0) or not (==0) */
5501    int n_with_comments;
5502    xmlOutputBufferPtr buf; /* the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output */
5503    int n_buf;
5504
5505    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
5506    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
5507    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
5508    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
5509    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
5510    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
5511        mem_base = xmlMemBlocks();
5512        doc = gen_xmlDocPtr(n_doc, 0);
5513        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
5514        mode = gen_int(n_mode, 2);
5515        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
5516        with_comments = gen_int(n_with_comments, 4);
5517        buf = gen_xmlOutputBufferPtr(n_buf, 5);
5518
5519        ret_val = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf);
5520        desret_int(ret_val);
5521        call_tests++;
5522        des_xmlDocPtr(n_doc, doc, 0);
5523        des_xmlNodeSetPtr(n_nodes, nodes, 1);
5524        des_int(n_mode, mode, 2);
5525        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
5526        des_int(n_with_comments, with_comments, 4);
5527        des_xmlOutputBufferPtr(n_buf, buf, 5);
5528        xmlResetLastError();
5529        if (mem_base != xmlMemBlocks()) {
5530            printf("Leak of %d blocks found in xmlC14NDocSaveTo",
5531	           xmlMemBlocks() - mem_base);
5532	    test_ret++;
5533            printf(" %d", n_doc);
5534            printf(" %d", n_nodes);
5535            printf(" %d", n_mode);
5536            printf(" %d", n_inclusive_ns_prefixes);
5537            printf(" %d", n_with_comments);
5538            printf(" %d", n_buf);
5539            printf("\n");
5540        }
5541    }
5542    }
5543    }
5544    }
5545    }
5546    }
5547    function_tests++;
5548#endif
5549
5550    return(test_ret);
5551}
5552
5553
5554static int
5555test_xmlC14NExecute(void) {
5556    int test_ret = 0;
5557
5558
5559    /* missing type support */
5560    return(test_ret);
5561}
5562
5563static int
5564test_c14n(void) {
5565    int test_ret = 0;
5566
5567    if (quiet == 0) printf("Testing c14n : 3 of 4 functions ...\n");
5568    test_ret += test_xmlC14NDocDumpMemory();
5569    test_ret += test_xmlC14NDocSave();
5570    test_ret += test_xmlC14NDocSaveTo();
5571    test_ret += test_xmlC14NExecute();
5572
5573    if (test_ret != 0)
5574	printf("Module c14n: %d errors\n", test_ret);
5575    return(test_ret);
5576}
5577#ifdef LIBXML_CATALOG_ENABLED
5578
5579#define gen_nb_xmlCatalogPtr 1
5580static xmlCatalogPtr gen_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
5581    return(NULL);
5582}
5583static void des_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, xmlCatalogPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
5584}
5585#endif
5586
5587
5588static int
5589test_xmlACatalogAdd(void) {
5590    int test_ret = 0;
5591
5592#if defined(LIBXML_CATALOG_ENABLED)
5593    int mem_base;
5594    int ret_val;
5595    xmlCatalogPtr catal; /* a Catalog */
5596    int n_catal;
5597    xmlChar * type; /* the type of record to add to the catalog */
5598    int n_type;
5599    xmlChar * orig; /* the system, public or prefix to match */
5600    int n_orig;
5601    xmlChar * replace; /* the replacement value for the match */
5602    int n_replace;
5603
5604    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5605    for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
5606    for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
5607    for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
5608        mem_base = xmlMemBlocks();
5609        catal = gen_xmlCatalogPtr(n_catal, 0);
5610        type = gen_const_xmlChar_ptr(n_type, 1);
5611        orig = gen_const_xmlChar_ptr(n_orig, 2);
5612        replace = gen_const_xmlChar_ptr(n_replace, 3);
5613
5614        ret_val = xmlACatalogAdd(catal, (const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
5615        desret_int(ret_val);
5616        call_tests++;
5617        des_xmlCatalogPtr(n_catal, catal, 0);
5618        des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 1);
5619        des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 2);
5620        des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 3);
5621        xmlResetLastError();
5622        if (mem_base != xmlMemBlocks()) {
5623            printf("Leak of %d blocks found in xmlACatalogAdd",
5624	           xmlMemBlocks() - mem_base);
5625	    test_ret++;
5626            printf(" %d", n_catal);
5627            printf(" %d", n_type);
5628            printf(" %d", n_orig);
5629            printf(" %d", n_replace);
5630            printf("\n");
5631        }
5632    }
5633    }
5634    }
5635    }
5636    function_tests++;
5637#endif
5638
5639    return(test_ret);
5640}
5641
5642
5643static int
5644test_xmlACatalogDump(void) {
5645    int test_ret = 0;
5646
5647#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
5648    int mem_base;
5649    xmlCatalogPtr catal; /* a Catalog */
5650    int n_catal;
5651    FILE * out; /* the file. */
5652    int n_out;
5653
5654    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5655    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
5656        mem_base = xmlMemBlocks();
5657        catal = gen_xmlCatalogPtr(n_catal, 0);
5658        out = gen_FILE_ptr(n_out, 1);
5659
5660        xmlACatalogDump(catal, out);
5661        call_tests++;
5662        des_xmlCatalogPtr(n_catal, catal, 0);
5663        des_FILE_ptr(n_out, out, 1);
5664        xmlResetLastError();
5665        if (mem_base != xmlMemBlocks()) {
5666            printf("Leak of %d blocks found in xmlACatalogDump",
5667	           xmlMemBlocks() - mem_base);
5668	    test_ret++;
5669            printf(" %d", n_catal);
5670            printf(" %d", n_out);
5671            printf("\n");
5672        }
5673    }
5674    }
5675    function_tests++;
5676#endif
5677
5678    return(test_ret);
5679}
5680
5681
5682static int
5683test_xmlACatalogRemove(void) {
5684    int test_ret = 0;
5685
5686#if defined(LIBXML_CATALOG_ENABLED)
5687    int mem_base;
5688    int ret_val;
5689    xmlCatalogPtr catal; /* a Catalog */
5690    int n_catal;
5691    xmlChar * value; /* the value to remove */
5692    int n_value;
5693
5694    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5695    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
5696        mem_base = xmlMemBlocks();
5697        catal = gen_xmlCatalogPtr(n_catal, 0);
5698        value = gen_const_xmlChar_ptr(n_value, 1);
5699
5700        ret_val = xmlACatalogRemove(catal, (const xmlChar *)value);
5701        desret_int(ret_val);
5702        call_tests++;
5703        des_xmlCatalogPtr(n_catal, catal, 0);
5704        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
5705        xmlResetLastError();
5706        if (mem_base != xmlMemBlocks()) {
5707            printf("Leak of %d blocks found in xmlACatalogRemove",
5708	           xmlMemBlocks() - mem_base);
5709	    test_ret++;
5710            printf(" %d", n_catal);
5711            printf(" %d", n_value);
5712            printf("\n");
5713        }
5714    }
5715    }
5716    function_tests++;
5717#endif
5718
5719    return(test_ret);
5720}
5721
5722
5723static int
5724test_xmlACatalogResolve(void) {
5725    int test_ret = 0;
5726
5727#if defined(LIBXML_CATALOG_ENABLED)
5728    int mem_base;
5729    xmlChar * ret_val;
5730    xmlCatalogPtr catal; /* a Catalog */
5731    int n_catal;
5732    xmlChar * pubID; /* the public ID string */
5733    int n_pubID;
5734    xmlChar * sysID; /* the system ID string */
5735    int n_sysID;
5736
5737    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5738    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
5739    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
5740        mem_base = xmlMemBlocks();
5741        catal = gen_xmlCatalogPtr(n_catal, 0);
5742        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
5743        sysID = gen_const_xmlChar_ptr(n_sysID, 2);
5744
5745        ret_val = xmlACatalogResolve(catal, (const xmlChar *)pubID, (const xmlChar *)sysID);
5746        desret_xmlChar_ptr(ret_val);
5747        call_tests++;
5748        des_xmlCatalogPtr(n_catal, catal, 0);
5749        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
5750        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
5751        xmlResetLastError();
5752        if (mem_base != xmlMemBlocks()) {
5753            printf("Leak of %d blocks found in xmlACatalogResolve",
5754	           xmlMemBlocks() - mem_base);
5755	    test_ret++;
5756            printf(" %d", n_catal);
5757            printf(" %d", n_pubID);
5758            printf(" %d", n_sysID);
5759            printf("\n");
5760        }
5761    }
5762    }
5763    }
5764    function_tests++;
5765#endif
5766
5767    return(test_ret);
5768}
5769
5770
5771static int
5772test_xmlACatalogResolvePublic(void) {
5773    int test_ret = 0;
5774
5775#if defined(LIBXML_CATALOG_ENABLED)
5776    int mem_base;
5777    xmlChar * ret_val;
5778    xmlCatalogPtr catal; /* a Catalog */
5779    int n_catal;
5780    xmlChar * pubID; /* the public ID string */
5781    int n_pubID;
5782
5783    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5784    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
5785        mem_base = xmlMemBlocks();
5786        catal = gen_xmlCatalogPtr(n_catal, 0);
5787        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
5788
5789        ret_val = xmlACatalogResolvePublic(catal, (const xmlChar *)pubID);
5790        desret_xmlChar_ptr(ret_val);
5791        call_tests++;
5792        des_xmlCatalogPtr(n_catal, catal, 0);
5793        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
5794        xmlResetLastError();
5795        if (mem_base != xmlMemBlocks()) {
5796            printf("Leak of %d blocks found in xmlACatalogResolvePublic",
5797	           xmlMemBlocks() - mem_base);
5798	    test_ret++;
5799            printf(" %d", n_catal);
5800            printf(" %d", n_pubID);
5801            printf("\n");
5802        }
5803    }
5804    }
5805    function_tests++;
5806#endif
5807
5808    return(test_ret);
5809}
5810
5811
5812static int
5813test_xmlACatalogResolveSystem(void) {
5814    int test_ret = 0;
5815
5816#if defined(LIBXML_CATALOG_ENABLED)
5817    int mem_base;
5818    xmlChar * ret_val;
5819    xmlCatalogPtr catal; /* a Catalog */
5820    int n_catal;
5821    xmlChar * sysID; /* the system ID string */
5822    int n_sysID;
5823
5824    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5825    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
5826        mem_base = xmlMemBlocks();
5827        catal = gen_xmlCatalogPtr(n_catal, 0);
5828        sysID = gen_const_xmlChar_ptr(n_sysID, 1);
5829
5830        ret_val = xmlACatalogResolveSystem(catal, (const xmlChar *)sysID);
5831        desret_xmlChar_ptr(ret_val);
5832        call_tests++;
5833        des_xmlCatalogPtr(n_catal, catal, 0);
5834        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
5835        xmlResetLastError();
5836        if (mem_base != xmlMemBlocks()) {
5837            printf("Leak of %d blocks found in xmlACatalogResolveSystem",
5838	           xmlMemBlocks() - mem_base);
5839	    test_ret++;
5840            printf(" %d", n_catal);
5841            printf(" %d", n_sysID);
5842            printf("\n");
5843        }
5844    }
5845    }
5846    function_tests++;
5847#endif
5848
5849    return(test_ret);
5850}
5851
5852
5853static int
5854test_xmlACatalogResolveURI(void) {
5855    int test_ret = 0;
5856
5857#if defined(LIBXML_CATALOG_ENABLED)
5858    int mem_base;
5859    xmlChar * ret_val;
5860    xmlCatalogPtr catal; /* a Catalog */
5861    int n_catal;
5862    xmlChar * URI; /* the URI */
5863    int n_URI;
5864
5865    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
5866    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
5867        mem_base = xmlMemBlocks();
5868        catal = gen_xmlCatalogPtr(n_catal, 0);
5869        URI = gen_const_xmlChar_ptr(n_URI, 1);
5870
5871        ret_val = xmlACatalogResolveURI(catal, (const xmlChar *)URI);
5872        desret_xmlChar_ptr(ret_val);
5873        call_tests++;
5874        des_xmlCatalogPtr(n_catal, catal, 0);
5875        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
5876        xmlResetLastError();
5877        if (mem_base != xmlMemBlocks()) {
5878            printf("Leak of %d blocks found in xmlACatalogResolveURI",
5879	           xmlMemBlocks() - mem_base);
5880	    test_ret++;
5881            printf(" %d", n_catal);
5882            printf(" %d", n_URI);
5883            printf("\n");
5884        }
5885    }
5886    }
5887    function_tests++;
5888#endif
5889
5890    return(test_ret);
5891}
5892
5893
5894static int
5895test_xmlCatalogAdd(void) {
5896    int test_ret = 0;
5897
5898#if defined(LIBXML_CATALOG_ENABLED)
5899    int mem_base;
5900    int ret_val;
5901    xmlChar * type; /* the type of record to add to the catalog */
5902    int n_type;
5903    xmlChar * orig; /* the system, public or prefix to match */
5904    int n_orig;
5905    xmlChar * replace; /* the replacement value for the match */
5906    int n_replace;
5907
5908    for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
5909    for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
5910    for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
5911        mem_base = xmlMemBlocks();
5912        type = gen_const_xmlChar_ptr(n_type, 0);
5913        orig = gen_const_xmlChar_ptr(n_orig, 1);
5914        replace = gen_const_xmlChar_ptr(n_replace, 2);
5915
5916        ret_val = xmlCatalogAdd((const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
5917        desret_int(ret_val);
5918        call_tests++;
5919        des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 0);
5920        des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 1);
5921        des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 2);
5922        xmlResetLastError();
5923        if (mem_base != xmlMemBlocks()) {
5924            printf("Leak of %d blocks found in xmlCatalogAdd",
5925	           xmlMemBlocks() - mem_base);
5926	    test_ret++;
5927            printf(" %d", n_type);
5928            printf(" %d", n_orig);
5929            printf(" %d", n_replace);
5930            printf("\n");
5931        }
5932    }
5933    }
5934    }
5935    function_tests++;
5936#endif
5937
5938    return(test_ret);
5939}
5940
5941
5942static int
5943test_xmlCatalogCleanup(void) {
5944    int test_ret = 0;
5945
5946#if defined(LIBXML_CATALOG_ENABLED)
5947
5948
5949        xmlCatalogCleanup();
5950        call_tests++;
5951        xmlResetLastError();
5952    function_tests++;
5953#endif
5954
5955    return(test_ret);
5956}
5957
5958
5959static int
5960test_xmlCatalogConvert(void) {
5961    int test_ret = 0;
5962
5963#if defined(LIBXML_CATALOG_ENABLED)
5964    int ret_val;
5965
5966
5967        ret_val = xmlCatalogConvert();
5968        desret_int(ret_val);
5969        call_tests++;
5970        xmlResetLastError();
5971    function_tests++;
5972#endif
5973
5974    return(test_ret);
5975}
5976
5977
5978static int
5979test_xmlCatalogDump(void) {
5980    int test_ret = 0;
5981
5982#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
5983    int mem_base;
5984    FILE * out; /* the file. */
5985    int n_out;
5986
5987    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
5988        mem_base = xmlMemBlocks();
5989        out = gen_FILE_ptr(n_out, 0);
5990
5991        xmlCatalogDump(out);
5992        call_tests++;
5993        des_FILE_ptr(n_out, out, 0);
5994        xmlResetLastError();
5995        if (mem_base != xmlMemBlocks()) {
5996            printf("Leak of %d blocks found in xmlCatalogDump",
5997	           xmlMemBlocks() - mem_base);
5998	    test_ret++;
5999            printf(" %d", n_out);
6000            printf("\n");
6001        }
6002    }
6003    function_tests++;
6004#endif
6005
6006    return(test_ret);
6007}
6008
6009
6010static int
6011test_xmlCatalogGetDefaults(void) {
6012    int test_ret = 0;
6013
6014#if defined(LIBXML_CATALOG_ENABLED)
6015    int mem_base;
6016    xmlCatalogAllow ret_val;
6017
6018        mem_base = xmlMemBlocks();
6019
6020        ret_val = xmlCatalogGetDefaults();
6021        desret_xmlCatalogAllow(ret_val);
6022        call_tests++;
6023        xmlResetLastError();
6024        if (mem_base != xmlMemBlocks()) {
6025            printf("Leak of %d blocks found in xmlCatalogGetDefaults",
6026	           xmlMemBlocks() - mem_base);
6027	    test_ret++;
6028            printf("\n");
6029        }
6030    function_tests++;
6031#endif
6032
6033    return(test_ret);
6034}
6035
6036
6037static int
6038test_xmlCatalogIsEmpty(void) {
6039    int test_ret = 0;
6040
6041#if defined(LIBXML_CATALOG_ENABLED)
6042    int mem_base;
6043    int ret_val;
6044    xmlCatalogPtr catal; /* should this create an SGML catalog */
6045    int n_catal;
6046
6047    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
6048        mem_base = xmlMemBlocks();
6049        catal = gen_xmlCatalogPtr(n_catal, 0);
6050
6051        ret_val = xmlCatalogIsEmpty(catal);
6052        desret_int(ret_val);
6053        call_tests++;
6054        des_xmlCatalogPtr(n_catal, catal, 0);
6055        xmlResetLastError();
6056        if (mem_base != xmlMemBlocks()) {
6057            printf("Leak of %d blocks found in xmlCatalogIsEmpty",
6058	           xmlMemBlocks() - mem_base);
6059	    test_ret++;
6060            printf(" %d", n_catal);
6061            printf("\n");
6062        }
6063    }
6064    function_tests++;
6065#endif
6066
6067    return(test_ret);
6068}
6069
6070
6071static int
6072test_xmlCatalogLocalResolve(void) {
6073    int test_ret = 0;
6074
6075#if defined(LIBXML_CATALOG_ENABLED)
6076    int mem_base;
6077    xmlChar * ret_val;
6078    void * catalogs; /* a document's list of catalogs */
6079    int n_catalogs;
6080    xmlChar * pubID; /* the public ID string */
6081    int n_pubID;
6082    xmlChar * sysID; /* the system ID string */
6083    int n_sysID;
6084
6085    for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
6086    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
6087    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
6088        mem_base = xmlMemBlocks();
6089        catalogs = gen_void_ptr(n_catalogs, 0);
6090        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
6091        sysID = gen_const_xmlChar_ptr(n_sysID, 2);
6092
6093        ret_val = xmlCatalogLocalResolve(catalogs, (const xmlChar *)pubID, (const xmlChar *)sysID);
6094        desret_xmlChar_ptr(ret_val);
6095        call_tests++;
6096        des_void_ptr(n_catalogs, catalogs, 0);
6097        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
6098        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
6099        xmlResetLastError();
6100        if (mem_base != xmlMemBlocks()) {
6101            printf("Leak of %d blocks found in xmlCatalogLocalResolve",
6102	           xmlMemBlocks() - mem_base);
6103	    test_ret++;
6104            printf(" %d", n_catalogs);
6105            printf(" %d", n_pubID);
6106            printf(" %d", n_sysID);
6107            printf("\n");
6108        }
6109    }
6110    }
6111    }
6112    function_tests++;
6113#endif
6114
6115    return(test_ret);
6116}
6117
6118
6119static int
6120test_xmlCatalogLocalResolveURI(void) {
6121    int test_ret = 0;
6122
6123#if defined(LIBXML_CATALOG_ENABLED)
6124    int mem_base;
6125    xmlChar * ret_val;
6126    void * catalogs; /* a document's list of catalogs */
6127    int n_catalogs;
6128    xmlChar * URI; /* the URI */
6129    int n_URI;
6130
6131    for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
6132    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
6133        mem_base = xmlMemBlocks();
6134        catalogs = gen_void_ptr(n_catalogs, 0);
6135        URI = gen_const_xmlChar_ptr(n_URI, 1);
6136
6137        ret_val = xmlCatalogLocalResolveURI(catalogs, (const xmlChar *)URI);
6138        desret_xmlChar_ptr(ret_val);
6139        call_tests++;
6140        des_void_ptr(n_catalogs, catalogs, 0);
6141        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
6142        xmlResetLastError();
6143        if (mem_base != xmlMemBlocks()) {
6144            printf("Leak of %d blocks found in xmlCatalogLocalResolveURI",
6145	           xmlMemBlocks() - mem_base);
6146	    test_ret++;
6147            printf(" %d", n_catalogs);
6148            printf(" %d", n_URI);
6149            printf("\n");
6150        }
6151    }
6152    }
6153    function_tests++;
6154#endif
6155
6156    return(test_ret);
6157}
6158
6159
6160static int
6161test_xmlCatalogRemove(void) {
6162    int test_ret = 0;
6163
6164#if defined(LIBXML_CATALOG_ENABLED)
6165    int ret_val;
6166    xmlChar * value; /* the value to remove */
6167    int n_value;
6168
6169    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
6170        value = gen_const_xmlChar_ptr(n_value, 0);
6171
6172        ret_val = xmlCatalogRemove((const xmlChar *)value);
6173        desret_int(ret_val);
6174        call_tests++;
6175        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
6176        xmlResetLastError();
6177    }
6178    function_tests++;
6179#endif
6180
6181    return(test_ret);
6182}
6183
6184
6185static int
6186test_xmlCatalogResolve(void) {
6187    int test_ret = 0;
6188
6189#if defined(LIBXML_CATALOG_ENABLED)
6190    xmlChar * ret_val;
6191    xmlChar * pubID; /* the public ID string */
6192    int n_pubID;
6193    xmlChar * sysID; /* the system ID string */
6194    int n_sysID;
6195
6196    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
6197    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
6198        pubID = gen_const_xmlChar_ptr(n_pubID, 0);
6199        sysID = gen_const_xmlChar_ptr(n_sysID, 1);
6200
6201        ret_val = xmlCatalogResolve((const xmlChar *)pubID, (const xmlChar *)sysID);
6202        desret_xmlChar_ptr(ret_val);
6203        call_tests++;
6204        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
6205        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
6206        xmlResetLastError();
6207    }
6208    }
6209    function_tests++;
6210#endif
6211
6212    return(test_ret);
6213}
6214
6215
6216static int
6217test_xmlCatalogResolvePublic(void) {
6218    int test_ret = 0;
6219
6220#if defined(LIBXML_CATALOG_ENABLED)
6221    int mem_base;
6222    xmlChar * ret_val;
6223    xmlChar * pubID; /* the public ID string */
6224    int n_pubID;
6225
6226    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
6227        mem_base = xmlMemBlocks();
6228        pubID = gen_const_xmlChar_ptr(n_pubID, 0);
6229
6230        ret_val = xmlCatalogResolvePublic((const xmlChar *)pubID);
6231        desret_xmlChar_ptr(ret_val);
6232        call_tests++;
6233        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
6234        xmlResetLastError();
6235        if (mem_base != xmlMemBlocks()) {
6236            printf("Leak of %d blocks found in xmlCatalogResolvePublic",
6237	           xmlMemBlocks() - mem_base);
6238	    test_ret++;
6239            printf(" %d", n_pubID);
6240            printf("\n");
6241        }
6242    }
6243    function_tests++;
6244#endif
6245
6246    return(test_ret);
6247}
6248
6249
6250static int
6251test_xmlCatalogResolveSystem(void) {
6252    int test_ret = 0;
6253
6254#if defined(LIBXML_CATALOG_ENABLED)
6255    int mem_base;
6256    xmlChar * ret_val;
6257    xmlChar * sysID; /* the system ID string */
6258    int n_sysID;
6259
6260    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
6261        mem_base = xmlMemBlocks();
6262        sysID = gen_const_xmlChar_ptr(n_sysID, 0);
6263
6264        ret_val = xmlCatalogResolveSystem((const xmlChar *)sysID);
6265        desret_xmlChar_ptr(ret_val);
6266        call_tests++;
6267        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 0);
6268        xmlResetLastError();
6269        if (mem_base != xmlMemBlocks()) {
6270            printf("Leak of %d blocks found in xmlCatalogResolveSystem",
6271	           xmlMemBlocks() - mem_base);
6272	    test_ret++;
6273            printf(" %d", n_sysID);
6274            printf("\n");
6275        }
6276    }
6277    function_tests++;
6278#endif
6279
6280    return(test_ret);
6281}
6282
6283
6284static int
6285test_xmlCatalogResolveURI(void) {
6286    int test_ret = 0;
6287
6288#if defined(LIBXML_CATALOG_ENABLED)
6289    int mem_base;
6290    xmlChar * ret_val;
6291    xmlChar * URI; /* the URI */
6292    int n_URI;
6293
6294    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
6295        mem_base = xmlMemBlocks();
6296        URI = gen_const_xmlChar_ptr(n_URI, 0);
6297
6298        ret_val = xmlCatalogResolveURI((const xmlChar *)URI);
6299        desret_xmlChar_ptr(ret_val);
6300        call_tests++;
6301        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
6302        xmlResetLastError();
6303        if (mem_base != xmlMemBlocks()) {
6304            printf("Leak of %d blocks found in xmlCatalogResolveURI",
6305	           xmlMemBlocks() - mem_base);
6306	    test_ret++;
6307            printf(" %d", n_URI);
6308            printf("\n");
6309        }
6310    }
6311    function_tests++;
6312#endif
6313
6314    return(test_ret);
6315}
6316
6317
6318static int
6319test_xmlCatalogSetDefaultPrefer(void) {
6320    int test_ret = 0;
6321
6322#if defined(LIBXML_CATALOG_ENABLED)
6323    int mem_base;
6324    xmlCatalogPrefer ret_val;
6325    xmlCatalogPrefer prefer; /* the default preference for delegation */
6326    int n_prefer;
6327
6328    for (n_prefer = 0;n_prefer < gen_nb_xmlCatalogPrefer;n_prefer++) {
6329        mem_base = xmlMemBlocks();
6330        prefer = gen_xmlCatalogPrefer(n_prefer, 0);
6331
6332        ret_val = xmlCatalogSetDefaultPrefer(prefer);
6333        desret_xmlCatalogPrefer(ret_val);
6334        call_tests++;
6335        des_xmlCatalogPrefer(n_prefer, prefer, 0);
6336        xmlResetLastError();
6337        if (mem_base != xmlMemBlocks()) {
6338            printf("Leak of %d blocks found in xmlCatalogSetDefaultPrefer",
6339	           xmlMemBlocks() - mem_base);
6340	    test_ret++;
6341            printf(" %d", n_prefer);
6342            printf("\n");
6343        }
6344    }
6345    function_tests++;
6346#endif
6347
6348    return(test_ret);
6349}
6350
6351
6352static int
6353test_xmlCatalogSetDefaults(void) {
6354    int test_ret = 0;
6355
6356#if defined(LIBXML_CATALOG_ENABLED)
6357    int mem_base;
6358    xmlCatalogAllow allow; /* what catalogs should be accepted */
6359    int n_allow;
6360
6361    for (n_allow = 0;n_allow < gen_nb_xmlCatalogAllow;n_allow++) {
6362        mem_base = xmlMemBlocks();
6363        allow = gen_xmlCatalogAllow(n_allow, 0);
6364
6365        xmlCatalogSetDefaults(allow);
6366        call_tests++;
6367        des_xmlCatalogAllow(n_allow, allow, 0);
6368        xmlResetLastError();
6369        if (mem_base != xmlMemBlocks()) {
6370            printf("Leak of %d blocks found in xmlCatalogSetDefaults",
6371	           xmlMemBlocks() - mem_base);
6372	    test_ret++;
6373            printf(" %d", n_allow);
6374            printf("\n");
6375        }
6376    }
6377    function_tests++;
6378#endif
6379
6380    return(test_ret);
6381}
6382
6383
6384static int
6385test_xmlConvertSGMLCatalog(void) {
6386    int test_ret = 0;
6387
6388#if defined(LIBXML_CATALOG_ENABLED)
6389    int mem_base;
6390    int ret_val;
6391    xmlCatalogPtr catal; /* the catalog */
6392    int n_catal;
6393
6394    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
6395        mem_base = xmlMemBlocks();
6396        catal = gen_xmlCatalogPtr(n_catal, 0);
6397
6398        ret_val = xmlConvertSGMLCatalog(catal);
6399        desret_int(ret_val);
6400        call_tests++;
6401        des_xmlCatalogPtr(n_catal, catal, 0);
6402        xmlResetLastError();
6403        if (mem_base != xmlMemBlocks()) {
6404            printf("Leak of %d blocks found in xmlConvertSGMLCatalog",
6405	           xmlMemBlocks() - mem_base);
6406	    test_ret++;
6407            printf(" %d", n_catal);
6408            printf("\n");
6409        }
6410    }
6411    function_tests++;
6412#endif
6413
6414    return(test_ret);
6415}
6416
6417
6418static int
6419test_xmlInitializeCatalog(void) {
6420    int test_ret = 0;
6421
6422#if defined(LIBXML_CATALOG_ENABLED)
6423    int mem_base;
6424
6425        mem_base = xmlMemBlocks();
6426
6427        xmlInitializeCatalog();
6428        call_tests++;
6429        xmlResetLastError();
6430        if (mem_base != xmlMemBlocks()) {
6431            printf("Leak of %d blocks found in xmlInitializeCatalog",
6432	           xmlMemBlocks() - mem_base);
6433	    test_ret++;
6434            printf("\n");
6435        }
6436    function_tests++;
6437#endif
6438
6439    return(test_ret);
6440}
6441
6442
6443static int
6444test_xmlLoadACatalog(void) {
6445    int test_ret = 0;
6446
6447
6448    /* missing type support */
6449    return(test_ret);
6450}
6451
6452
6453static int
6454test_xmlLoadCatalog(void) {
6455    int test_ret = 0;
6456
6457#if defined(LIBXML_CATALOG_ENABLED)
6458    int ret_val;
6459    const char * filename; /* a file path */
6460    int n_filename;
6461
6462    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
6463        filename = gen_filepath(n_filename, 0);
6464
6465        ret_val = xmlLoadCatalog(filename);
6466        desret_int(ret_val);
6467        call_tests++;
6468        des_filepath(n_filename, filename, 0);
6469        xmlResetLastError();
6470    }
6471    function_tests++;
6472#endif
6473
6474    return(test_ret);
6475}
6476
6477
6478static int
6479test_xmlLoadCatalogs(void) {
6480    int test_ret = 0;
6481
6482#if defined(LIBXML_CATALOG_ENABLED)
6483    char * pathss; /* a list of directories separated by a colon or a space. */
6484    int n_pathss;
6485
6486    for (n_pathss = 0;n_pathss < gen_nb_const_char_ptr;n_pathss++) {
6487        pathss = gen_const_char_ptr(n_pathss, 0);
6488
6489        xmlLoadCatalogs((const char *)pathss);
6490        call_tests++;
6491        des_const_char_ptr(n_pathss, (const char *)pathss, 0);
6492        xmlResetLastError();
6493    }
6494    function_tests++;
6495#endif
6496
6497    return(test_ret);
6498}
6499
6500
6501static int
6502test_xmlLoadSGMLSuperCatalog(void) {
6503    int test_ret = 0;
6504
6505
6506    /* missing type support */
6507    return(test_ret);
6508}
6509
6510
6511static int
6512test_xmlNewCatalog(void) {
6513    int test_ret = 0;
6514
6515
6516    /* missing type support */
6517    return(test_ret);
6518}
6519
6520
6521static int
6522test_xmlParseCatalogFile(void) {
6523    int test_ret = 0;
6524
6525#if defined(LIBXML_CATALOG_ENABLED)
6526    int mem_base;
6527    xmlDocPtr ret_val;
6528    const char * filename; /* the filename */
6529    int n_filename;
6530
6531    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
6532        mem_base = xmlMemBlocks();
6533        filename = gen_filepath(n_filename, 0);
6534
6535        ret_val = xmlParseCatalogFile(filename);
6536        desret_xmlDocPtr(ret_val);
6537        call_tests++;
6538        des_filepath(n_filename, filename, 0);
6539        xmlResetLastError();
6540        if (mem_base != xmlMemBlocks()) {
6541            printf("Leak of %d blocks found in xmlParseCatalogFile",
6542	           xmlMemBlocks() - mem_base);
6543	    test_ret++;
6544            printf(" %d", n_filename);
6545            printf("\n");
6546        }
6547    }
6548    function_tests++;
6549#endif
6550
6551    return(test_ret);
6552}
6553
6554static int
6555test_catalog(void) {
6556    int test_ret = 0;
6557
6558    if (quiet == 0) printf("Testing catalog : 27 of 36 functions ...\n");
6559    test_ret += test_xmlACatalogAdd();
6560    test_ret += test_xmlACatalogDump();
6561    test_ret += test_xmlACatalogRemove();
6562    test_ret += test_xmlACatalogResolve();
6563    test_ret += test_xmlACatalogResolvePublic();
6564    test_ret += test_xmlACatalogResolveSystem();
6565    test_ret += test_xmlACatalogResolveURI();
6566    test_ret += test_xmlCatalogAdd();
6567    test_ret += test_xmlCatalogCleanup();
6568    test_ret += test_xmlCatalogConvert();
6569    test_ret += test_xmlCatalogDump();
6570    test_ret += test_xmlCatalogGetDefaults();
6571    test_ret += test_xmlCatalogIsEmpty();
6572    test_ret += test_xmlCatalogLocalResolve();
6573    test_ret += test_xmlCatalogLocalResolveURI();
6574    test_ret += test_xmlCatalogRemove();
6575    test_ret += test_xmlCatalogResolve();
6576    test_ret += test_xmlCatalogResolvePublic();
6577    test_ret += test_xmlCatalogResolveSystem();
6578    test_ret += test_xmlCatalogResolveURI();
6579    test_ret += test_xmlCatalogSetDefaultPrefer();
6580    test_ret += test_xmlCatalogSetDefaults();
6581    test_ret += test_xmlConvertSGMLCatalog();
6582    test_ret += test_xmlInitializeCatalog();
6583    test_ret += test_xmlLoadACatalog();
6584    test_ret += test_xmlLoadCatalog();
6585    test_ret += test_xmlLoadCatalogs();
6586    test_ret += test_xmlLoadSGMLSuperCatalog();
6587    test_ret += test_xmlNewCatalog();
6588    test_ret += test_xmlParseCatalogFile();
6589
6590    if (test_ret != 0)
6591	printf("Module catalog: %d errors\n", test_ret);
6592    return(test_ret);
6593}
6594
6595#define gen_nb_const_xmlChRangeGroup_ptr 1
6596static xmlChRangeGroup * gen_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
6597    return(NULL);
6598}
6599static void des_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, const xmlChRangeGroup * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
6600}
6601
6602static int
6603test_xmlCharInRange(void) {
6604    int test_ret = 0;
6605
6606    int mem_base;
6607    int ret_val;
6608    unsigned int val; /* character to be validated */
6609    int n_val;
6610    xmlChRangeGroup * rptr; /* pointer to range to be used to validate */
6611    int n_rptr;
6612
6613    for (n_val = 0;n_val < gen_nb_unsigned_int;n_val++) {
6614    for (n_rptr = 0;n_rptr < gen_nb_const_xmlChRangeGroup_ptr;n_rptr++) {
6615        mem_base = xmlMemBlocks();
6616        val = gen_unsigned_int(n_val, 0);
6617        rptr = gen_const_xmlChRangeGroup_ptr(n_rptr, 1);
6618
6619        ret_val = xmlCharInRange(val, (const xmlChRangeGroup *)rptr);
6620        desret_int(ret_val);
6621        call_tests++;
6622        des_unsigned_int(n_val, val, 0);
6623        des_const_xmlChRangeGroup_ptr(n_rptr, (const xmlChRangeGroup *)rptr, 1);
6624        xmlResetLastError();
6625        if (mem_base != xmlMemBlocks()) {
6626            printf("Leak of %d blocks found in xmlCharInRange",
6627	           xmlMemBlocks() - mem_base);
6628	    test_ret++;
6629            printf(" %d", n_val);
6630            printf(" %d", n_rptr);
6631            printf("\n");
6632        }
6633    }
6634    }
6635    function_tests++;
6636
6637    return(test_ret);
6638}
6639
6640
6641static int
6642test_xmlIsBaseChar(void) {
6643    int test_ret = 0;
6644
6645    int mem_base;
6646    int ret_val;
6647    unsigned int ch; /* character to validate */
6648    int n_ch;
6649
6650    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6651        mem_base = xmlMemBlocks();
6652        ch = gen_unsigned_int(n_ch, 0);
6653
6654        ret_val = xmlIsBaseChar(ch);
6655        desret_int(ret_val);
6656        call_tests++;
6657        des_unsigned_int(n_ch, ch, 0);
6658        xmlResetLastError();
6659        if (mem_base != xmlMemBlocks()) {
6660            printf("Leak of %d blocks found in xmlIsBaseChar",
6661	           xmlMemBlocks() - mem_base);
6662	    test_ret++;
6663            printf(" %d", n_ch);
6664            printf("\n");
6665        }
6666    }
6667    function_tests++;
6668
6669    return(test_ret);
6670}
6671
6672
6673static int
6674test_xmlIsBlank(void) {
6675    int test_ret = 0;
6676
6677    int mem_base;
6678    int ret_val;
6679    unsigned int ch; /* character to validate */
6680    int n_ch;
6681
6682    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6683        mem_base = xmlMemBlocks();
6684        ch = gen_unsigned_int(n_ch, 0);
6685
6686        ret_val = xmlIsBlank(ch);
6687        desret_int(ret_val);
6688        call_tests++;
6689        des_unsigned_int(n_ch, ch, 0);
6690        xmlResetLastError();
6691        if (mem_base != xmlMemBlocks()) {
6692            printf("Leak of %d blocks found in xmlIsBlank",
6693	           xmlMemBlocks() - mem_base);
6694	    test_ret++;
6695            printf(" %d", n_ch);
6696            printf("\n");
6697        }
6698    }
6699    function_tests++;
6700
6701    return(test_ret);
6702}
6703
6704
6705static int
6706test_xmlIsChar(void) {
6707    int test_ret = 0;
6708
6709    int mem_base;
6710    int ret_val;
6711    unsigned int ch; /* character to validate */
6712    int n_ch;
6713
6714    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6715        mem_base = xmlMemBlocks();
6716        ch = gen_unsigned_int(n_ch, 0);
6717
6718        ret_val = xmlIsChar(ch);
6719        desret_int(ret_val);
6720        call_tests++;
6721        des_unsigned_int(n_ch, ch, 0);
6722        xmlResetLastError();
6723        if (mem_base != xmlMemBlocks()) {
6724            printf("Leak of %d blocks found in xmlIsChar",
6725	           xmlMemBlocks() - mem_base);
6726	    test_ret++;
6727            printf(" %d", n_ch);
6728            printf("\n");
6729        }
6730    }
6731    function_tests++;
6732
6733    return(test_ret);
6734}
6735
6736
6737static int
6738test_xmlIsCombining(void) {
6739    int test_ret = 0;
6740
6741    int mem_base;
6742    int ret_val;
6743    unsigned int ch; /* character to validate */
6744    int n_ch;
6745
6746    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6747        mem_base = xmlMemBlocks();
6748        ch = gen_unsigned_int(n_ch, 0);
6749
6750        ret_val = xmlIsCombining(ch);
6751        desret_int(ret_val);
6752        call_tests++;
6753        des_unsigned_int(n_ch, ch, 0);
6754        xmlResetLastError();
6755        if (mem_base != xmlMemBlocks()) {
6756            printf("Leak of %d blocks found in xmlIsCombining",
6757	           xmlMemBlocks() - mem_base);
6758	    test_ret++;
6759            printf(" %d", n_ch);
6760            printf("\n");
6761        }
6762    }
6763    function_tests++;
6764
6765    return(test_ret);
6766}
6767
6768
6769static int
6770test_xmlIsDigit(void) {
6771    int test_ret = 0;
6772
6773    int mem_base;
6774    int ret_val;
6775    unsigned int ch; /* character to validate */
6776    int n_ch;
6777
6778    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6779        mem_base = xmlMemBlocks();
6780        ch = gen_unsigned_int(n_ch, 0);
6781
6782        ret_val = xmlIsDigit(ch);
6783        desret_int(ret_val);
6784        call_tests++;
6785        des_unsigned_int(n_ch, ch, 0);
6786        xmlResetLastError();
6787        if (mem_base != xmlMemBlocks()) {
6788            printf("Leak of %d blocks found in xmlIsDigit",
6789	           xmlMemBlocks() - mem_base);
6790	    test_ret++;
6791            printf(" %d", n_ch);
6792            printf("\n");
6793        }
6794    }
6795    function_tests++;
6796
6797    return(test_ret);
6798}
6799
6800
6801static int
6802test_xmlIsExtender(void) {
6803    int test_ret = 0;
6804
6805    int mem_base;
6806    int ret_val;
6807    unsigned int ch; /* character to validate */
6808    int n_ch;
6809
6810    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6811        mem_base = xmlMemBlocks();
6812        ch = gen_unsigned_int(n_ch, 0);
6813
6814        ret_val = xmlIsExtender(ch);
6815        desret_int(ret_val);
6816        call_tests++;
6817        des_unsigned_int(n_ch, ch, 0);
6818        xmlResetLastError();
6819        if (mem_base != xmlMemBlocks()) {
6820            printf("Leak of %d blocks found in xmlIsExtender",
6821	           xmlMemBlocks() - mem_base);
6822	    test_ret++;
6823            printf(" %d", n_ch);
6824            printf("\n");
6825        }
6826    }
6827    function_tests++;
6828
6829    return(test_ret);
6830}
6831
6832
6833static int
6834test_xmlIsIdeographic(void) {
6835    int test_ret = 0;
6836
6837    int mem_base;
6838    int ret_val;
6839    unsigned int ch; /* character to validate */
6840    int n_ch;
6841
6842    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6843        mem_base = xmlMemBlocks();
6844        ch = gen_unsigned_int(n_ch, 0);
6845
6846        ret_val = xmlIsIdeographic(ch);
6847        desret_int(ret_val);
6848        call_tests++;
6849        des_unsigned_int(n_ch, ch, 0);
6850        xmlResetLastError();
6851        if (mem_base != xmlMemBlocks()) {
6852            printf("Leak of %d blocks found in xmlIsIdeographic",
6853	           xmlMemBlocks() - mem_base);
6854	    test_ret++;
6855            printf(" %d", n_ch);
6856            printf("\n");
6857        }
6858    }
6859    function_tests++;
6860
6861    return(test_ret);
6862}
6863
6864
6865static int
6866test_xmlIsPubidChar(void) {
6867    int test_ret = 0;
6868
6869    int mem_base;
6870    int ret_val;
6871    unsigned int ch; /* character to validate */
6872    int n_ch;
6873
6874    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
6875        mem_base = xmlMemBlocks();
6876        ch = gen_unsigned_int(n_ch, 0);
6877
6878        ret_val = xmlIsPubidChar(ch);
6879        desret_int(ret_val);
6880        call_tests++;
6881        des_unsigned_int(n_ch, ch, 0);
6882        xmlResetLastError();
6883        if (mem_base != xmlMemBlocks()) {
6884            printf("Leak of %d blocks found in xmlIsPubidChar",
6885	           xmlMemBlocks() - mem_base);
6886	    test_ret++;
6887            printf(" %d", n_ch);
6888            printf("\n");
6889        }
6890    }
6891    function_tests++;
6892
6893    return(test_ret);
6894}
6895
6896static int
6897test_chvalid(void) {
6898    int test_ret = 0;
6899
6900    if (quiet == 0) printf("Testing chvalid : 9 of 9 functions ...\n");
6901    test_ret += test_xmlCharInRange();
6902    test_ret += test_xmlIsBaseChar();
6903    test_ret += test_xmlIsBlank();
6904    test_ret += test_xmlIsChar();
6905    test_ret += test_xmlIsCombining();
6906    test_ret += test_xmlIsDigit();
6907    test_ret += test_xmlIsExtender();
6908    test_ret += test_xmlIsIdeographic();
6909    test_ret += test_xmlIsPubidChar();
6910
6911    if (test_ret != 0)
6912	printf("Module chvalid: %d errors\n", test_ret);
6913    return(test_ret);
6914}
6915
6916static int
6917test_xmlBoolToText(void) {
6918    int test_ret = 0;
6919
6920#if defined(LIBXML_DEBUG_ENABLED)
6921    int mem_base;
6922    const char * ret_val;
6923    int boolval; /* a bool to turn into text */
6924    int n_boolval;
6925
6926    for (n_boolval = 0;n_boolval < gen_nb_int;n_boolval++) {
6927        mem_base = xmlMemBlocks();
6928        boolval = gen_int(n_boolval, 0);
6929
6930        ret_val = xmlBoolToText(boolval);
6931        desret_const_char_ptr(ret_val);
6932        call_tests++;
6933        des_int(n_boolval, boolval, 0);
6934        xmlResetLastError();
6935        if (mem_base != xmlMemBlocks()) {
6936            printf("Leak of %d blocks found in xmlBoolToText",
6937	           xmlMemBlocks() - mem_base);
6938	    test_ret++;
6939            printf(" %d", n_boolval);
6940            printf("\n");
6941        }
6942    }
6943    function_tests++;
6944#endif
6945
6946    return(test_ret);
6947}
6948
6949
6950static int
6951test_xmlDebugCheckDocument(void) {
6952    int test_ret = 0;
6953
6954#if defined(LIBXML_DEBUG_ENABLED)
6955    int mem_base;
6956    int ret_val;
6957    FILE * output; /* the FILE * for the output */
6958    int n_output;
6959    xmlDocPtr doc; /* the document */
6960    int n_doc;
6961
6962    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
6963    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
6964        mem_base = xmlMemBlocks();
6965        output = gen_debug_FILE_ptr(n_output, 0);
6966        doc = gen_xmlDocPtr(n_doc, 1);
6967
6968        ret_val = xmlDebugCheckDocument(output, doc);
6969        desret_int(ret_val);
6970        call_tests++;
6971        des_debug_FILE_ptr(n_output, output, 0);
6972        des_xmlDocPtr(n_doc, doc, 1);
6973        xmlResetLastError();
6974        if (mem_base != xmlMemBlocks()) {
6975            printf("Leak of %d blocks found in xmlDebugCheckDocument",
6976	           xmlMemBlocks() - mem_base);
6977	    test_ret++;
6978            printf(" %d", n_output);
6979            printf(" %d", n_doc);
6980            printf("\n");
6981        }
6982    }
6983    }
6984    function_tests++;
6985#endif
6986
6987    return(test_ret);
6988}
6989
6990
6991static int
6992test_xmlDebugDumpAttr(void) {
6993    int test_ret = 0;
6994
6995#if defined(LIBXML_DEBUG_ENABLED)
6996    int mem_base;
6997    FILE * output; /* the FILE * for the output */
6998    int n_output;
6999    xmlAttrPtr attr; /* the attribute */
7000    int n_attr;
7001    int depth; /* the indentation level. */
7002    int n_depth;
7003
7004    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7005    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
7006    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
7007        mem_base = xmlMemBlocks();
7008        output = gen_debug_FILE_ptr(n_output, 0);
7009        attr = gen_xmlAttrPtr(n_attr, 1);
7010        depth = gen_int(n_depth, 2);
7011
7012        xmlDebugDumpAttr(output, attr, depth);
7013        call_tests++;
7014        des_debug_FILE_ptr(n_output, output, 0);
7015        des_xmlAttrPtr(n_attr, attr, 1);
7016        des_int(n_depth, depth, 2);
7017        xmlResetLastError();
7018        if (mem_base != xmlMemBlocks()) {
7019            printf("Leak of %d blocks found in xmlDebugDumpAttr",
7020	           xmlMemBlocks() - mem_base);
7021	    test_ret++;
7022            printf(" %d", n_output);
7023            printf(" %d", n_attr);
7024            printf(" %d", n_depth);
7025            printf("\n");
7026        }
7027    }
7028    }
7029    }
7030    function_tests++;
7031#endif
7032
7033    return(test_ret);
7034}
7035
7036
7037static int
7038test_xmlDebugDumpAttrList(void) {
7039    int test_ret = 0;
7040
7041#if defined(LIBXML_DEBUG_ENABLED)
7042    int mem_base;
7043    FILE * output; /* the FILE * for the output */
7044    int n_output;
7045    xmlAttrPtr attr; /* the attribute list */
7046    int n_attr;
7047    int depth; /* the indentation level. */
7048    int n_depth;
7049
7050    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7051    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
7052    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
7053        mem_base = xmlMemBlocks();
7054        output = gen_debug_FILE_ptr(n_output, 0);
7055        attr = gen_xmlAttrPtr(n_attr, 1);
7056        depth = gen_int(n_depth, 2);
7057
7058        xmlDebugDumpAttrList(output, attr, depth);
7059        call_tests++;
7060        des_debug_FILE_ptr(n_output, output, 0);
7061        des_xmlAttrPtr(n_attr, attr, 1);
7062        des_int(n_depth, depth, 2);
7063        xmlResetLastError();
7064        if (mem_base != xmlMemBlocks()) {
7065            printf("Leak of %d blocks found in xmlDebugDumpAttrList",
7066	           xmlMemBlocks() - mem_base);
7067	    test_ret++;
7068            printf(" %d", n_output);
7069            printf(" %d", n_attr);
7070            printf(" %d", n_depth);
7071            printf("\n");
7072        }
7073    }
7074    }
7075    }
7076    function_tests++;
7077#endif
7078
7079    return(test_ret);
7080}
7081
7082
7083static int
7084test_xmlDebugDumpDTD(void) {
7085    int test_ret = 0;
7086
7087#if defined(LIBXML_DEBUG_ENABLED)
7088    int mem_base;
7089    FILE * output; /* the FILE * for the output */
7090    int n_output;
7091    xmlDtdPtr dtd; /* the DTD */
7092    int n_dtd;
7093
7094    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7095    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
7096        mem_base = xmlMemBlocks();
7097        output = gen_debug_FILE_ptr(n_output, 0);
7098        dtd = gen_xmlDtdPtr(n_dtd, 1);
7099
7100        xmlDebugDumpDTD(output, dtd);
7101        call_tests++;
7102        des_debug_FILE_ptr(n_output, output, 0);
7103        des_xmlDtdPtr(n_dtd, dtd, 1);
7104        xmlResetLastError();
7105        if (mem_base != xmlMemBlocks()) {
7106            printf("Leak of %d blocks found in xmlDebugDumpDTD",
7107	           xmlMemBlocks() - mem_base);
7108	    test_ret++;
7109            printf(" %d", n_output);
7110            printf(" %d", n_dtd);
7111            printf("\n");
7112        }
7113    }
7114    }
7115    function_tests++;
7116#endif
7117
7118    return(test_ret);
7119}
7120
7121
7122static int
7123test_xmlDebugDumpDocument(void) {
7124    int test_ret = 0;
7125
7126#if defined(LIBXML_DEBUG_ENABLED)
7127    int mem_base;
7128    FILE * output; /* the FILE * for the output */
7129    int n_output;
7130    xmlDocPtr doc; /* the document */
7131    int n_doc;
7132
7133    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7134    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
7135        mem_base = xmlMemBlocks();
7136        output = gen_debug_FILE_ptr(n_output, 0);
7137        doc = gen_xmlDocPtr(n_doc, 1);
7138
7139        xmlDebugDumpDocument(output, doc);
7140        call_tests++;
7141        des_debug_FILE_ptr(n_output, output, 0);
7142        des_xmlDocPtr(n_doc, doc, 1);
7143        xmlResetLastError();
7144        if (mem_base != xmlMemBlocks()) {
7145            printf("Leak of %d blocks found in xmlDebugDumpDocument",
7146	           xmlMemBlocks() - mem_base);
7147	    test_ret++;
7148            printf(" %d", n_output);
7149            printf(" %d", n_doc);
7150            printf("\n");
7151        }
7152    }
7153    }
7154    function_tests++;
7155#endif
7156
7157    return(test_ret);
7158}
7159
7160
7161static int
7162test_xmlDebugDumpDocumentHead(void) {
7163    int test_ret = 0;
7164
7165#if defined(LIBXML_DEBUG_ENABLED)
7166    int mem_base;
7167    FILE * output; /* the FILE * for the output */
7168    int n_output;
7169    xmlDocPtr doc; /* the document */
7170    int n_doc;
7171
7172    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7173    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
7174        mem_base = xmlMemBlocks();
7175        output = gen_debug_FILE_ptr(n_output, 0);
7176        doc = gen_xmlDocPtr(n_doc, 1);
7177
7178        xmlDebugDumpDocumentHead(output, doc);
7179        call_tests++;
7180        des_debug_FILE_ptr(n_output, output, 0);
7181        des_xmlDocPtr(n_doc, doc, 1);
7182        xmlResetLastError();
7183        if (mem_base != xmlMemBlocks()) {
7184            printf("Leak of %d blocks found in xmlDebugDumpDocumentHead",
7185	           xmlMemBlocks() - mem_base);
7186	    test_ret++;
7187            printf(" %d", n_output);
7188            printf(" %d", n_doc);
7189            printf("\n");
7190        }
7191    }
7192    }
7193    function_tests++;
7194#endif
7195
7196    return(test_ret);
7197}
7198
7199
7200static int
7201test_xmlDebugDumpEntities(void) {
7202    int test_ret = 0;
7203
7204#if defined(LIBXML_DEBUG_ENABLED)
7205    int mem_base;
7206    FILE * output; /* the FILE * for the output */
7207    int n_output;
7208    xmlDocPtr doc; /* the document */
7209    int n_doc;
7210
7211    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7212    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
7213        mem_base = xmlMemBlocks();
7214        output = gen_debug_FILE_ptr(n_output, 0);
7215        doc = gen_xmlDocPtr(n_doc, 1);
7216
7217        xmlDebugDumpEntities(output, doc);
7218        call_tests++;
7219        des_debug_FILE_ptr(n_output, output, 0);
7220        des_xmlDocPtr(n_doc, doc, 1);
7221        xmlResetLastError();
7222        if (mem_base != xmlMemBlocks()) {
7223            printf("Leak of %d blocks found in xmlDebugDumpEntities",
7224	           xmlMemBlocks() - mem_base);
7225	    test_ret++;
7226            printf(" %d", n_output);
7227            printf(" %d", n_doc);
7228            printf("\n");
7229        }
7230    }
7231    }
7232    function_tests++;
7233#endif
7234
7235    return(test_ret);
7236}
7237
7238
7239static int
7240test_xmlDebugDumpNode(void) {
7241    int test_ret = 0;
7242
7243#if defined(LIBXML_DEBUG_ENABLED)
7244    int mem_base;
7245    FILE * output; /* the FILE * for the output */
7246    int n_output;
7247    xmlNodePtr node; /* the node */
7248    int n_node;
7249    int depth; /* the indentation level. */
7250    int n_depth;
7251
7252    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7253    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7254    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
7255        mem_base = xmlMemBlocks();
7256        output = gen_debug_FILE_ptr(n_output, 0);
7257        node = gen_xmlNodePtr(n_node, 1);
7258        depth = gen_int(n_depth, 2);
7259
7260        xmlDebugDumpNode(output, node, depth);
7261        call_tests++;
7262        des_debug_FILE_ptr(n_output, output, 0);
7263        des_xmlNodePtr(n_node, node, 1);
7264        des_int(n_depth, depth, 2);
7265        xmlResetLastError();
7266        if (mem_base != xmlMemBlocks()) {
7267            printf("Leak of %d blocks found in xmlDebugDumpNode",
7268	           xmlMemBlocks() - mem_base);
7269	    test_ret++;
7270            printf(" %d", n_output);
7271            printf(" %d", n_node);
7272            printf(" %d", n_depth);
7273            printf("\n");
7274        }
7275    }
7276    }
7277    }
7278    function_tests++;
7279#endif
7280
7281    return(test_ret);
7282}
7283
7284
7285static int
7286test_xmlDebugDumpNodeList(void) {
7287    int test_ret = 0;
7288
7289#if defined(LIBXML_DEBUG_ENABLED)
7290    int mem_base;
7291    FILE * output; /* the FILE * for the output */
7292    int n_output;
7293    xmlNodePtr node; /* the node list */
7294    int n_node;
7295    int depth; /* the indentation level. */
7296    int n_depth;
7297
7298    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7299    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7300    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
7301        mem_base = xmlMemBlocks();
7302        output = gen_debug_FILE_ptr(n_output, 0);
7303        node = gen_xmlNodePtr(n_node, 1);
7304        depth = gen_int(n_depth, 2);
7305
7306        xmlDebugDumpNodeList(output, node, depth);
7307        call_tests++;
7308        des_debug_FILE_ptr(n_output, output, 0);
7309        des_xmlNodePtr(n_node, node, 1);
7310        des_int(n_depth, depth, 2);
7311        xmlResetLastError();
7312        if (mem_base != xmlMemBlocks()) {
7313            printf("Leak of %d blocks found in xmlDebugDumpNodeList",
7314	           xmlMemBlocks() - mem_base);
7315	    test_ret++;
7316            printf(" %d", n_output);
7317            printf(" %d", n_node);
7318            printf(" %d", n_depth);
7319            printf("\n");
7320        }
7321    }
7322    }
7323    }
7324    function_tests++;
7325#endif
7326
7327    return(test_ret);
7328}
7329
7330
7331static int
7332test_xmlDebugDumpOneNode(void) {
7333    int test_ret = 0;
7334
7335#if defined(LIBXML_DEBUG_ENABLED)
7336    int mem_base;
7337    FILE * output; /* the FILE * for the output */
7338    int n_output;
7339    xmlNodePtr node; /* the node */
7340    int n_node;
7341    int depth; /* the indentation level. */
7342    int n_depth;
7343
7344    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7345    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7346    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
7347        mem_base = xmlMemBlocks();
7348        output = gen_debug_FILE_ptr(n_output, 0);
7349        node = gen_xmlNodePtr(n_node, 1);
7350        depth = gen_int(n_depth, 2);
7351
7352        xmlDebugDumpOneNode(output, node, depth);
7353        call_tests++;
7354        des_debug_FILE_ptr(n_output, output, 0);
7355        des_xmlNodePtr(n_node, node, 1);
7356        des_int(n_depth, depth, 2);
7357        xmlResetLastError();
7358        if (mem_base != xmlMemBlocks()) {
7359            printf("Leak of %d blocks found in xmlDebugDumpOneNode",
7360	           xmlMemBlocks() - mem_base);
7361	    test_ret++;
7362            printf(" %d", n_output);
7363            printf(" %d", n_node);
7364            printf(" %d", n_depth);
7365            printf("\n");
7366        }
7367    }
7368    }
7369    }
7370    function_tests++;
7371#endif
7372
7373    return(test_ret);
7374}
7375
7376
7377static int
7378test_xmlDebugDumpString(void) {
7379    int test_ret = 0;
7380
7381#if defined(LIBXML_DEBUG_ENABLED)
7382    int mem_base;
7383    FILE * output; /* the FILE * for the output */
7384    int n_output;
7385    xmlChar * str; /* the string */
7386    int n_str;
7387
7388    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7389    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
7390        mem_base = xmlMemBlocks();
7391        output = gen_debug_FILE_ptr(n_output, 0);
7392        str = gen_const_xmlChar_ptr(n_str, 1);
7393
7394        xmlDebugDumpString(output, (const xmlChar *)str);
7395        call_tests++;
7396        des_debug_FILE_ptr(n_output, output, 0);
7397        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
7398        xmlResetLastError();
7399        if (mem_base != xmlMemBlocks()) {
7400            printf("Leak of %d blocks found in xmlDebugDumpString",
7401	           xmlMemBlocks() - mem_base);
7402	    test_ret++;
7403            printf(" %d", n_output);
7404            printf(" %d", n_str);
7405            printf("\n");
7406        }
7407    }
7408    }
7409    function_tests++;
7410#endif
7411
7412    return(test_ret);
7413}
7414
7415
7416static int
7417test_xmlLsCountNode(void) {
7418    int test_ret = 0;
7419
7420#if defined(LIBXML_DEBUG_ENABLED)
7421    int mem_base;
7422    int ret_val;
7423    xmlNodePtr node; /* the node to count */
7424    int n_node;
7425
7426    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7427        mem_base = xmlMemBlocks();
7428        node = gen_xmlNodePtr(n_node, 0);
7429
7430        ret_val = xmlLsCountNode(node);
7431        desret_int(ret_val);
7432        call_tests++;
7433        des_xmlNodePtr(n_node, node, 0);
7434        xmlResetLastError();
7435        if (mem_base != xmlMemBlocks()) {
7436            printf("Leak of %d blocks found in xmlLsCountNode",
7437	           xmlMemBlocks() - mem_base);
7438	    test_ret++;
7439            printf(" %d", n_node);
7440            printf("\n");
7441        }
7442    }
7443    function_tests++;
7444#endif
7445
7446    return(test_ret);
7447}
7448
7449
7450static int
7451test_xmlLsOneNode(void) {
7452    int test_ret = 0;
7453
7454#if defined(LIBXML_DEBUG_ENABLED)
7455    int mem_base;
7456    FILE * output; /* the FILE * for the output */
7457    int n_output;
7458    xmlNodePtr node; /* the node to dump */
7459    int n_node;
7460
7461    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
7462    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7463        mem_base = xmlMemBlocks();
7464        output = gen_debug_FILE_ptr(n_output, 0);
7465        node = gen_xmlNodePtr(n_node, 1);
7466
7467        xmlLsOneNode(output, node);
7468        call_tests++;
7469        des_debug_FILE_ptr(n_output, output, 0);
7470        des_xmlNodePtr(n_node, node, 1);
7471        xmlResetLastError();
7472        if (mem_base != xmlMemBlocks()) {
7473            printf("Leak of %d blocks found in xmlLsOneNode",
7474	           xmlMemBlocks() - mem_base);
7475	    test_ret++;
7476            printf(" %d", n_output);
7477            printf(" %d", n_node);
7478            printf("\n");
7479        }
7480    }
7481    }
7482    function_tests++;
7483#endif
7484
7485    return(test_ret);
7486}
7487
7488
7489#define gen_nb_char_ptr 1
7490static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
7491    return(NULL);
7492}
7493static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
7494}
7495
7496static int
7497test_xmlShell(void) {
7498    int test_ret = 0;
7499
7500
7501    /* missing type support */
7502    return(test_ret);
7503}
7504
7505
7506static int
7507test_xmlShellBase(void) {
7508    int test_ret = 0;
7509
7510#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7511    int mem_base;
7512    int ret_val;
7513    xmlShellCtxtPtr ctxt; /* the shell context */
7514    int n_ctxt;
7515    char * arg; /* unused */
7516    int n_arg;
7517    xmlNodePtr node; /* a node */
7518    int n_node;
7519    xmlNodePtr node2; /* unused */
7520    int n_node2;
7521
7522    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7523    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
7524    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7525    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7526        mem_base = xmlMemBlocks();
7527        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7528        arg = gen_char_ptr(n_arg, 1);
7529        node = gen_xmlNodePtr(n_node, 2);
7530        node2 = gen_xmlNodePtr(n_node2, 3);
7531
7532        ret_val = xmlShellBase(ctxt, arg, node, node2);
7533        desret_int(ret_val);
7534        call_tests++;
7535        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7536        des_char_ptr(n_arg, arg, 1);
7537        des_xmlNodePtr(n_node, node, 2);
7538        des_xmlNodePtr(n_node2, node2, 3);
7539        xmlResetLastError();
7540        if (mem_base != xmlMemBlocks()) {
7541            printf("Leak of %d blocks found in xmlShellBase",
7542	           xmlMemBlocks() - mem_base);
7543	    test_ret++;
7544            printf(" %d", n_ctxt);
7545            printf(" %d", n_arg);
7546            printf(" %d", n_node);
7547            printf(" %d", n_node2);
7548            printf("\n");
7549        }
7550    }
7551    }
7552    }
7553    }
7554    function_tests++;
7555#endif
7556
7557    return(test_ret);
7558}
7559
7560
7561static int
7562test_xmlShellCat(void) {
7563    int test_ret = 0;
7564
7565#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
7566    int mem_base;
7567    int ret_val;
7568    xmlShellCtxtPtr ctxt; /* the shell context */
7569    int n_ctxt;
7570    char * arg; /* unused */
7571    int n_arg;
7572    xmlNodePtr node; /* a node */
7573    int n_node;
7574    xmlNodePtr node2; /* unused */
7575    int n_node2;
7576
7577    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7578    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
7579    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7580    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7581        mem_base = xmlMemBlocks();
7582        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7583        arg = gen_char_ptr(n_arg, 1);
7584        node = gen_xmlNodePtr(n_node, 2);
7585        node2 = gen_xmlNodePtr(n_node2, 3);
7586
7587        ret_val = xmlShellCat(ctxt, arg, node, node2);
7588        desret_int(ret_val);
7589        call_tests++;
7590        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7591        des_char_ptr(n_arg, arg, 1);
7592        des_xmlNodePtr(n_node, node, 2);
7593        des_xmlNodePtr(n_node2, node2, 3);
7594        xmlResetLastError();
7595        if (mem_base != xmlMemBlocks()) {
7596            printf("Leak of %d blocks found in xmlShellCat",
7597	           xmlMemBlocks() - mem_base);
7598	    test_ret++;
7599            printf(" %d", n_ctxt);
7600            printf(" %d", n_arg);
7601            printf(" %d", n_node);
7602            printf(" %d", n_node2);
7603            printf("\n");
7604        }
7605    }
7606    }
7607    }
7608    }
7609    function_tests++;
7610#endif
7611
7612    return(test_ret);
7613}
7614
7615
7616static int
7617test_xmlShellDir(void) {
7618    int test_ret = 0;
7619
7620#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7621    int mem_base;
7622    int ret_val;
7623    xmlShellCtxtPtr ctxt; /* the shell context */
7624    int n_ctxt;
7625    char * arg; /* unused */
7626    int n_arg;
7627    xmlNodePtr node; /* a node */
7628    int n_node;
7629    xmlNodePtr node2; /* unused */
7630    int n_node2;
7631
7632    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7633    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
7634    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7635    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7636        mem_base = xmlMemBlocks();
7637        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7638        arg = gen_char_ptr(n_arg, 1);
7639        node = gen_xmlNodePtr(n_node, 2);
7640        node2 = gen_xmlNodePtr(n_node2, 3);
7641
7642        ret_val = xmlShellDir(ctxt, arg, node, node2);
7643        desret_int(ret_val);
7644        call_tests++;
7645        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7646        des_char_ptr(n_arg, arg, 1);
7647        des_xmlNodePtr(n_node, node, 2);
7648        des_xmlNodePtr(n_node2, node2, 3);
7649        xmlResetLastError();
7650        if (mem_base != xmlMemBlocks()) {
7651            printf("Leak of %d blocks found in xmlShellDir",
7652	           xmlMemBlocks() - mem_base);
7653	    test_ret++;
7654            printf(" %d", n_ctxt);
7655            printf(" %d", n_arg);
7656            printf(" %d", n_node);
7657            printf(" %d", n_node2);
7658            printf("\n");
7659        }
7660    }
7661    }
7662    }
7663    }
7664    function_tests++;
7665#endif
7666
7667    return(test_ret);
7668}
7669
7670
7671static int
7672test_xmlShellDu(void) {
7673    int test_ret = 0;
7674
7675#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7676    int mem_base;
7677    int ret_val;
7678    xmlShellCtxtPtr ctxt; /* the shell context */
7679    int n_ctxt;
7680    char * arg; /* unused */
7681    int n_arg;
7682    xmlNodePtr tree; /* a node defining a subtree */
7683    int n_tree;
7684    xmlNodePtr node2; /* unused */
7685    int n_node2;
7686
7687    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7688    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
7689    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
7690    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7691        mem_base = xmlMemBlocks();
7692        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7693        arg = gen_char_ptr(n_arg, 1);
7694        tree = gen_xmlNodePtr(n_tree, 2);
7695        node2 = gen_xmlNodePtr(n_node2, 3);
7696
7697        ret_val = xmlShellDu(ctxt, arg, tree, node2);
7698        desret_int(ret_val);
7699        call_tests++;
7700        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7701        des_char_ptr(n_arg, arg, 1);
7702        des_xmlNodePtr(n_tree, tree, 2);
7703        des_xmlNodePtr(n_node2, node2, 3);
7704        xmlResetLastError();
7705        if (mem_base != xmlMemBlocks()) {
7706            printf("Leak of %d blocks found in xmlShellDu",
7707	           xmlMemBlocks() - mem_base);
7708	    test_ret++;
7709            printf(" %d", n_ctxt);
7710            printf(" %d", n_arg);
7711            printf(" %d", n_tree);
7712            printf(" %d", n_node2);
7713            printf("\n");
7714        }
7715    }
7716    }
7717    }
7718    }
7719    function_tests++;
7720#endif
7721
7722    return(test_ret);
7723}
7724
7725
7726static int
7727test_xmlShellList(void) {
7728    int test_ret = 0;
7729
7730#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7731    int mem_base;
7732    int ret_val;
7733    xmlShellCtxtPtr ctxt; /* the shell context */
7734    int n_ctxt;
7735    char * arg; /* unused */
7736    int n_arg;
7737    xmlNodePtr node; /* a node */
7738    int n_node;
7739    xmlNodePtr node2; /* unused */
7740    int n_node2;
7741
7742    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7743    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
7744    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7745    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7746        mem_base = xmlMemBlocks();
7747        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7748        arg = gen_char_ptr(n_arg, 1);
7749        node = gen_xmlNodePtr(n_node, 2);
7750        node2 = gen_xmlNodePtr(n_node2, 3);
7751
7752        ret_val = xmlShellList(ctxt, arg, node, node2);
7753        desret_int(ret_val);
7754        call_tests++;
7755        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7756        des_char_ptr(n_arg, arg, 1);
7757        des_xmlNodePtr(n_node, node, 2);
7758        des_xmlNodePtr(n_node2, node2, 3);
7759        xmlResetLastError();
7760        if (mem_base != xmlMemBlocks()) {
7761            printf("Leak of %d blocks found in xmlShellList",
7762	           xmlMemBlocks() - mem_base);
7763	    test_ret++;
7764            printf(" %d", n_ctxt);
7765            printf(" %d", n_arg);
7766            printf(" %d", n_node);
7767            printf(" %d", n_node2);
7768            printf("\n");
7769        }
7770    }
7771    }
7772    }
7773    }
7774    function_tests++;
7775#endif
7776
7777    return(test_ret);
7778}
7779
7780
7781static int
7782test_xmlShellLoad(void) {
7783    int test_ret = 0;
7784
7785#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7786    int mem_base;
7787    int ret_val;
7788    xmlShellCtxtPtr ctxt; /* the shell context */
7789    int n_ctxt;
7790    char * filename; /* the file name */
7791    int n_filename;
7792    xmlNodePtr node; /* unused */
7793    int n_node;
7794    xmlNodePtr node2; /* unused */
7795    int n_node2;
7796
7797    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7798    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
7799    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7800    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7801        mem_base = xmlMemBlocks();
7802        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7803        filename = gen_char_ptr(n_filename, 1);
7804        node = gen_xmlNodePtr(n_node, 2);
7805        node2 = gen_xmlNodePtr(n_node2, 3);
7806
7807        ret_val = xmlShellLoad(ctxt, filename, node, node2);
7808        desret_int(ret_val);
7809        call_tests++;
7810        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7811        des_char_ptr(n_filename, filename, 1);
7812        des_xmlNodePtr(n_node, node, 2);
7813        des_xmlNodePtr(n_node2, node2, 3);
7814        xmlResetLastError();
7815        if (mem_base != xmlMemBlocks()) {
7816            printf("Leak of %d blocks found in xmlShellLoad",
7817	           xmlMemBlocks() - mem_base);
7818	    test_ret++;
7819            printf(" %d", n_ctxt);
7820            printf(" %d", n_filename);
7821            printf(" %d", n_node);
7822            printf(" %d", n_node2);
7823            printf("\n");
7824        }
7825    }
7826    }
7827    }
7828    }
7829    function_tests++;
7830#endif
7831
7832    return(test_ret);
7833}
7834
7835
7836static int
7837test_xmlShellPrintXPathResult(void) {
7838    int test_ret = 0;
7839
7840#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7841    int mem_base;
7842    xmlXPathObjectPtr list; /* a valid result generated by an xpath evaluation */
7843    int n_list;
7844
7845    for (n_list = 0;n_list < gen_nb_xmlXPathObjectPtr;n_list++) {
7846        mem_base = xmlMemBlocks();
7847        list = gen_xmlXPathObjectPtr(n_list, 0);
7848
7849        xmlShellPrintXPathResult(list);
7850        call_tests++;
7851        des_xmlXPathObjectPtr(n_list, list, 0);
7852        xmlResetLastError();
7853        if (mem_base != xmlMemBlocks()) {
7854            printf("Leak of %d blocks found in xmlShellPrintXPathResult",
7855	           xmlMemBlocks() - mem_base);
7856	    test_ret++;
7857            printf(" %d", n_list);
7858            printf("\n");
7859        }
7860    }
7861    function_tests++;
7862#endif
7863
7864    return(test_ret);
7865}
7866
7867
7868static int
7869test_xmlShellPwd(void) {
7870    int test_ret = 0;
7871
7872#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
7873    int mem_base;
7874    int ret_val;
7875    xmlShellCtxtPtr ctxt; /* the shell context */
7876    int n_ctxt;
7877    char * buffer; /* the output buffer */
7878    int n_buffer;
7879    xmlNodePtr node; /* a node */
7880    int n_node;
7881    xmlNodePtr node2; /* unused */
7882    int n_node2;
7883
7884    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7885    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
7886    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7887    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7888        mem_base = xmlMemBlocks();
7889        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7890        buffer = gen_char_ptr(n_buffer, 1);
7891        node = gen_xmlNodePtr(n_node, 2);
7892        node2 = gen_xmlNodePtr(n_node2, 3);
7893
7894        ret_val = xmlShellPwd(ctxt, buffer, node, node2);
7895        desret_int(ret_val);
7896        call_tests++;
7897        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7898        des_char_ptr(n_buffer, buffer, 1);
7899        des_xmlNodePtr(n_node, node, 2);
7900        des_xmlNodePtr(n_node2, node2, 3);
7901        xmlResetLastError();
7902        if (mem_base != xmlMemBlocks()) {
7903            printf("Leak of %d blocks found in xmlShellPwd",
7904	           xmlMemBlocks() - mem_base);
7905	    test_ret++;
7906            printf(" %d", n_ctxt);
7907            printf(" %d", n_buffer);
7908            printf(" %d", n_node);
7909            printf(" %d", n_node2);
7910            printf("\n");
7911        }
7912    }
7913    }
7914    }
7915    }
7916    function_tests++;
7917#endif
7918
7919    return(test_ret);
7920}
7921
7922
7923static int
7924test_xmlShellSave(void) {
7925    int test_ret = 0;
7926
7927#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
7928    int mem_base;
7929    int ret_val;
7930    xmlShellCtxtPtr ctxt; /* the shell context */
7931    int n_ctxt;
7932    char * filename; /* the file name (optional) */
7933    int n_filename;
7934    xmlNodePtr node; /* unused */
7935    int n_node;
7936    xmlNodePtr node2; /* unused */
7937    int n_node2;
7938
7939    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7940    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
7941    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7942    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7943        mem_base = xmlMemBlocks();
7944        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
7945        filename = gen_char_ptr(n_filename, 1);
7946        node = gen_xmlNodePtr(n_node, 2);
7947        node2 = gen_xmlNodePtr(n_node2, 3);
7948
7949        ret_val = xmlShellSave(ctxt, filename, node, node2);
7950        desret_int(ret_val);
7951        call_tests++;
7952        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
7953        des_char_ptr(n_filename, filename, 1);
7954        des_xmlNodePtr(n_node, node, 2);
7955        des_xmlNodePtr(n_node2, node2, 3);
7956        xmlResetLastError();
7957        if (mem_base != xmlMemBlocks()) {
7958            printf("Leak of %d blocks found in xmlShellSave",
7959	           xmlMemBlocks() - mem_base);
7960	    test_ret++;
7961            printf(" %d", n_ctxt);
7962            printf(" %d", n_filename);
7963            printf(" %d", n_node);
7964            printf(" %d", n_node2);
7965            printf("\n");
7966        }
7967    }
7968    }
7969    }
7970    }
7971    function_tests++;
7972#endif
7973
7974    return(test_ret);
7975}
7976
7977
7978static int
7979test_xmlShellValidate(void) {
7980    int test_ret = 0;
7981
7982#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED)
7983    int mem_base;
7984    int ret_val;
7985    xmlShellCtxtPtr ctxt; /* the shell context */
7986    int n_ctxt;
7987    char * dtd; /* the DTD URI (optional) */
7988    int n_dtd;
7989    xmlNodePtr node; /* unused */
7990    int n_node;
7991    xmlNodePtr node2; /* unused */
7992    int n_node2;
7993
7994    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
7995    for (n_dtd = 0;n_dtd < gen_nb_char_ptr;n_dtd++) {
7996    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
7997    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
7998        mem_base = xmlMemBlocks();
7999        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
8000        dtd = gen_char_ptr(n_dtd, 1);
8001        node = gen_xmlNodePtr(n_node, 2);
8002        node2 = gen_xmlNodePtr(n_node2, 3);
8003
8004        ret_val = xmlShellValidate(ctxt, dtd, node, node2);
8005        desret_int(ret_val);
8006        call_tests++;
8007        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
8008        des_char_ptr(n_dtd, dtd, 1);
8009        des_xmlNodePtr(n_node, node, 2);
8010        des_xmlNodePtr(n_node2, node2, 3);
8011        xmlResetLastError();
8012        if (mem_base != xmlMemBlocks()) {
8013            printf("Leak of %d blocks found in xmlShellValidate",
8014	           xmlMemBlocks() - mem_base);
8015	    test_ret++;
8016            printf(" %d", n_ctxt);
8017            printf(" %d", n_dtd);
8018            printf(" %d", n_node);
8019            printf(" %d", n_node2);
8020            printf("\n");
8021        }
8022    }
8023    }
8024    }
8025    }
8026    function_tests++;
8027#endif
8028
8029    return(test_ret);
8030}
8031
8032
8033static int
8034test_xmlShellWrite(void) {
8035    int test_ret = 0;
8036
8037#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
8038    int mem_base;
8039    int ret_val;
8040    xmlShellCtxtPtr ctxt; /* the shell context */
8041    int n_ctxt;
8042    char * filename; /* the file name */
8043    int n_filename;
8044    xmlNodePtr node; /* a node in the tree */
8045    int n_node;
8046    xmlNodePtr node2; /* unused */
8047    int n_node2;
8048
8049    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
8050    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
8051    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
8052    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
8053        mem_base = xmlMemBlocks();
8054        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
8055        filename = gen_char_ptr(n_filename, 1);
8056        node = gen_xmlNodePtr(n_node, 2);
8057        node2 = gen_xmlNodePtr(n_node2, 3);
8058
8059        ret_val = xmlShellWrite(ctxt, filename, node, node2);
8060        desret_int(ret_val);
8061        call_tests++;
8062        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
8063        des_char_ptr(n_filename, filename, 1);
8064        des_xmlNodePtr(n_node, node, 2);
8065        des_xmlNodePtr(n_node2, node2, 3);
8066        xmlResetLastError();
8067        if (mem_base != xmlMemBlocks()) {
8068            printf("Leak of %d blocks found in xmlShellWrite",
8069	           xmlMemBlocks() - mem_base);
8070	    test_ret++;
8071            printf(" %d", n_ctxt);
8072            printf(" %d", n_filename);
8073            printf(" %d", n_node);
8074            printf(" %d", n_node2);
8075            printf("\n");
8076        }
8077    }
8078    }
8079    }
8080    }
8081    function_tests++;
8082#endif
8083
8084    return(test_ret);
8085}
8086
8087static int
8088test_debugXML(void) {
8089    int test_ret = 0;
8090
8091    if (quiet == 0) printf("Testing debugXML : 25 of 28 functions ...\n");
8092    test_ret += test_xmlBoolToText();
8093    test_ret += test_xmlDebugCheckDocument();
8094    test_ret += test_xmlDebugDumpAttr();
8095    test_ret += test_xmlDebugDumpAttrList();
8096    test_ret += test_xmlDebugDumpDTD();
8097    test_ret += test_xmlDebugDumpDocument();
8098    test_ret += test_xmlDebugDumpDocumentHead();
8099    test_ret += test_xmlDebugDumpEntities();
8100    test_ret += test_xmlDebugDumpNode();
8101    test_ret += test_xmlDebugDumpNodeList();
8102    test_ret += test_xmlDebugDumpOneNode();
8103    test_ret += test_xmlDebugDumpString();
8104    test_ret += test_xmlLsCountNode();
8105    test_ret += test_xmlLsOneNode();
8106    test_ret += test_xmlShell();
8107    test_ret += test_xmlShellBase();
8108    test_ret += test_xmlShellCat();
8109    test_ret += test_xmlShellDir();
8110    test_ret += test_xmlShellDu();
8111    test_ret += test_xmlShellList();
8112    test_ret += test_xmlShellLoad();
8113    test_ret += test_xmlShellPrintXPathResult();
8114    test_ret += test_xmlShellPwd();
8115    test_ret += test_xmlShellSave();
8116    test_ret += test_xmlShellValidate();
8117    test_ret += test_xmlShellWrite();
8118
8119    if (test_ret != 0)
8120	printf("Module debugXML: %d errors\n", test_ret);
8121    return(test_ret);
8122}
8123
8124static int
8125test_xmlDictCleanup(void) {
8126    int test_ret = 0;
8127
8128    int mem_base;
8129
8130        mem_base = xmlMemBlocks();
8131
8132        xmlDictCleanup();
8133        call_tests++;
8134        xmlResetLastError();
8135        if (mem_base != xmlMemBlocks()) {
8136            printf("Leak of %d blocks found in xmlDictCleanup",
8137	           xmlMemBlocks() - mem_base);
8138	    test_ret++;
8139            printf("\n");
8140        }
8141    function_tests++;
8142
8143    return(test_ret);
8144}
8145
8146
8147static int
8148test_xmlDictCreate(void) {
8149    int test_ret = 0;
8150
8151    int mem_base;
8152    xmlDictPtr ret_val;
8153
8154        mem_base = xmlMemBlocks();
8155
8156        ret_val = xmlDictCreate();
8157        desret_xmlDictPtr(ret_val);
8158        call_tests++;
8159        xmlResetLastError();
8160        if (mem_base != xmlMemBlocks()) {
8161            printf("Leak of %d blocks found in xmlDictCreate",
8162	           xmlMemBlocks() - mem_base);
8163	    test_ret++;
8164            printf("\n");
8165        }
8166    function_tests++;
8167
8168    return(test_ret);
8169}
8170
8171
8172static int
8173test_xmlDictCreateSub(void) {
8174    int test_ret = 0;
8175
8176    int mem_base;
8177    xmlDictPtr ret_val;
8178    xmlDictPtr sub; /* an existing dictionnary */
8179    int n_sub;
8180
8181    for (n_sub = 0;n_sub < gen_nb_xmlDictPtr;n_sub++) {
8182        mem_base = xmlMemBlocks();
8183        sub = gen_xmlDictPtr(n_sub, 0);
8184
8185        ret_val = xmlDictCreateSub(sub);
8186        desret_xmlDictPtr(ret_val);
8187        call_tests++;
8188        des_xmlDictPtr(n_sub, sub, 0);
8189        xmlResetLastError();
8190        if (mem_base != xmlMemBlocks()) {
8191            printf("Leak of %d blocks found in xmlDictCreateSub",
8192	           xmlMemBlocks() - mem_base);
8193	    test_ret++;
8194            printf(" %d", n_sub);
8195            printf("\n");
8196        }
8197    }
8198    function_tests++;
8199
8200    return(test_ret);
8201}
8202
8203
8204static int
8205test_xmlDictExists(void) {
8206    int test_ret = 0;
8207
8208    int mem_base;
8209    const xmlChar * ret_val;
8210    xmlDictPtr dict; /* the dictionnary */
8211    int n_dict;
8212    xmlChar * name; /* the name of the userdata */
8213    int n_name;
8214    int len; /* the length of the name, if -1 it is recomputed */
8215    int n_len;
8216
8217    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8218    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
8219    for (n_len = 0;n_len < gen_nb_int;n_len++) {
8220        mem_base = xmlMemBlocks();
8221        dict = gen_xmlDictPtr(n_dict, 0);
8222        name = gen_const_xmlChar_ptr(n_name, 1);
8223        len = gen_int(n_len, 2);
8224
8225        ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
8226        desret_const_xmlChar_ptr(ret_val);
8227        call_tests++;
8228        des_xmlDictPtr(n_dict, dict, 0);
8229        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
8230        des_int(n_len, len, 2);
8231        xmlResetLastError();
8232        if (mem_base != xmlMemBlocks()) {
8233            printf("Leak of %d blocks found in xmlDictExists",
8234	           xmlMemBlocks() - mem_base);
8235	    test_ret++;
8236            printf(" %d", n_dict);
8237            printf(" %d", n_name);
8238            printf(" %d", n_len);
8239            printf("\n");
8240        }
8241    }
8242    }
8243    }
8244    function_tests++;
8245
8246    return(test_ret);
8247}
8248
8249
8250static int
8251test_xmlDictGetUsage(void) {
8252    int test_ret = 0;
8253
8254
8255    /* missing type support */
8256    return(test_ret);
8257}
8258
8259
8260static int
8261test_xmlDictLookup(void) {
8262    int test_ret = 0;
8263
8264    int mem_base;
8265    const xmlChar * ret_val;
8266    xmlDictPtr dict; /* the dictionnary */
8267    int n_dict;
8268    xmlChar * name; /* the name of the userdata */
8269    int n_name;
8270    int len; /* the length of the name, if -1 it is recomputed */
8271    int n_len;
8272
8273    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8274    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
8275    for (n_len = 0;n_len < gen_nb_int;n_len++) {
8276        mem_base = xmlMemBlocks();
8277        dict = gen_xmlDictPtr(n_dict, 0);
8278        name = gen_const_xmlChar_ptr(n_name, 1);
8279        len = gen_int(n_len, 2);
8280
8281        ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
8282        desret_const_xmlChar_ptr(ret_val);
8283        call_tests++;
8284        des_xmlDictPtr(n_dict, dict, 0);
8285        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
8286        des_int(n_len, len, 2);
8287        xmlResetLastError();
8288        if (mem_base != xmlMemBlocks()) {
8289            printf("Leak of %d blocks found in xmlDictLookup",
8290	           xmlMemBlocks() - mem_base);
8291	    test_ret++;
8292            printf(" %d", n_dict);
8293            printf(" %d", n_name);
8294            printf(" %d", n_len);
8295            printf("\n");
8296        }
8297    }
8298    }
8299    }
8300    function_tests++;
8301
8302    return(test_ret);
8303}
8304
8305
8306static int
8307test_xmlDictOwns(void) {
8308    int test_ret = 0;
8309
8310    int mem_base;
8311    int ret_val;
8312    xmlDictPtr dict; /* the dictionnary */
8313    int n_dict;
8314    xmlChar * str; /* the string */
8315    int n_str;
8316
8317    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8318    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
8319        mem_base = xmlMemBlocks();
8320        dict = gen_xmlDictPtr(n_dict, 0);
8321        str = gen_const_xmlChar_ptr(n_str, 1);
8322
8323        ret_val = xmlDictOwns(dict, (const xmlChar *)str);
8324        desret_int(ret_val);
8325        call_tests++;
8326        des_xmlDictPtr(n_dict, dict, 0);
8327        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
8328        xmlResetLastError();
8329        if (mem_base != xmlMemBlocks()) {
8330            printf("Leak of %d blocks found in xmlDictOwns",
8331	           xmlMemBlocks() - mem_base);
8332	    test_ret++;
8333            printf(" %d", n_dict);
8334            printf(" %d", n_str);
8335            printf("\n");
8336        }
8337    }
8338    }
8339    function_tests++;
8340
8341    return(test_ret);
8342}
8343
8344
8345static int
8346test_xmlDictQLookup(void) {
8347    int test_ret = 0;
8348
8349    int mem_base;
8350    const xmlChar * ret_val;
8351    xmlDictPtr dict; /* the dictionnary */
8352    int n_dict;
8353    xmlChar * prefix; /* the prefix */
8354    int n_prefix;
8355    xmlChar * name; /* the name */
8356    int n_name;
8357
8358    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8359    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
8360    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
8361        mem_base = xmlMemBlocks();
8362        dict = gen_xmlDictPtr(n_dict, 0);
8363        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
8364        name = gen_const_xmlChar_ptr(n_name, 2);
8365
8366        ret_val = xmlDictQLookup(dict, (const xmlChar *)prefix, (const xmlChar *)name);
8367        desret_const_xmlChar_ptr(ret_val);
8368        call_tests++;
8369        des_xmlDictPtr(n_dict, dict, 0);
8370        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
8371        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
8372        xmlResetLastError();
8373        if (mem_base != xmlMemBlocks()) {
8374            printf("Leak of %d blocks found in xmlDictQLookup",
8375	           xmlMemBlocks() - mem_base);
8376	    test_ret++;
8377            printf(" %d", n_dict);
8378            printf(" %d", n_prefix);
8379            printf(" %d", n_name);
8380            printf("\n");
8381        }
8382    }
8383    }
8384    }
8385    function_tests++;
8386
8387    return(test_ret);
8388}
8389
8390
8391static int
8392test_xmlDictReference(void) {
8393    int test_ret = 0;
8394
8395    int mem_base;
8396    int ret_val;
8397    xmlDictPtr dict; /* the dictionnary */
8398    int n_dict;
8399
8400    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8401        mem_base = xmlMemBlocks();
8402        dict = gen_xmlDictPtr(n_dict, 0);
8403
8404        ret_val = xmlDictReference(dict);
8405        xmlDictFree(dict);
8406        desret_int(ret_val);
8407        call_tests++;
8408        des_xmlDictPtr(n_dict, dict, 0);
8409        xmlResetLastError();
8410        if (mem_base != xmlMemBlocks()) {
8411            printf("Leak of %d blocks found in xmlDictReference",
8412	           xmlMemBlocks() - mem_base);
8413	    test_ret++;
8414            printf(" %d", n_dict);
8415            printf("\n");
8416        }
8417    }
8418    function_tests++;
8419
8420    return(test_ret);
8421}
8422
8423
8424static int
8425test_xmlDictSetLimit(void) {
8426    int test_ret = 0;
8427
8428
8429    /* missing type support */
8430    return(test_ret);
8431}
8432
8433
8434static int
8435test_xmlDictSize(void) {
8436    int test_ret = 0;
8437
8438    int mem_base;
8439    int ret_val;
8440    xmlDictPtr dict; /* the dictionnary */
8441    int n_dict;
8442
8443    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
8444        mem_base = xmlMemBlocks();
8445        dict = gen_xmlDictPtr(n_dict, 0);
8446
8447        ret_val = xmlDictSize(dict);
8448        desret_int(ret_val);
8449        call_tests++;
8450        des_xmlDictPtr(n_dict, dict, 0);
8451        xmlResetLastError();
8452        if (mem_base != xmlMemBlocks()) {
8453            printf("Leak of %d blocks found in xmlDictSize",
8454	           xmlMemBlocks() - mem_base);
8455	    test_ret++;
8456            printf(" %d", n_dict);
8457            printf("\n");
8458        }
8459    }
8460    function_tests++;
8461
8462    return(test_ret);
8463}
8464
8465
8466static int
8467test_xmlInitializeDict(void) {
8468    int test_ret = 0;
8469
8470    int mem_base;
8471    int ret_val;
8472
8473        mem_base = xmlMemBlocks();
8474
8475        ret_val = xmlInitializeDict();
8476        desret_int(ret_val);
8477        call_tests++;
8478        xmlResetLastError();
8479        if (mem_base != xmlMemBlocks()) {
8480            printf("Leak of %d blocks found in xmlInitializeDict",
8481	           xmlMemBlocks() - mem_base);
8482	    test_ret++;
8483            printf("\n");
8484        }
8485    function_tests++;
8486
8487    return(test_ret);
8488}
8489
8490static int
8491test_dict(void) {
8492    int test_ret = 0;
8493
8494    if (quiet == 0) printf("Testing dict : 10 of 13 functions ...\n");
8495    test_ret += test_xmlDictCleanup();
8496    test_ret += test_xmlDictCreate();
8497    test_ret += test_xmlDictCreateSub();
8498    test_ret += test_xmlDictExists();
8499    test_ret += test_xmlDictGetUsage();
8500    test_ret += test_xmlDictLookup();
8501    test_ret += test_xmlDictOwns();
8502    test_ret += test_xmlDictQLookup();
8503    test_ret += test_xmlDictReference();
8504    test_ret += test_xmlDictSetLimit();
8505    test_ret += test_xmlDictSize();
8506    test_ret += test_xmlInitializeDict();
8507
8508    if (test_ret != 0)
8509	printf("Module dict: %d errors\n", test_ret);
8510    return(test_ret);
8511}
8512
8513static int
8514test_UTF8Toisolat1(void) {
8515    int test_ret = 0;
8516
8517#if defined(LIBXML_OUTPUT_ENABLED)
8518#ifdef LIBXML_OUTPUT_ENABLED
8519    int mem_base;
8520    int ret_val;
8521    unsigned char * out; /* a pointer to an array of bytes to store the result */
8522    int n_out;
8523    int * outlen; /* the length of @out */
8524    int n_outlen;
8525    unsigned char * in; /* a pointer to an array of UTF-8 chars */
8526    int n_in;
8527    int * inlen; /* the length of @in */
8528    int n_inlen;
8529
8530    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
8531    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
8532    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
8533    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
8534        mem_base = xmlMemBlocks();
8535        out = gen_unsigned_char_ptr(n_out, 0);
8536        outlen = gen_int_ptr(n_outlen, 1);
8537        in = gen_const_unsigned_char_ptr(n_in, 2);
8538        inlen = gen_int_ptr(n_inlen, 3);
8539
8540        ret_val = UTF8Toisolat1(out, outlen, (const unsigned char *)in, inlen);
8541        desret_int(ret_val);
8542        call_tests++;
8543        des_unsigned_char_ptr(n_out, out, 0);
8544        des_int_ptr(n_outlen, outlen, 1);
8545        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
8546        des_int_ptr(n_inlen, inlen, 3);
8547        xmlResetLastError();
8548        if (mem_base != xmlMemBlocks()) {
8549            printf("Leak of %d blocks found in UTF8Toisolat1",
8550	           xmlMemBlocks() - mem_base);
8551	    test_ret++;
8552            printf(" %d", n_out);
8553            printf(" %d", n_outlen);
8554            printf(" %d", n_in);
8555            printf(" %d", n_inlen);
8556            printf("\n");
8557        }
8558    }
8559    }
8560    }
8561    }
8562    function_tests++;
8563#endif
8564#endif
8565
8566    return(test_ret);
8567}
8568
8569
8570static int
8571test_isolat1ToUTF8(void) {
8572    int test_ret = 0;
8573
8574    int mem_base;
8575    int ret_val;
8576    unsigned char * out; /* a pointer to an array of bytes to store the result */
8577    int n_out;
8578    int * outlen; /* the length of @out */
8579    int n_outlen;
8580    unsigned char * in; /* a pointer to an array of ISO Latin 1 chars */
8581    int n_in;
8582    int * inlen; /* the length of @in */
8583    int n_inlen;
8584
8585    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
8586    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
8587    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
8588    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
8589        mem_base = xmlMemBlocks();
8590        out = gen_unsigned_char_ptr(n_out, 0);
8591        outlen = gen_int_ptr(n_outlen, 1);
8592        in = gen_const_unsigned_char_ptr(n_in, 2);
8593        inlen = gen_int_ptr(n_inlen, 3);
8594
8595        ret_val = isolat1ToUTF8(out, outlen, (const unsigned char *)in, inlen);
8596        desret_int(ret_val);
8597        call_tests++;
8598        des_unsigned_char_ptr(n_out, out, 0);
8599        des_int_ptr(n_outlen, outlen, 1);
8600        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
8601        des_int_ptr(n_inlen, inlen, 3);
8602        xmlResetLastError();
8603        if (mem_base != xmlMemBlocks()) {
8604            printf("Leak of %d blocks found in isolat1ToUTF8",
8605	           xmlMemBlocks() - mem_base);
8606	    test_ret++;
8607            printf(" %d", n_out);
8608            printf(" %d", n_outlen);
8609            printf(" %d", n_in);
8610            printf(" %d", n_inlen);
8611            printf("\n");
8612        }
8613    }
8614    }
8615    }
8616    }
8617    function_tests++;
8618
8619    return(test_ret);
8620}
8621
8622
8623static int
8624test_xmlAddEncodingAlias(void) {
8625    int test_ret = 0;
8626
8627    int ret_val;
8628    char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
8629    int n_name;
8630    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
8631    int n_alias;
8632
8633    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
8634    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
8635        name = gen_const_char_ptr(n_name, 0);
8636        alias = gen_const_char_ptr(n_alias, 1);
8637
8638        ret_val = xmlAddEncodingAlias((const char *)name, (const char *)alias);
8639        desret_int(ret_val);
8640        call_tests++;
8641        des_const_char_ptr(n_name, (const char *)name, 0);
8642        des_const_char_ptr(n_alias, (const char *)alias, 1);
8643        xmlResetLastError();
8644    }
8645    }
8646    function_tests++;
8647
8648    return(test_ret);
8649}
8650
8651
8652#define gen_nb_xmlCharEncodingHandler_ptr 1
8653static xmlCharEncodingHandler * gen_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
8654    return(NULL);
8655}
8656static void des_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
8657}
8658
8659static int
8660test_xmlCharEncCloseFunc(void) {
8661    int test_ret = 0;
8662
8663    int mem_base;
8664    int ret_val;
8665    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
8666    int n_handler;
8667
8668    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
8669        mem_base = xmlMemBlocks();
8670        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
8671
8672        ret_val = xmlCharEncCloseFunc(handler);
8673        desret_int(ret_val);
8674        call_tests++;
8675        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
8676        xmlResetLastError();
8677        if (mem_base != xmlMemBlocks()) {
8678            printf("Leak of %d blocks found in xmlCharEncCloseFunc",
8679	           xmlMemBlocks() - mem_base);
8680	    test_ret++;
8681            printf(" %d", n_handler);
8682            printf("\n");
8683        }
8684    }
8685    function_tests++;
8686
8687    return(test_ret);
8688}
8689
8690
8691static int
8692test_xmlCharEncFirstLine(void) {
8693    int test_ret = 0;
8694
8695    int mem_base;
8696    int ret_val;
8697    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
8698    int n_handler;
8699    xmlBufferPtr out; /* an xmlBuffer for the output. */
8700    int n_out;
8701    xmlBufferPtr in; /* an xmlBuffer for the input */
8702    int n_in;
8703
8704    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
8705    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
8706    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
8707        mem_base = xmlMemBlocks();
8708        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
8709        out = gen_xmlBufferPtr(n_out, 1);
8710        in = gen_xmlBufferPtr(n_in, 2);
8711
8712        ret_val = xmlCharEncFirstLine(handler, out, in);
8713        desret_int(ret_val);
8714        call_tests++;
8715        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
8716        des_xmlBufferPtr(n_out, out, 1);
8717        des_xmlBufferPtr(n_in, in, 2);
8718        xmlResetLastError();
8719        if (mem_base != xmlMemBlocks()) {
8720            printf("Leak of %d blocks found in xmlCharEncFirstLine",
8721	           xmlMemBlocks() - mem_base);
8722	    test_ret++;
8723            printf(" %d", n_handler);
8724            printf(" %d", n_out);
8725            printf(" %d", n_in);
8726            printf("\n");
8727        }
8728    }
8729    }
8730    }
8731    function_tests++;
8732
8733    return(test_ret);
8734}
8735
8736
8737static int
8738test_xmlCharEncInFunc(void) {
8739    int test_ret = 0;
8740
8741    int mem_base;
8742    int ret_val;
8743    xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
8744    int n_handler;
8745    xmlBufferPtr out; /* an xmlBuffer for the output. */
8746    int n_out;
8747    xmlBufferPtr in; /* an xmlBuffer for the input */
8748    int n_in;
8749
8750    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
8751    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
8752    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
8753        mem_base = xmlMemBlocks();
8754        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
8755        out = gen_xmlBufferPtr(n_out, 1);
8756        in = gen_xmlBufferPtr(n_in, 2);
8757
8758        ret_val = xmlCharEncInFunc(handler, out, in);
8759        desret_int(ret_val);
8760        call_tests++;
8761        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
8762        des_xmlBufferPtr(n_out, out, 1);
8763        des_xmlBufferPtr(n_in, in, 2);
8764        xmlResetLastError();
8765        if (mem_base != xmlMemBlocks()) {
8766            printf("Leak of %d blocks found in xmlCharEncInFunc",
8767	           xmlMemBlocks() - mem_base);
8768	    test_ret++;
8769            printf(" %d", n_handler);
8770            printf(" %d", n_out);
8771            printf(" %d", n_in);
8772            printf("\n");
8773        }
8774    }
8775    }
8776    }
8777    function_tests++;
8778
8779    return(test_ret);
8780}
8781
8782
8783static int
8784test_xmlCharEncOutFunc(void) {
8785    int test_ret = 0;
8786
8787    int mem_base;
8788    int ret_val;
8789    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
8790    int n_handler;
8791    xmlBufferPtr out; /* an xmlBuffer for the output. */
8792    int n_out;
8793    xmlBufferPtr in; /* an xmlBuffer for the input */
8794    int n_in;
8795
8796    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
8797    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
8798    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
8799        mem_base = xmlMemBlocks();
8800        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
8801        out = gen_xmlBufferPtr(n_out, 1);
8802        in = gen_xmlBufferPtr(n_in, 2);
8803
8804        ret_val = xmlCharEncOutFunc(handler, out, in);
8805        desret_int(ret_val);
8806        call_tests++;
8807        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
8808        des_xmlBufferPtr(n_out, out, 1);
8809        des_xmlBufferPtr(n_in, in, 2);
8810        xmlResetLastError();
8811        if (mem_base != xmlMemBlocks()) {
8812            printf("Leak of %d blocks found in xmlCharEncOutFunc",
8813	           xmlMemBlocks() - mem_base);
8814	    test_ret++;
8815            printf(" %d", n_handler);
8816            printf(" %d", n_out);
8817            printf(" %d", n_in);
8818            printf("\n");
8819        }
8820    }
8821    }
8822    }
8823    function_tests++;
8824
8825    return(test_ret);
8826}
8827
8828
8829static int
8830test_xmlCleanupCharEncodingHandlers(void) {
8831    int test_ret = 0;
8832
8833
8834
8835        xmlCleanupCharEncodingHandlers();
8836        call_tests++;
8837        xmlResetLastError();
8838    function_tests++;
8839
8840    return(test_ret);
8841}
8842
8843
8844static int
8845test_xmlCleanupEncodingAliases(void) {
8846    int test_ret = 0;
8847
8848    int mem_base;
8849
8850        mem_base = xmlMemBlocks();
8851
8852        xmlCleanupEncodingAliases();
8853        call_tests++;
8854        xmlResetLastError();
8855        if (mem_base != xmlMemBlocks()) {
8856            printf("Leak of %d blocks found in xmlCleanupEncodingAliases",
8857	           xmlMemBlocks() - mem_base);
8858	    test_ret++;
8859            printf("\n");
8860        }
8861    function_tests++;
8862
8863    return(test_ret);
8864}
8865
8866
8867static int
8868test_xmlDelEncodingAlias(void) {
8869    int test_ret = 0;
8870
8871    int mem_base;
8872    int ret_val;
8873    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
8874    int n_alias;
8875
8876    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
8877        mem_base = xmlMemBlocks();
8878        alias = gen_const_char_ptr(n_alias, 0);
8879
8880        ret_val = xmlDelEncodingAlias((const char *)alias);
8881        desret_int(ret_val);
8882        call_tests++;
8883        des_const_char_ptr(n_alias, (const char *)alias, 0);
8884        xmlResetLastError();
8885        if (mem_base != xmlMemBlocks()) {
8886            printf("Leak of %d blocks found in xmlDelEncodingAlias",
8887	           xmlMemBlocks() - mem_base);
8888	    test_ret++;
8889            printf(" %d", n_alias);
8890            printf("\n");
8891        }
8892    }
8893    function_tests++;
8894
8895    return(test_ret);
8896}
8897
8898
8899static int
8900test_xmlDetectCharEncoding(void) {
8901    int test_ret = 0;
8902
8903    int mem_base;
8904    xmlCharEncoding ret_val;
8905    unsigned char * in; /* a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant). */
8906    int n_in;
8907    int len; /* pointer to the length of the buffer */
8908    int n_len;
8909
8910    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
8911    for (n_len = 0;n_len < gen_nb_int;n_len++) {
8912        mem_base = xmlMemBlocks();
8913        in = gen_const_unsigned_char_ptr(n_in, 0);
8914        len = gen_int(n_len, 1);
8915
8916        ret_val = xmlDetectCharEncoding((const unsigned char *)in, len);
8917        desret_xmlCharEncoding(ret_val);
8918        call_tests++;
8919        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 0);
8920        des_int(n_len, len, 1);
8921        xmlResetLastError();
8922        if (mem_base != xmlMemBlocks()) {
8923            printf("Leak of %d blocks found in xmlDetectCharEncoding",
8924	           xmlMemBlocks() - mem_base);
8925	    test_ret++;
8926            printf(" %d", n_in);
8927            printf(" %d", n_len);
8928            printf("\n");
8929        }
8930    }
8931    }
8932    function_tests++;
8933
8934    return(test_ret);
8935}
8936
8937
8938static int
8939test_xmlFindCharEncodingHandler(void) {
8940    int test_ret = 0;
8941
8942
8943    /* missing type support */
8944    return(test_ret);
8945}
8946
8947
8948static int
8949test_xmlGetCharEncodingHandler(void) {
8950    int test_ret = 0;
8951
8952
8953    /* missing type support */
8954    return(test_ret);
8955}
8956
8957
8958static int
8959test_xmlGetCharEncodingName(void) {
8960    int test_ret = 0;
8961
8962    int mem_base;
8963    const char * ret_val;
8964    xmlCharEncoding enc; /* the encoding */
8965    int n_enc;
8966
8967    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
8968        mem_base = xmlMemBlocks();
8969        enc = gen_xmlCharEncoding(n_enc, 0);
8970
8971        ret_val = xmlGetCharEncodingName(enc);
8972        desret_const_char_ptr(ret_val);
8973        call_tests++;
8974        des_xmlCharEncoding(n_enc, enc, 0);
8975        xmlResetLastError();
8976        if (mem_base != xmlMemBlocks()) {
8977            printf("Leak of %d blocks found in xmlGetCharEncodingName",
8978	           xmlMemBlocks() - mem_base);
8979	    test_ret++;
8980            printf(" %d", n_enc);
8981            printf("\n");
8982        }
8983    }
8984    function_tests++;
8985
8986    return(test_ret);
8987}
8988
8989
8990static int
8991test_xmlGetEncodingAlias(void) {
8992    int test_ret = 0;
8993
8994    int mem_base;
8995    const char * ret_val;
8996    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
8997    int n_alias;
8998
8999    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
9000        mem_base = xmlMemBlocks();
9001        alias = gen_const_char_ptr(n_alias, 0);
9002
9003        ret_val = xmlGetEncodingAlias((const char *)alias);
9004        desret_const_char_ptr(ret_val);
9005        call_tests++;
9006        des_const_char_ptr(n_alias, (const char *)alias, 0);
9007        xmlResetLastError();
9008        if (mem_base != xmlMemBlocks()) {
9009            printf("Leak of %d blocks found in xmlGetEncodingAlias",
9010	           xmlMemBlocks() - mem_base);
9011	    test_ret++;
9012            printf(" %d", n_alias);
9013            printf("\n");
9014        }
9015    }
9016    function_tests++;
9017
9018    return(test_ret);
9019}
9020
9021
9022static int
9023test_xmlInitCharEncodingHandlers(void) {
9024    int test_ret = 0;
9025
9026
9027
9028        xmlInitCharEncodingHandlers();
9029        call_tests++;
9030        xmlResetLastError();
9031    function_tests++;
9032
9033    return(test_ret);
9034}
9035
9036
9037static int
9038test_xmlNewCharEncodingHandler(void) {
9039    int test_ret = 0;
9040
9041
9042    /* missing type support */
9043    return(test_ret);
9044}
9045
9046
9047static int
9048test_xmlParseCharEncoding(void) {
9049    int test_ret = 0;
9050
9051    int mem_base;
9052    xmlCharEncoding ret_val;
9053    char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
9054    int n_name;
9055
9056    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
9057        mem_base = xmlMemBlocks();
9058        name = gen_const_char_ptr(n_name, 0);
9059
9060        ret_val = xmlParseCharEncoding((const char *)name);
9061        desret_xmlCharEncoding(ret_val);
9062        call_tests++;
9063        des_const_char_ptr(n_name, (const char *)name, 0);
9064        xmlResetLastError();
9065        if (mem_base != xmlMemBlocks()) {
9066            printf("Leak of %d blocks found in xmlParseCharEncoding",
9067	           xmlMemBlocks() - mem_base);
9068	    test_ret++;
9069            printf(" %d", n_name);
9070            printf("\n");
9071        }
9072    }
9073    function_tests++;
9074
9075    return(test_ret);
9076}
9077
9078
9079#define gen_nb_xmlCharEncodingHandlerPtr 1
9080static xmlCharEncodingHandlerPtr gen_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9081    return(NULL);
9082}
9083static void des_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9084}
9085
9086static int
9087test_xmlRegisterCharEncodingHandler(void) {
9088    int test_ret = 0;
9089
9090    int mem_base;
9091    xmlCharEncodingHandlerPtr handler; /* the xmlCharEncodingHandlerPtr handler block */
9092    int n_handler;
9093
9094    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
9095        mem_base = xmlMemBlocks();
9096        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 0);
9097
9098        xmlRegisterCharEncodingHandler(handler);
9099        call_tests++;
9100        des_xmlCharEncodingHandlerPtr(n_handler, handler, 0);
9101        xmlResetLastError();
9102        if (mem_base != xmlMemBlocks()) {
9103            printf("Leak of %d blocks found in xmlRegisterCharEncodingHandler",
9104	           xmlMemBlocks() - mem_base);
9105	    test_ret++;
9106            printf(" %d", n_handler);
9107            printf("\n");
9108        }
9109    }
9110    function_tests++;
9111
9112    return(test_ret);
9113}
9114
9115static int
9116test_encoding(void) {
9117    int test_ret = 0;
9118
9119    if (quiet == 0) printf("Testing encoding : 16 of 19 functions ...\n");
9120    test_ret += test_UTF8Toisolat1();
9121    test_ret += test_isolat1ToUTF8();
9122    test_ret += test_xmlAddEncodingAlias();
9123    test_ret += test_xmlCharEncCloseFunc();
9124    test_ret += test_xmlCharEncFirstLine();
9125    test_ret += test_xmlCharEncInFunc();
9126    test_ret += test_xmlCharEncOutFunc();
9127    test_ret += test_xmlCleanupCharEncodingHandlers();
9128    test_ret += test_xmlCleanupEncodingAliases();
9129    test_ret += test_xmlDelEncodingAlias();
9130    test_ret += test_xmlDetectCharEncoding();
9131    test_ret += test_xmlFindCharEncodingHandler();
9132    test_ret += test_xmlGetCharEncodingHandler();
9133    test_ret += test_xmlGetCharEncodingName();
9134    test_ret += test_xmlGetEncodingAlias();
9135    test_ret += test_xmlInitCharEncodingHandlers();
9136    test_ret += test_xmlNewCharEncodingHandler();
9137    test_ret += test_xmlParseCharEncoding();
9138    test_ret += test_xmlRegisterCharEncodingHandler();
9139
9140    if (test_ret != 0)
9141	printf("Module encoding: %d errors\n", test_ret);
9142    return(test_ret);
9143}
9144
9145static int
9146test_xmlAddDocEntity(void) {
9147    int test_ret = 0;
9148
9149    int mem_base;
9150    xmlEntityPtr ret_val;
9151    xmlDocPtr doc; /* the document */
9152    int n_doc;
9153    xmlChar * name; /* the entity name */
9154    int n_name;
9155    int type; /* the entity type XML_xxx_yyy_ENTITY */
9156    int n_type;
9157    xmlChar * ExternalID; /* the entity external ID if available */
9158    int n_ExternalID;
9159    xmlChar * SystemID; /* the entity system ID if available */
9160    int n_SystemID;
9161    xmlChar * content; /* the entity content */
9162    int n_content;
9163
9164    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9165    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9166    for (n_type = 0;n_type < gen_nb_int;n_type++) {
9167    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
9168    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
9169    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
9170        mem_base = xmlMemBlocks();
9171        doc = gen_xmlDocPtr(n_doc, 0);
9172        name = gen_const_xmlChar_ptr(n_name, 1);
9173        type = gen_int(n_type, 2);
9174        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
9175        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
9176        content = gen_const_xmlChar_ptr(n_content, 5);
9177
9178        ret_val = xmlAddDocEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
9179        desret_xmlEntityPtr(ret_val);
9180        call_tests++;
9181        des_xmlDocPtr(n_doc, doc, 0);
9182        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9183        des_int(n_type, type, 2);
9184        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
9185        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
9186        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
9187        xmlResetLastError();
9188        if (mem_base != xmlMemBlocks()) {
9189            printf("Leak of %d blocks found in xmlAddDocEntity",
9190	           xmlMemBlocks() - mem_base);
9191	    test_ret++;
9192            printf(" %d", n_doc);
9193            printf(" %d", n_name);
9194            printf(" %d", n_type);
9195            printf(" %d", n_ExternalID);
9196            printf(" %d", n_SystemID);
9197            printf(" %d", n_content);
9198            printf("\n");
9199        }
9200    }
9201    }
9202    }
9203    }
9204    }
9205    }
9206    function_tests++;
9207
9208    return(test_ret);
9209}
9210
9211
9212static int
9213test_xmlAddDtdEntity(void) {
9214    int test_ret = 0;
9215
9216    int mem_base;
9217    xmlEntityPtr ret_val;
9218    xmlDocPtr doc; /* the document */
9219    int n_doc;
9220    xmlChar * name; /* the entity name */
9221    int n_name;
9222    int type; /* the entity type XML_xxx_yyy_ENTITY */
9223    int n_type;
9224    xmlChar * ExternalID; /* the entity external ID if available */
9225    int n_ExternalID;
9226    xmlChar * SystemID; /* the entity system ID if available */
9227    int n_SystemID;
9228    xmlChar * content; /* the entity content */
9229    int n_content;
9230
9231    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9232    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9233    for (n_type = 0;n_type < gen_nb_int;n_type++) {
9234    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
9235    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
9236    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
9237        mem_base = xmlMemBlocks();
9238        doc = gen_xmlDocPtr(n_doc, 0);
9239        name = gen_const_xmlChar_ptr(n_name, 1);
9240        type = gen_int(n_type, 2);
9241        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
9242        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
9243        content = gen_const_xmlChar_ptr(n_content, 5);
9244
9245        ret_val = xmlAddDtdEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
9246        desret_xmlEntityPtr(ret_val);
9247        call_tests++;
9248        des_xmlDocPtr(n_doc, doc, 0);
9249        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9250        des_int(n_type, type, 2);
9251        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
9252        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
9253        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
9254        xmlResetLastError();
9255        if (mem_base != xmlMemBlocks()) {
9256            printf("Leak of %d blocks found in xmlAddDtdEntity",
9257	           xmlMemBlocks() - mem_base);
9258	    test_ret++;
9259            printf(" %d", n_doc);
9260            printf(" %d", n_name);
9261            printf(" %d", n_type);
9262            printf(" %d", n_ExternalID);
9263            printf(" %d", n_SystemID);
9264            printf(" %d", n_content);
9265            printf("\n");
9266        }
9267    }
9268    }
9269    }
9270    }
9271    }
9272    }
9273    function_tests++;
9274
9275    return(test_ret);
9276}
9277
9278
9279static int
9280test_xmlCleanupPredefinedEntities(void) {
9281    int test_ret = 0;
9282
9283#if defined(LIBXML_LEGACY_ENABLED)
9284#ifdef LIBXML_LEGACY_ENABLED
9285    int mem_base;
9286
9287        mem_base = xmlMemBlocks();
9288
9289        xmlCleanupPredefinedEntities();
9290        call_tests++;
9291        xmlResetLastError();
9292        if (mem_base != xmlMemBlocks()) {
9293            printf("Leak of %d blocks found in xmlCleanupPredefinedEntities",
9294	           xmlMemBlocks() - mem_base);
9295	    test_ret++;
9296            printf("\n");
9297        }
9298    function_tests++;
9299#endif
9300#endif
9301
9302    return(test_ret);
9303}
9304
9305
9306#define gen_nb_xmlEntitiesTablePtr 1
9307static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9308    return(NULL);
9309}
9310static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9311}
9312
9313static int
9314test_xmlCopyEntitiesTable(void) {
9315    int test_ret = 0;
9316
9317
9318    /* missing type support */
9319    return(test_ret);
9320}
9321
9322
9323static int
9324test_xmlCreateEntitiesTable(void) {
9325    int test_ret = 0;
9326
9327
9328    /* missing type support */
9329    return(test_ret);
9330}
9331
9332
9333static int
9334test_xmlDumpEntitiesTable(void) {
9335    int test_ret = 0;
9336
9337#if defined(LIBXML_OUTPUT_ENABLED)
9338    int mem_base;
9339    xmlBufferPtr buf; /* An XML buffer. */
9340    int n_buf;
9341    xmlEntitiesTablePtr table; /* An entity table */
9342    int n_table;
9343
9344    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
9345    for (n_table = 0;n_table < gen_nb_xmlEntitiesTablePtr;n_table++) {
9346        mem_base = xmlMemBlocks();
9347        buf = gen_xmlBufferPtr(n_buf, 0);
9348        table = gen_xmlEntitiesTablePtr(n_table, 1);
9349
9350        xmlDumpEntitiesTable(buf, table);
9351        call_tests++;
9352        des_xmlBufferPtr(n_buf, buf, 0);
9353        des_xmlEntitiesTablePtr(n_table, table, 1);
9354        xmlResetLastError();
9355        if (mem_base != xmlMemBlocks()) {
9356            printf("Leak of %d blocks found in xmlDumpEntitiesTable",
9357	           xmlMemBlocks() - mem_base);
9358	    test_ret++;
9359            printf(" %d", n_buf);
9360            printf(" %d", n_table);
9361            printf("\n");
9362        }
9363    }
9364    }
9365    function_tests++;
9366#endif
9367
9368    return(test_ret);
9369}
9370
9371
9372#define gen_nb_xmlEntityPtr 1
9373static xmlEntityPtr gen_xmlEntityPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9374    return(NULL);
9375}
9376static void des_xmlEntityPtr(int no ATTRIBUTE_UNUSED, xmlEntityPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
9377}
9378
9379static int
9380test_xmlDumpEntityDecl(void) {
9381    int test_ret = 0;
9382
9383#if defined(LIBXML_OUTPUT_ENABLED)
9384    int mem_base;
9385    xmlBufferPtr buf; /* An XML buffer. */
9386    int n_buf;
9387    xmlEntityPtr ent; /* An entity table */
9388    int n_ent;
9389
9390    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
9391    for (n_ent = 0;n_ent < gen_nb_xmlEntityPtr;n_ent++) {
9392        mem_base = xmlMemBlocks();
9393        buf = gen_xmlBufferPtr(n_buf, 0);
9394        ent = gen_xmlEntityPtr(n_ent, 1);
9395
9396        xmlDumpEntityDecl(buf, ent);
9397        call_tests++;
9398        des_xmlBufferPtr(n_buf, buf, 0);
9399        des_xmlEntityPtr(n_ent, ent, 1);
9400        xmlResetLastError();
9401        if (mem_base != xmlMemBlocks()) {
9402            printf("Leak of %d blocks found in xmlDumpEntityDecl",
9403	           xmlMemBlocks() - mem_base);
9404	    test_ret++;
9405            printf(" %d", n_buf);
9406            printf(" %d", n_ent);
9407            printf("\n");
9408        }
9409    }
9410    }
9411    function_tests++;
9412#endif
9413
9414    return(test_ret);
9415}
9416
9417
9418static int
9419test_xmlEncodeEntitiesReentrant(void) {
9420    int test_ret = 0;
9421
9422    int mem_base;
9423    xmlChar * ret_val;
9424    xmlDocPtr doc; /* the document containing the string */
9425    int n_doc;
9426    xmlChar * input; /* A string to convert to XML. */
9427    int n_input;
9428
9429    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9430    for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
9431        mem_base = xmlMemBlocks();
9432        doc = gen_xmlDocPtr(n_doc, 0);
9433        input = gen_const_xmlChar_ptr(n_input, 1);
9434
9435        ret_val = xmlEncodeEntitiesReentrant(doc, (const xmlChar *)input);
9436        desret_xmlChar_ptr(ret_val);
9437        call_tests++;
9438        des_xmlDocPtr(n_doc, doc, 0);
9439        des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
9440        xmlResetLastError();
9441        if (mem_base != xmlMemBlocks()) {
9442            printf("Leak of %d blocks found in xmlEncodeEntitiesReentrant",
9443	           xmlMemBlocks() - mem_base);
9444	    test_ret++;
9445            printf(" %d", n_doc);
9446            printf(" %d", n_input);
9447            printf("\n");
9448        }
9449    }
9450    }
9451    function_tests++;
9452
9453    return(test_ret);
9454}
9455
9456
9457static int
9458test_xmlEncodeSpecialChars(void) {
9459    int test_ret = 0;
9460
9461    int mem_base;
9462    xmlChar * ret_val;
9463    xmlDocPtr doc; /* the document containing the string */
9464    int n_doc;
9465    xmlChar * input; /* A string to convert to XML. */
9466    int n_input;
9467
9468    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9469    for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
9470        mem_base = xmlMemBlocks();
9471        doc = gen_xmlDocPtr(n_doc, 0);
9472        input = gen_const_xmlChar_ptr(n_input, 1);
9473
9474        ret_val = xmlEncodeSpecialChars(doc, (const xmlChar *)input);
9475        desret_xmlChar_ptr(ret_val);
9476        call_tests++;
9477        des_xmlDocPtr(n_doc, doc, 0);
9478        des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
9479        xmlResetLastError();
9480        if (mem_base != xmlMemBlocks()) {
9481            printf("Leak of %d blocks found in xmlEncodeSpecialChars",
9482	           xmlMemBlocks() - mem_base);
9483	    test_ret++;
9484            printf(" %d", n_doc);
9485            printf(" %d", n_input);
9486            printf("\n");
9487        }
9488    }
9489    }
9490    function_tests++;
9491
9492    return(test_ret);
9493}
9494
9495
9496static int
9497test_xmlGetDocEntity(void) {
9498    int test_ret = 0;
9499
9500    int mem_base;
9501    xmlEntityPtr ret_val;
9502    xmlDocPtr doc; /* the document referencing the entity */
9503    int n_doc;
9504    xmlChar * name; /* the entity name */
9505    int n_name;
9506
9507    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9508    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9509        mem_base = xmlMemBlocks();
9510        doc = gen_xmlDocPtr(n_doc, 0);
9511        name = gen_const_xmlChar_ptr(n_name, 1);
9512
9513        ret_val = xmlGetDocEntity(doc, (const xmlChar *)name);
9514        desret_xmlEntityPtr(ret_val);
9515        call_tests++;
9516        des_xmlDocPtr(n_doc, doc, 0);
9517        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9518        xmlResetLastError();
9519        if (mem_base != xmlMemBlocks()) {
9520            printf("Leak of %d blocks found in xmlGetDocEntity",
9521	           xmlMemBlocks() - mem_base);
9522	    test_ret++;
9523            printf(" %d", n_doc);
9524            printf(" %d", n_name);
9525            printf("\n");
9526        }
9527    }
9528    }
9529    function_tests++;
9530
9531    return(test_ret);
9532}
9533
9534
9535static int
9536test_xmlGetDtdEntity(void) {
9537    int test_ret = 0;
9538
9539    int mem_base;
9540    xmlEntityPtr ret_val;
9541    xmlDocPtr doc; /* the document referencing the entity */
9542    int n_doc;
9543    xmlChar * name; /* the entity name */
9544    int n_name;
9545
9546    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9547    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9548        mem_base = xmlMemBlocks();
9549        doc = gen_xmlDocPtr(n_doc, 0);
9550        name = gen_const_xmlChar_ptr(n_name, 1);
9551
9552        ret_val = xmlGetDtdEntity(doc, (const xmlChar *)name);
9553        desret_xmlEntityPtr(ret_val);
9554        call_tests++;
9555        des_xmlDocPtr(n_doc, doc, 0);
9556        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9557        xmlResetLastError();
9558        if (mem_base != xmlMemBlocks()) {
9559            printf("Leak of %d blocks found in xmlGetDtdEntity",
9560	           xmlMemBlocks() - mem_base);
9561	    test_ret++;
9562            printf(" %d", n_doc);
9563            printf(" %d", n_name);
9564            printf("\n");
9565        }
9566    }
9567    }
9568    function_tests++;
9569
9570    return(test_ret);
9571}
9572
9573
9574static int
9575test_xmlGetParameterEntity(void) {
9576    int test_ret = 0;
9577
9578    int mem_base;
9579    xmlEntityPtr ret_val;
9580    xmlDocPtr doc; /* the document referencing the entity */
9581    int n_doc;
9582    xmlChar * name; /* the entity name */
9583    int n_name;
9584
9585    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9586    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9587        mem_base = xmlMemBlocks();
9588        doc = gen_xmlDocPtr(n_doc, 0);
9589        name = gen_const_xmlChar_ptr(n_name, 1);
9590
9591        ret_val = xmlGetParameterEntity(doc, (const xmlChar *)name);
9592        desret_xmlEntityPtr(ret_val);
9593        call_tests++;
9594        des_xmlDocPtr(n_doc, doc, 0);
9595        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9596        xmlResetLastError();
9597        if (mem_base != xmlMemBlocks()) {
9598            printf("Leak of %d blocks found in xmlGetParameterEntity",
9599	           xmlMemBlocks() - mem_base);
9600	    test_ret++;
9601            printf(" %d", n_doc);
9602            printf(" %d", n_name);
9603            printf("\n");
9604        }
9605    }
9606    }
9607    function_tests++;
9608
9609    return(test_ret);
9610}
9611
9612
9613static int
9614test_xmlGetPredefinedEntity(void) {
9615    int test_ret = 0;
9616
9617    int mem_base;
9618    xmlEntityPtr ret_val;
9619    xmlChar * name; /* the entity name */
9620    int n_name;
9621
9622    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9623        mem_base = xmlMemBlocks();
9624        name = gen_const_xmlChar_ptr(n_name, 0);
9625
9626        ret_val = xmlGetPredefinedEntity((const xmlChar *)name);
9627        desret_xmlEntityPtr(ret_val);
9628        call_tests++;
9629        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
9630        xmlResetLastError();
9631        if (mem_base != xmlMemBlocks()) {
9632            printf("Leak of %d blocks found in xmlGetPredefinedEntity",
9633	           xmlMemBlocks() - mem_base);
9634	    test_ret++;
9635            printf(" %d", n_name);
9636            printf("\n");
9637        }
9638    }
9639    function_tests++;
9640
9641    return(test_ret);
9642}
9643
9644
9645static int
9646test_xmlInitializePredefinedEntities(void) {
9647    int test_ret = 0;
9648
9649#if defined(LIBXML_LEGACY_ENABLED)
9650#ifdef LIBXML_LEGACY_ENABLED
9651    int mem_base;
9652
9653        mem_base = xmlMemBlocks();
9654
9655        xmlInitializePredefinedEntities();
9656        call_tests++;
9657        xmlResetLastError();
9658        if (mem_base != xmlMemBlocks()) {
9659            printf("Leak of %d blocks found in xmlInitializePredefinedEntities",
9660	           xmlMemBlocks() - mem_base);
9661	    test_ret++;
9662            printf("\n");
9663        }
9664    function_tests++;
9665#endif
9666#endif
9667
9668    return(test_ret);
9669}
9670
9671
9672static int
9673test_xmlNewEntity(void) {
9674    int test_ret = 0;
9675
9676    int mem_base;
9677    xmlEntityPtr ret_val;
9678    xmlDocPtr doc; /* the document */
9679    int n_doc;
9680    xmlChar * name; /* the entity name */
9681    int n_name;
9682    int type; /* the entity type XML_xxx_yyy_ENTITY */
9683    int n_type;
9684    xmlChar * ExternalID; /* the entity external ID if available */
9685    int n_ExternalID;
9686    xmlChar * SystemID; /* the entity system ID if available */
9687    int n_SystemID;
9688    xmlChar * content; /* the entity content */
9689    int n_content;
9690
9691    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
9692    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9693    for (n_type = 0;n_type < gen_nb_int;n_type++) {
9694    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
9695    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
9696    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
9697        mem_base = xmlMemBlocks();
9698        doc = gen_xmlDocPtr(n_doc, 0);
9699        name = gen_const_xmlChar_ptr(n_name, 1);
9700        type = gen_int(n_type, 2);
9701        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
9702        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
9703        content = gen_const_xmlChar_ptr(n_content, 5);
9704
9705        ret_val = xmlNewEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
9706        desret_xmlEntityPtr(ret_val);
9707        call_tests++;
9708        des_xmlDocPtr(n_doc, doc, 0);
9709        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9710        des_int(n_type, type, 2);
9711        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
9712        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
9713        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
9714        xmlResetLastError();
9715        if (mem_base != xmlMemBlocks()) {
9716            printf("Leak of %d blocks found in xmlNewEntity",
9717	           xmlMemBlocks() - mem_base);
9718	    test_ret++;
9719            printf(" %d", n_doc);
9720            printf(" %d", n_name);
9721            printf(" %d", n_type);
9722            printf(" %d", n_ExternalID);
9723            printf(" %d", n_SystemID);
9724            printf(" %d", n_content);
9725            printf("\n");
9726        }
9727    }
9728    }
9729    }
9730    }
9731    }
9732    }
9733    function_tests++;
9734
9735    return(test_ret);
9736}
9737
9738static int
9739test_entities(void) {
9740    int test_ret = 0;
9741
9742    if (quiet == 0) printf("Testing entities : 13 of 17 functions ...\n");
9743    test_ret += test_xmlAddDocEntity();
9744    test_ret += test_xmlAddDtdEntity();
9745    test_ret += test_xmlCleanupPredefinedEntities();
9746    test_ret += test_xmlCopyEntitiesTable();
9747    test_ret += test_xmlCreateEntitiesTable();
9748    test_ret += test_xmlDumpEntitiesTable();
9749    test_ret += test_xmlDumpEntityDecl();
9750    test_ret += test_xmlEncodeEntitiesReentrant();
9751    test_ret += test_xmlEncodeSpecialChars();
9752    test_ret += test_xmlGetDocEntity();
9753    test_ret += test_xmlGetDtdEntity();
9754    test_ret += test_xmlGetParameterEntity();
9755    test_ret += test_xmlGetPredefinedEntity();
9756    test_ret += test_xmlInitializePredefinedEntities();
9757    test_ret += test_xmlNewEntity();
9758
9759    if (test_ret != 0)
9760	printf("Module entities: %d errors\n", test_ret);
9761    return(test_ret);
9762}
9763
9764static int
9765test_xmlHashAddEntry(void) {
9766    int test_ret = 0;
9767
9768    int mem_base;
9769    int ret_val;
9770    xmlHashTablePtr table; /* the hash table */
9771    int n_table;
9772    xmlChar * name; /* the name of the userdata */
9773    int n_name;
9774    void * userdata; /* a pointer to the userdata */
9775    int n_userdata;
9776
9777    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
9778    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9779    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
9780        mem_base = xmlMemBlocks();
9781        table = gen_xmlHashTablePtr(n_table, 0);
9782        name = gen_const_xmlChar_ptr(n_name, 1);
9783        userdata = gen_userdata(n_userdata, 2);
9784
9785        ret_val = xmlHashAddEntry(table, (const xmlChar *)name, userdata);
9786        desret_int(ret_val);
9787        call_tests++;
9788        des_xmlHashTablePtr(n_table, table, 0);
9789        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9790        des_userdata(n_userdata, userdata, 2);
9791        xmlResetLastError();
9792        if (mem_base != xmlMemBlocks()) {
9793            printf("Leak of %d blocks found in xmlHashAddEntry",
9794	           xmlMemBlocks() - mem_base);
9795	    test_ret++;
9796            printf(" %d", n_table);
9797            printf(" %d", n_name);
9798            printf(" %d", n_userdata);
9799            printf("\n");
9800        }
9801    }
9802    }
9803    }
9804    function_tests++;
9805
9806    return(test_ret);
9807}
9808
9809
9810static int
9811test_xmlHashAddEntry2(void) {
9812    int test_ret = 0;
9813
9814    int mem_base;
9815    int ret_val;
9816    xmlHashTablePtr table; /* the hash table */
9817    int n_table;
9818    xmlChar * name; /* the name of the userdata */
9819    int n_name;
9820    xmlChar * name2; /* a second name of the userdata */
9821    int n_name2;
9822    void * userdata; /* a pointer to the userdata */
9823    int n_userdata;
9824
9825    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
9826    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9827    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
9828    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
9829        mem_base = xmlMemBlocks();
9830        table = gen_xmlHashTablePtr(n_table, 0);
9831        name = gen_const_xmlChar_ptr(n_name, 1);
9832        name2 = gen_const_xmlChar_ptr(n_name2, 2);
9833        userdata = gen_userdata(n_userdata, 3);
9834
9835        ret_val = xmlHashAddEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata);
9836        desret_int(ret_val);
9837        call_tests++;
9838        des_xmlHashTablePtr(n_table, table, 0);
9839        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9840        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
9841        des_userdata(n_userdata, userdata, 3);
9842        xmlResetLastError();
9843        if (mem_base != xmlMemBlocks()) {
9844            printf("Leak of %d blocks found in xmlHashAddEntry2",
9845	           xmlMemBlocks() - mem_base);
9846	    test_ret++;
9847            printf(" %d", n_table);
9848            printf(" %d", n_name);
9849            printf(" %d", n_name2);
9850            printf(" %d", n_userdata);
9851            printf("\n");
9852        }
9853    }
9854    }
9855    }
9856    }
9857    function_tests++;
9858
9859    return(test_ret);
9860}
9861
9862
9863static int
9864test_xmlHashAddEntry3(void) {
9865    int test_ret = 0;
9866
9867    int mem_base;
9868    int ret_val;
9869    xmlHashTablePtr table; /* the hash table */
9870    int n_table;
9871    xmlChar * name; /* the name of the userdata */
9872    int n_name;
9873    xmlChar * name2; /* a second name of the userdata */
9874    int n_name2;
9875    xmlChar * name3; /* a third name of the userdata */
9876    int n_name3;
9877    void * userdata; /* a pointer to the userdata */
9878    int n_userdata;
9879
9880    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
9881    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9882    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
9883    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
9884    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
9885        mem_base = xmlMemBlocks();
9886        table = gen_xmlHashTablePtr(n_table, 0);
9887        name = gen_const_xmlChar_ptr(n_name, 1);
9888        name2 = gen_const_xmlChar_ptr(n_name2, 2);
9889        name3 = gen_const_xmlChar_ptr(n_name3, 3);
9890        userdata = gen_userdata(n_userdata, 4);
9891
9892        ret_val = xmlHashAddEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata);
9893        desret_int(ret_val);
9894        call_tests++;
9895        des_xmlHashTablePtr(n_table, table, 0);
9896        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9897        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
9898        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
9899        des_userdata(n_userdata, userdata, 4);
9900        xmlResetLastError();
9901        if (mem_base != xmlMemBlocks()) {
9902            printf("Leak of %d blocks found in xmlHashAddEntry3",
9903	           xmlMemBlocks() - mem_base);
9904	    test_ret++;
9905            printf(" %d", n_table);
9906            printf(" %d", n_name);
9907            printf(" %d", n_name2);
9908            printf(" %d", n_name3);
9909            printf(" %d", n_userdata);
9910            printf("\n");
9911        }
9912    }
9913    }
9914    }
9915    }
9916    }
9917    function_tests++;
9918
9919    return(test_ret);
9920}
9921
9922
9923static int
9924test_xmlHashCopy(void) {
9925    int test_ret = 0;
9926
9927
9928    /* missing type support */
9929    return(test_ret);
9930}
9931
9932
9933static int
9934test_xmlHashCreate(void) {
9935    int test_ret = 0;
9936
9937
9938    /* missing type support */
9939    return(test_ret);
9940}
9941
9942
9943static int
9944test_xmlHashCreateDict(void) {
9945    int test_ret = 0;
9946
9947
9948    /* missing type support */
9949    return(test_ret);
9950}
9951
9952
9953static int
9954test_xmlHashLookup(void) {
9955    int test_ret = 0;
9956
9957    int mem_base;
9958    void * ret_val;
9959    xmlHashTablePtr table; /* the hash table */
9960    int n_table;
9961    xmlChar * name; /* the name of the userdata */
9962    int n_name;
9963
9964    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
9965    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
9966        mem_base = xmlMemBlocks();
9967        table = gen_xmlHashTablePtr(n_table, 0);
9968        name = gen_const_xmlChar_ptr(n_name, 1);
9969
9970        ret_val = xmlHashLookup(table, (const xmlChar *)name);
9971        desret_void_ptr(ret_val);
9972        call_tests++;
9973        des_xmlHashTablePtr(n_table, table, 0);
9974        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
9975        xmlResetLastError();
9976        if (mem_base != xmlMemBlocks()) {
9977            printf("Leak of %d blocks found in xmlHashLookup",
9978	           xmlMemBlocks() - mem_base);
9979	    test_ret++;
9980            printf(" %d", n_table);
9981            printf(" %d", n_name);
9982            printf("\n");
9983        }
9984    }
9985    }
9986    function_tests++;
9987
9988    return(test_ret);
9989}
9990
9991
9992static int
9993test_xmlHashLookup2(void) {
9994    int test_ret = 0;
9995
9996    int mem_base;
9997    void * ret_val;
9998    xmlHashTablePtr table; /* the hash table */
9999    int n_table;
10000    xmlChar * name; /* the name of the userdata */
10001    int n_name;
10002    xmlChar * name2; /* a second name of the userdata */
10003    int n_name2;
10004
10005    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10006    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10007    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10008        mem_base = xmlMemBlocks();
10009        table = gen_xmlHashTablePtr(n_table, 0);
10010        name = gen_const_xmlChar_ptr(n_name, 1);
10011        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10012
10013        ret_val = xmlHashLookup2(table, (const xmlChar *)name, (const xmlChar *)name2);
10014        desret_void_ptr(ret_val);
10015        call_tests++;
10016        des_xmlHashTablePtr(n_table, table, 0);
10017        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10018        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10019        xmlResetLastError();
10020        if (mem_base != xmlMemBlocks()) {
10021            printf("Leak of %d blocks found in xmlHashLookup2",
10022	           xmlMemBlocks() - mem_base);
10023	    test_ret++;
10024            printf(" %d", n_table);
10025            printf(" %d", n_name);
10026            printf(" %d", n_name2);
10027            printf("\n");
10028        }
10029    }
10030    }
10031    }
10032    function_tests++;
10033
10034    return(test_ret);
10035}
10036
10037
10038static int
10039test_xmlHashLookup3(void) {
10040    int test_ret = 0;
10041
10042    int mem_base;
10043    void * ret_val;
10044    xmlHashTablePtr table; /* the hash table */
10045    int n_table;
10046    xmlChar * name; /* the name of the userdata */
10047    int n_name;
10048    xmlChar * name2; /* a second name of the userdata */
10049    int n_name2;
10050    xmlChar * name3; /* a third name of the userdata */
10051    int n_name3;
10052
10053    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10054    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10055    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10056    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
10057        mem_base = xmlMemBlocks();
10058        table = gen_xmlHashTablePtr(n_table, 0);
10059        name = gen_const_xmlChar_ptr(n_name, 1);
10060        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10061        name3 = gen_const_xmlChar_ptr(n_name3, 3);
10062
10063        ret_val = xmlHashLookup3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3);
10064        desret_void_ptr(ret_val);
10065        call_tests++;
10066        des_xmlHashTablePtr(n_table, table, 0);
10067        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10068        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10069        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
10070        xmlResetLastError();
10071        if (mem_base != xmlMemBlocks()) {
10072            printf("Leak of %d blocks found in xmlHashLookup3",
10073	           xmlMemBlocks() - mem_base);
10074	    test_ret++;
10075            printf(" %d", n_table);
10076            printf(" %d", n_name);
10077            printf(" %d", n_name2);
10078            printf(" %d", n_name3);
10079            printf("\n");
10080        }
10081    }
10082    }
10083    }
10084    }
10085    function_tests++;
10086
10087    return(test_ret);
10088}
10089
10090
10091static int
10092test_xmlHashQLookup(void) {
10093    int test_ret = 0;
10094
10095    int mem_base;
10096    void * ret_val;
10097    xmlHashTablePtr table; /* the hash table */
10098    int n_table;
10099    xmlChar * prefix; /* the prefix of the userdata */
10100    int n_prefix;
10101    xmlChar * name; /* the name of the userdata */
10102    int n_name;
10103
10104    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10105    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
10106    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10107        mem_base = xmlMemBlocks();
10108        table = gen_xmlHashTablePtr(n_table, 0);
10109        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
10110        name = gen_const_xmlChar_ptr(n_name, 2);
10111
10112        ret_val = xmlHashQLookup(table, (const xmlChar *)prefix, (const xmlChar *)name);
10113        desret_void_ptr(ret_val);
10114        call_tests++;
10115        des_xmlHashTablePtr(n_table, table, 0);
10116        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
10117        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
10118        xmlResetLastError();
10119        if (mem_base != xmlMemBlocks()) {
10120            printf("Leak of %d blocks found in xmlHashQLookup",
10121	           xmlMemBlocks() - mem_base);
10122	    test_ret++;
10123            printf(" %d", n_table);
10124            printf(" %d", n_prefix);
10125            printf(" %d", n_name);
10126            printf("\n");
10127        }
10128    }
10129    }
10130    }
10131    function_tests++;
10132
10133    return(test_ret);
10134}
10135
10136
10137static int
10138test_xmlHashQLookup2(void) {
10139    int test_ret = 0;
10140
10141    int mem_base;
10142    void * ret_val;
10143    xmlHashTablePtr table; /* the hash table */
10144    int n_table;
10145    xmlChar * prefix; /* the prefix of the userdata */
10146    int n_prefix;
10147    xmlChar * name; /* the name of the userdata */
10148    int n_name;
10149    xmlChar * prefix2; /* the second prefix of the userdata */
10150    int n_prefix2;
10151    xmlChar * name2; /* a second name of the userdata */
10152    int n_name2;
10153
10154    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10155    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
10156    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10157    for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
10158    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10159        mem_base = xmlMemBlocks();
10160        table = gen_xmlHashTablePtr(n_table, 0);
10161        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
10162        name = gen_const_xmlChar_ptr(n_name, 2);
10163        prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
10164        name2 = gen_const_xmlChar_ptr(n_name2, 4);
10165
10166        ret_val = xmlHashQLookup2(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2);
10167        desret_void_ptr(ret_val);
10168        call_tests++;
10169        des_xmlHashTablePtr(n_table, table, 0);
10170        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
10171        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
10172        des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
10173        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
10174        xmlResetLastError();
10175        if (mem_base != xmlMemBlocks()) {
10176            printf("Leak of %d blocks found in xmlHashQLookup2",
10177	           xmlMemBlocks() - mem_base);
10178	    test_ret++;
10179            printf(" %d", n_table);
10180            printf(" %d", n_prefix);
10181            printf(" %d", n_name);
10182            printf(" %d", n_prefix2);
10183            printf(" %d", n_name2);
10184            printf("\n");
10185        }
10186    }
10187    }
10188    }
10189    }
10190    }
10191    function_tests++;
10192
10193    return(test_ret);
10194}
10195
10196
10197static int
10198test_xmlHashQLookup3(void) {
10199    int test_ret = 0;
10200
10201    int mem_base;
10202    void * ret_val;
10203    xmlHashTablePtr table; /* the hash table */
10204    int n_table;
10205    xmlChar * prefix; /* the prefix of the userdata */
10206    int n_prefix;
10207    xmlChar * name; /* the name of the userdata */
10208    int n_name;
10209    xmlChar * prefix2; /* the second prefix of the userdata */
10210    int n_prefix2;
10211    xmlChar * name2; /* a second name of the userdata */
10212    int n_name2;
10213    xmlChar * prefix3; /* the third prefix of the userdata */
10214    int n_prefix3;
10215    xmlChar * name3; /* a third name of the userdata */
10216    int n_name3;
10217
10218    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10219    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
10220    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10221    for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
10222    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10223    for (n_prefix3 = 0;n_prefix3 < gen_nb_const_xmlChar_ptr;n_prefix3++) {
10224    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
10225        mem_base = xmlMemBlocks();
10226        table = gen_xmlHashTablePtr(n_table, 0);
10227        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
10228        name = gen_const_xmlChar_ptr(n_name, 2);
10229        prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
10230        name2 = gen_const_xmlChar_ptr(n_name2, 4);
10231        prefix3 = gen_const_xmlChar_ptr(n_prefix3, 5);
10232        name3 = gen_const_xmlChar_ptr(n_name3, 6);
10233
10234        ret_val = xmlHashQLookup3(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2, (const xmlChar *)prefix3, (const xmlChar *)name3);
10235        desret_void_ptr(ret_val);
10236        call_tests++;
10237        des_xmlHashTablePtr(n_table, table, 0);
10238        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
10239        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
10240        des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
10241        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
10242        des_const_xmlChar_ptr(n_prefix3, (const xmlChar *)prefix3, 5);
10243        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 6);
10244        xmlResetLastError();
10245        if (mem_base != xmlMemBlocks()) {
10246            printf("Leak of %d blocks found in xmlHashQLookup3",
10247	           xmlMemBlocks() - mem_base);
10248	    test_ret++;
10249            printf(" %d", n_table);
10250            printf(" %d", n_prefix);
10251            printf(" %d", n_name);
10252            printf(" %d", n_prefix2);
10253            printf(" %d", n_name2);
10254            printf(" %d", n_prefix3);
10255            printf(" %d", n_name3);
10256            printf("\n");
10257        }
10258    }
10259    }
10260    }
10261    }
10262    }
10263    }
10264    }
10265    function_tests++;
10266
10267    return(test_ret);
10268}
10269
10270
10271static int
10272test_xmlHashRemoveEntry(void) {
10273    int test_ret = 0;
10274
10275    int mem_base;
10276    int ret_val;
10277    xmlHashTablePtr table; /* the hash table */
10278    int n_table;
10279    xmlChar * name; /* the name of the userdata */
10280    int n_name;
10281    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
10282    int n_f;
10283
10284    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10285    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10286    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10287        mem_base = xmlMemBlocks();
10288        table = gen_xmlHashTablePtr(n_table, 0);
10289        name = gen_const_xmlChar_ptr(n_name, 1);
10290        f = gen_xmlHashDeallocator(n_f, 2);
10291
10292        ret_val = xmlHashRemoveEntry(table, (const xmlChar *)name, f);
10293        desret_int(ret_val);
10294        call_tests++;
10295        des_xmlHashTablePtr(n_table, table, 0);
10296        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10297        des_xmlHashDeallocator(n_f, f, 2);
10298        xmlResetLastError();
10299        if (mem_base != xmlMemBlocks()) {
10300            printf("Leak of %d blocks found in xmlHashRemoveEntry",
10301	           xmlMemBlocks() - mem_base);
10302	    test_ret++;
10303            printf(" %d", n_table);
10304            printf(" %d", n_name);
10305            printf(" %d", n_f);
10306            printf("\n");
10307        }
10308    }
10309    }
10310    }
10311    function_tests++;
10312
10313    return(test_ret);
10314}
10315
10316
10317static int
10318test_xmlHashRemoveEntry2(void) {
10319    int test_ret = 0;
10320
10321    int mem_base;
10322    int ret_val;
10323    xmlHashTablePtr table; /* the hash table */
10324    int n_table;
10325    xmlChar * name; /* the name of the userdata */
10326    int n_name;
10327    xmlChar * name2; /* a second name of the userdata */
10328    int n_name2;
10329    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
10330    int n_f;
10331
10332    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10333    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10334    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10335    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10336        mem_base = xmlMemBlocks();
10337        table = gen_xmlHashTablePtr(n_table, 0);
10338        name = gen_const_xmlChar_ptr(n_name, 1);
10339        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10340        f = gen_xmlHashDeallocator(n_f, 3);
10341
10342        ret_val = xmlHashRemoveEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, f);
10343        desret_int(ret_val);
10344        call_tests++;
10345        des_xmlHashTablePtr(n_table, table, 0);
10346        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10347        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10348        des_xmlHashDeallocator(n_f, f, 3);
10349        xmlResetLastError();
10350        if (mem_base != xmlMemBlocks()) {
10351            printf("Leak of %d blocks found in xmlHashRemoveEntry2",
10352	           xmlMemBlocks() - mem_base);
10353	    test_ret++;
10354            printf(" %d", n_table);
10355            printf(" %d", n_name);
10356            printf(" %d", n_name2);
10357            printf(" %d", n_f);
10358            printf("\n");
10359        }
10360    }
10361    }
10362    }
10363    }
10364    function_tests++;
10365
10366    return(test_ret);
10367}
10368
10369
10370static int
10371test_xmlHashRemoveEntry3(void) {
10372    int test_ret = 0;
10373
10374    int mem_base;
10375    int ret_val;
10376    xmlHashTablePtr table; /* the hash table */
10377    int n_table;
10378    xmlChar * name; /* the name of the userdata */
10379    int n_name;
10380    xmlChar * name2; /* a second name of the userdata */
10381    int n_name2;
10382    xmlChar * name3; /* a third name of the userdata */
10383    int n_name3;
10384    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
10385    int n_f;
10386
10387    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10388    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10389    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10390    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
10391    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10392        mem_base = xmlMemBlocks();
10393        table = gen_xmlHashTablePtr(n_table, 0);
10394        name = gen_const_xmlChar_ptr(n_name, 1);
10395        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10396        name3 = gen_const_xmlChar_ptr(n_name3, 3);
10397        f = gen_xmlHashDeallocator(n_f, 4);
10398
10399        ret_val = xmlHashRemoveEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, f);
10400        desret_int(ret_val);
10401        call_tests++;
10402        des_xmlHashTablePtr(n_table, table, 0);
10403        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10404        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10405        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
10406        des_xmlHashDeallocator(n_f, f, 4);
10407        xmlResetLastError();
10408        if (mem_base != xmlMemBlocks()) {
10409            printf("Leak of %d blocks found in xmlHashRemoveEntry3",
10410	           xmlMemBlocks() - mem_base);
10411	    test_ret++;
10412            printf(" %d", n_table);
10413            printf(" %d", n_name);
10414            printf(" %d", n_name2);
10415            printf(" %d", n_name3);
10416            printf(" %d", n_f);
10417            printf("\n");
10418        }
10419    }
10420    }
10421    }
10422    }
10423    }
10424    function_tests++;
10425
10426    return(test_ret);
10427}
10428
10429
10430static int
10431test_xmlHashScan(void) {
10432    int test_ret = 0;
10433
10434
10435    /* missing type support */
10436    return(test_ret);
10437}
10438
10439
10440static int
10441test_xmlHashScan3(void) {
10442    int test_ret = 0;
10443
10444
10445    /* missing type support */
10446    return(test_ret);
10447}
10448
10449
10450static int
10451test_xmlHashScanFull(void) {
10452    int test_ret = 0;
10453
10454
10455    /* missing type support */
10456    return(test_ret);
10457}
10458
10459
10460static int
10461test_xmlHashScanFull3(void) {
10462    int test_ret = 0;
10463
10464
10465    /* missing type support */
10466    return(test_ret);
10467}
10468
10469
10470static int
10471test_xmlHashSize(void) {
10472    int test_ret = 0;
10473
10474    int mem_base;
10475    int ret_val;
10476    xmlHashTablePtr table; /* the hash table */
10477    int n_table;
10478
10479    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10480        mem_base = xmlMemBlocks();
10481        table = gen_xmlHashTablePtr(n_table, 0);
10482
10483        ret_val = xmlHashSize(table);
10484        desret_int(ret_val);
10485        call_tests++;
10486        des_xmlHashTablePtr(n_table, table, 0);
10487        xmlResetLastError();
10488        if (mem_base != xmlMemBlocks()) {
10489            printf("Leak of %d blocks found in xmlHashSize",
10490	           xmlMemBlocks() - mem_base);
10491	    test_ret++;
10492            printf(" %d", n_table);
10493            printf("\n");
10494        }
10495    }
10496    function_tests++;
10497
10498    return(test_ret);
10499}
10500
10501
10502static int
10503test_xmlHashUpdateEntry(void) {
10504    int test_ret = 0;
10505
10506    int mem_base;
10507    int ret_val;
10508    xmlHashTablePtr table; /* the hash table */
10509    int n_table;
10510    xmlChar * name; /* the name of the userdata */
10511    int n_name;
10512    void * userdata; /* a pointer to the userdata */
10513    int n_userdata;
10514    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
10515    int n_f;
10516
10517    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10518    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10519    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
10520    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10521        mem_base = xmlMemBlocks();
10522        table = gen_xmlHashTablePtr(n_table, 0);
10523        name = gen_const_xmlChar_ptr(n_name, 1);
10524        userdata = gen_userdata(n_userdata, 2);
10525        f = gen_xmlHashDeallocator(n_f, 3);
10526
10527        ret_val = xmlHashUpdateEntry(table, (const xmlChar *)name, userdata, f);
10528        desret_int(ret_val);
10529        call_tests++;
10530        des_xmlHashTablePtr(n_table, table, 0);
10531        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10532        des_userdata(n_userdata, userdata, 2);
10533        des_xmlHashDeallocator(n_f, f, 3);
10534        xmlResetLastError();
10535        if (mem_base != xmlMemBlocks()) {
10536            printf("Leak of %d blocks found in xmlHashUpdateEntry",
10537	           xmlMemBlocks() - mem_base);
10538	    test_ret++;
10539            printf(" %d", n_table);
10540            printf(" %d", n_name);
10541            printf(" %d", n_userdata);
10542            printf(" %d", n_f);
10543            printf("\n");
10544        }
10545    }
10546    }
10547    }
10548    }
10549    function_tests++;
10550
10551    return(test_ret);
10552}
10553
10554
10555static int
10556test_xmlHashUpdateEntry2(void) {
10557    int test_ret = 0;
10558
10559    int mem_base;
10560    int ret_val;
10561    xmlHashTablePtr table; /* the hash table */
10562    int n_table;
10563    xmlChar * name; /* the name of the userdata */
10564    int n_name;
10565    xmlChar * name2; /* a second name of the userdata */
10566    int n_name2;
10567    void * userdata; /* a pointer to the userdata */
10568    int n_userdata;
10569    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
10570    int n_f;
10571
10572    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10573    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10574    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10575    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
10576    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10577        mem_base = xmlMemBlocks();
10578        table = gen_xmlHashTablePtr(n_table, 0);
10579        name = gen_const_xmlChar_ptr(n_name, 1);
10580        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10581        userdata = gen_userdata(n_userdata, 3);
10582        f = gen_xmlHashDeallocator(n_f, 4);
10583
10584        ret_val = xmlHashUpdateEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata, f);
10585        desret_int(ret_val);
10586        call_tests++;
10587        des_xmlHashTablePtr(n_table, table, 0);
10588        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10589        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10590        des_userdata(n_userdata, userdata, 3);
10591        des_xmlHashDeallocator(n_f, f, 4);
10592        xmlResetLastError();
10593        if (mem_base != xmlMemBlocks()) {
10594            printf("Leak of %d blocks found in xmlHashUpdateEntry2",
10595	           xmlMemBlocks() - mem_base);
10596	    test_ret++;
10597            printf(" %d", n_table);
10598            printf(" %d", n_name);
10599            printf(" %d", n_name2);
10600            printf(" %d", n_userdata);
10601            printf(" %d", n_f);
10602            printf("\n");
10603        }
10604    }
10605    }
10606    }
10607    }
10608    }
10609    function_tests++;
10610
10611    return(test_ret);
10612}
10613
10614
10615static int
10616test_xmlHashUpdateEntry3(void) {
10617    int test_ret = 0;
10618
10619    int mem_base;
10620    int ret_val;
10621    xmlHashTablePtr table; /* the hash table */
10622    int n_table;
10623    xmlChar * name; /* the name of the userdata */
10624    int n_name;
10625    xmlChar * name2; /* a second name of the userdata */
10626    int n_name2;
10627    xmlChar * name3; /* a third name of the userdata */
10628    int n_name3;
10629    void * userdata; /* a pointer to the userdata */
10630    int n_userdata;
10631    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
10632    int n_f;
10633
10634    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
10635    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
10636    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
10637    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
10638    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
10639    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
10640        mem_base = xmlMemBlocks();
10641        table = gen_xmlHashTablePtr(n_table, 0);
10642        name = gen_const_xmlChar_ptr(n_name, 1);
10643        name2 = gen_const_xmlChar_ptr(n_name2, 2);
10644        name3 = gen_const_xmlChar_ptr(n_name3, 3);
10645        userdata = gen_userdata(n_userdata, 4);
10646        f = gen_xmlHashDeallocator(n_f, 5);
10647
10648        ret_val = xmlHashUpdateEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata, f);
10649        desret_int(ret_val);
10650        call_tests++;
10651        des_xmlHashTablePtr(n_table, table, 0);
10652        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
10653        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
10654        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
10655        des_userdata(n_userdata, userdata, 4);
10656        des_xmlHashDeallocator(n_f, f, 5);
10657        xmlResetLastError();
10658        if (mem_base != xmlMemBlocks()) {
10659            printf("Leak of %d blocks found in xmlHashUpdateEntry3",
10660	           xmlMemBlocks() - mem_base);
10661	    test_ret++;
10662            printf(" %d", n_table);
10663            printf(" %d", n_name);
10664            printf(" %d", n_name2);
10665            printf(" %d", n_name3);
10666            printf(" %d", n_userdata);
10667            printf(" %d", n_f);
10668            printf("\n");
10669        }
10670    }
10671    }
10672    }
10673    }
10674    }
10675    }
10676    function_tests++;
10677
10678    return(test_ret);
10679}
10680
10681static int
10682test_hash(void) {
10683    int test_ret = 0;
10684
10685    if (quiet == 0) printf("Testing hash : 16 of 24 functions ...\n");
10686    test_ret += test_xmlHashAddEntry();
10687    test_ret += test_xmlHashAddEntry2();
10688    test_ret += test_xmlHashAddEntry3();
10689    test_ret += test_xmlHashCopy();
10690    test_ret += test_xmlHashCreate();
10691    test_ret += test_xmlHashCreateDict();
10692    test_ret += test_xmlHashLookup();
10693    test_ret += test_xmlHashLookup2();
10694    test_ret += test_xmlHashLookup3();
10695    test_ret += test_xmlHashQLookup();
10696    test_ret += test_xmlHashQLookup2();
10697    test_ret += test_xmlHashQLookup3();
10698    test_ret += test_xmlHashRemoveEntry();
10699    test_ret += test_xmlHashRemoveEntry2();
10700    test_ret += test_xmlHashRemoveEntry3();
10701    test_ret += test_xmlHashScan();
10702    test_ret += test_xmlHashScan3();
10703    test_ret += test_xmlHashScanFull();
10704    test_ret += test_xmlHashScanFull3();
10705    test_ret += test_xmlHashSize();
10706    test_ret += test_xmlHashUpdateEntry();
10707    test_ret += test_xmlHashUpdateEntry2();
10708    test_ret += test_xmlHashUpdateEntry3();
10709
10710    if (test_ret != 0)
10711	printf("Module hash: %d errors\n", test_ret);
10712    return(test_ret);
10713}
10714
10715#define gen_nb_xmlLinkPtr 1
10716static xmlLinkPtr gen_xmlLinkPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
10717    return(NULL);
10718}
10719static void des_xmlLinkPtr(int no ATTRIBUTE_UNUSED, xmlLinkPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
10720}
10721
10722static int
10723test_xmlLinkGetData(void) {
10724    int test_ret = 0;
10725
10726    int mem_base;
10727    void * ret_val;
10728    xmlLinkPtr lk; /* a link */
10729    int n_lk;
10730
10731    for (n_lk = 0;n_lk < gen_nb_xmlLinkPtr;n_lk++) {
10732        mem_base = xmlMemBlocks();
10733        lk = gen_xmlLinkPtr(n_lk, 0);
10734
10735        ret_val = xmlLinkGetData(lk);
10736        desret_void_ptr(ret_val);
10737        call_tests++;
10738        des_xmlLinkPtr(n_lk, lk, 0);
10739        xmlResetLastError();
10740        if (mem_base != xmlMemBlocks()) {
10741            printf("Leak of %d blocks found in xmlLinkGetData",
10742	           xmlMemBlocks() - mem_base);
10743	    test_ret++;
10744            printf(" %d", n_lk);
10745            printf("\n");
10746        }
10747    }
10748    function_tests++;
10749
10750    return(test_ret);
10751}
10752
10753
10754static int
10755test_xmlListAppend(void) {
10756    int test_ret = 0;
10757
10758    int mem_base;
10759    int ret_val;
10760    xmlListPtr l; /* a list */
10761    int n_l;
10762    void * data; /* the data */
10763    int n_data;
10764
10765    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
10766    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
10767        mem_base = xmlMemBlocks();
10768        l = gen_xmlListPtr(n_l, 0);
10769        data = gen_userdata(n_data, 1);
10770
10771        ret_val = xmlListAppend(l, data);
10772        desret_int(ret_val);
10773        call_tests++;
10774        des_xmlListPtr(n_l, l, 0);
10775        des_userdata(n_data, data, 1);
10776        xmlResetLastError();
10777        if (mem_base != xmlMemBlocks()) {
10778            printf("Leak of %d blocks found in xmlListAppend",
10779	           xmlMemBlocks() - mem_base);
10780	    test_ret++;
10781            printf(" %d", n_l);
10782            printf(" %d", n_data);
10783            printf("\n");
10784        }
10785    }
10786    }
10787    function_tests++;
10788
10789    return(test_ret);
10790}
10791
10792
10793static int
10794test_xmlListClear(void) {
10795    int test_ret = 0;
10796
10797    int mem_base;
10798    xmlListPtr l; /* a list */
10799    int n_l;
10800
10801    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
10802        mem_base = xmlMemBlocks();
10803        l = gen_xmlListPtr(n_l, 0);
10804
10805        xmlListClear(l);
10806        call_tests++;
10807        des_xmlListPtr(n_l, l, 0);
10808        xmlResetLastError();
10809        if (mem_base != xmlMemBlocks()) {
10810            printf("Leak of %d blocks found in xmlListClear",
10811	           xmlMemBlocks() - mem_base);
10812	    test_ret++;
10813            printf(" %d", n_l);
10814            printf("\n");
10815        }
10816    }
10817    function_tests++;
10818
10819    return(test_ret);
10820}
10821
10822
10823#define gen_nb_const_xmlListPtr 1
10824static xmlListPtr gen_const_xmlListPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
10825    return(NULL);
10826}
10827static void des_const_xmlListPtr(int no ATTRIBUTE_UNUSED, const xmlListPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
10828}
10829
10830static int
10831test_xmlListCopy(void) {
10832    int test_ret = 0;
10833
10834    int mem_base;
10835    int ret_val;
10836    xmlListPtr cur; /* the new list */
10837    int n_cur;
10838    xmlListPtr old; /* the old list */
10839    int n_old;
10840
10841    for (n_cur = 0;n_cur < gen_nb_xmlListPtr;n_cur++) {
10842    for (n_old = 0;n_old < gen_nb_const_xmlListPtr;n_old++) {
10843        mem_base = xmlMemBlocks();
10844        cur = gen_xmlListPtr(n_cur, 0);
10845        old = gen_const_xmlListPtr(n_old, 1);
10846
10847        ret_val = xmlListCopy(cur, (const xmlListPtr)old);
10848        desret_int(ret_val);
10849        call_tests++;
10850        des_xmlListPtr(n_cur, cur, 0);
10851        des_const_xmlListPtr(n_old, (const xmlListPtr)old, 1);
10852        xmlResetLastError();
10853        if (mem_base != xmlMemBlocks()) {
10854            printf("Leak of %d blocks found in xmlListCopy",
10855	           xmlMemBlocks() - mem_base);
10856	    test_ret++;
10857            printf(" %d", n_cur);
10858            printf(" %d", n_old);
10859            printf("\n");
10860        }
10861    }
10862    }
10863    function_tests++;
10864
10865    return(test_ret);
10866}
10867
10868
10869static int
10870test_xmlListCreate(void) {
10871    int test_ret = 0;
10872
10873
10874    /* missing type support */
10875    return(test_ret);
10876}
10877
10878
10879static int
10880test_xmlListDup(void) {
10881    int test_ret = 0;
10882
10883
10884    /* missing type support */
10885    return(test_ret);
10886}
10887
10888
10889static int
10890test_xmlListEmpty(void) {
10891    int test_ret = 0;
10892
10893    int mem_base;
10894    int ret_val;
10895    xmlListPtr l; /* a list */
10896    int n_l;
10897
10898    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
10899        mem_base = xmlMemBlocks();
10900        l = gen_xmlListPtr(n_l, 0);
10901
10902        ret_val = xmlListEmpty(l);
10903        desret_int(ret_val);
10904        call_tests++;
10905        des_xmlListPtr(n_l, l, 0);
10906        xmlResetLastError();
10907        if (mem_base != xmlMemBlocks()) {
10908            printf("Leak of %d blocks found in xmlListEmpty",
10909	           xmlMemBlocks() - mem_base);
10910	    test_ret++;
10911            printf(" %d", n_l);
10912            printf("\n");
10913        }
10914    }
10915    function_tests++;
10916
10917    return(test_ret);
10918}
10919
10920
10921static int
10922test_xmlListEnd(void) {
10923    int test_ret = 0;
10924
10925
10926    /* missing type support */
10927    return(test_ret);
10928}
10929
10930
10931static int
10932test_xmlListFront(void) {
10933    int test_ret = 0;
10934
10935
10936    /* missing type support */
10937    return(test_ret);
10938}
10939
10940
10941static int
10942test_xmlListInsert(void) {
10943    int test_ret = 0;
10944
10945    int mem_base;
10946    int ret_val;
10947    xmlListPtr l; /* a list */
10948    int n_l;
10949    void * data; /* the data */
10950    int n_data;
10951
10952    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
10953    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
10954        mem_base = xmlMemBlocks();
10955        l = gen_xmlListPtr(n_l, 0);
10956        data = gen_userdata(n_data, 1);
10957
10958        ret_val = xmlListInsert(l, data);
10959        desret_int(ret_val);
10960        call_tests++;
10961        des_xmlListPtr(n_l, l, 0);
10962        des_userdata(n_data, data, 1);
10963        xmlResetLastError();
10964        if (mem_base != xmlMemBlocks()) {
10965            printf("Leak of %d blocks found in xmlListInsert",
10966	           xmlMemBlocks() - mem_base);
10967	    test_ret++;
10968            printf(" %d", n_l);
10969            printf(" %d", n_data);
10970            printf("\n");
10971        }
10972    }
10973    }
10974    function_tests++;
10975
10976    return(test_ret);
10977}
10978
10979
10980static int
10981test_xmlListMerge(void) {
10982    int test_ret = 0;
10983
10984    int mem_base;
10985    xmlListPtr l1; /* the original list */
10986    int n_l1;
10987    xmlListPtr l2; /* the new list */
10988    int n_l2;
10989
10990    for (n_l1 = 0;n_l1 < gen_nb_xmlListPtr;n_l1++) {
10991    for (n_l2 = 0;n_l2 < gen_nb_xmlListPtr;n_l2++) {
10992        mem_base = xmlMemBlocks();
10993        l1 = gen_xmlListPtr(n_l1, 0);
10994        l2 = gen_xmlListPtr(n_l2, 1);
10995
10996        xmlListMerge(l1, l2);
10997        call_tests++;
10998        des_xmlListPtr(n_l1, l1, 0);
10999        des_xmlListPtr(n_l2, l2, 1);
11000        xmlResetLastError();
11001        if (mem_base != xmlMemBlocks()) {
11002            printf("Leak of %d blocks found in xmlListMerge",
11003	           xmlMemBlocks() - mem_base);
11004	    test_ret++;
11005            printf(" %d", n_l1);
11006            printf(" %d", n_l2);
11007            printf("\n");
11008        }
11009    }
11010    }
11011    function_tests++;
11012
11013    return(test_ret);
11014}
11015
11016
11017static int
11018test_xmlListPopBack(void) {
11019    int test_ret = 0;
11020
11021    int mem_base;
11022    xmlListPtr l; /* a list */
11023    int n_l;
11024
11025    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11026        mem_base = xmlMemBlocks();
11027        l = gen_xmlListPtr(n_l, 0);
11028
11029        xmlListPopBack(l);
11030        call_tests++;
11031        des_xmlListPtr(n_l, l, 0);
11032        xmlResetLastError();
11033        if (mem_base != xmlMemBlocks()) {
11034            printf("Leak of %d blocks found in xmlListPopBack",
11035	           xmlMemBlocks() - mem_base);
11036	    test_ret++;
11037            printf(" %d", n_l);
11038            printf("\n");
11039        }
11040    }
11041    function_tests++;
11042
11043    return(test_ret);
11044}
11045
11046
11047static int
11048test_xmlListPopFront(void) {
11049    int test_ret = 0;
11050
11051    int mem_base;
11052    xmlListPtr l; /* a list */
11053    int n_l;
11054
11055    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11056        mem_base = xmlMemBlocks();
11057        l = gen_xmlListPtr(n_l, 0);
11058
11059        xmlListPopFront(l);
11060        call_tests++;
11061        des_xmlListPtr(n_l, l, 0);
11062        xmlResetLastError();
11063        if (mem_base != xmlMemBlocks()) {
11064            printf("Leak of %d blocks found in xmlListPopFront",
11065	           xmlMemBlocks() - mem_base);
11066	    test_ret++;
11067            printf(" %d", n_l);
11068            printf("\n");
11069        }
11070    }
11071    function_tests++;
11072
11073    return(test_ret);
11074}
11075
11076
11077static int
11078test_xmlListPushBack(void) {
11079    int test_ret = 0;
11080
11081    int mem_base;
11082    int ret_val;
11083    xmlListPtr l; /* a list */
11084    int n_l;
11085    void * data; /* new data */
11086    int n_data;
11087
11088    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11089    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11090        mem_base = xmlMemBlocks();
11091        l = gen_xmlListPtr(n_l, 0);
11092        data = gen_userdata(n_data, 1);
11093
11094        ret_val = xmlListPushBack(l, data);
11095        desret_int(ret_val);
11096        call_tests++;
11097        des_xmlListPtr(n_l, l, 0);
11098        des_userdata(n_data, data, 1);
11099        xmlResetLastError();
11100        if (mem_base != xmlMemBlocks()) {
11101            printf("Leak of %d blocks found in xmlListPushBack",
11102	           xmlMemBlocks() - mem_base);
11103	    test_ret++;
11104            printf(" %d", n_l);
11105            printf(" %d", n_data);
11106            printf("\n");
11107        }
11108    }
11109    }
11110    function_tests++;
11111
11112    return(test_ret);
11113}
11114
11115
11116static int
11117test_xmlListPushFront(void) {
11118    int test_ret = 0;
11119
11120    int mem_base;
11121    int ret_val;
11122    xmlListPtr l; /* a list */
11123    int n_l;
11124    void * data; /* new data */
11125    int n_data;
11126
11127    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11128    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11129        mem_base = xmlMemBlocks();
11130        l = gen_xmlListPtr(n_l, 0);
11131        data = gen_userdata(n_data, 1);
11132
11133        ret_val = xmlListPushFront(l, data);
11134        desret_int(ret_val);
11135        call_tests++;
11136        des_xmlListPtr(n_l, l, 0);
11137        des_userdata(n_data, data, 1);
11138        xmlResetLastError();
11139        if (mem_base != xmlMemBlocks()) {
11140            printf("Leak of %d blocks found in xmlListPushFront",
11141	           xmlMemBlocks() - mem_base);
11142	    test_ret++;
11143            printf(" %d", n_l);
11144            printf(" %d", n_data);
11145            printf("\n");
11146        }
11147    }
11148    }
11149    function_tests++;
11150
11151    return(test_ret);
11152}
11153
11154
11155static int
11156test_xmlListRemoveAll(void) {
11157    int test_ret = 0;
11158
11159    int mem_base;
11160    int ret_val;
11161    xmlListPtr l; /* a list */
11162    int n_l;
11163    void * data; /* list data */
11164    int n_data;
11165
11166    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11167    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11168        mem_base = xmlMemBlocks();
11169        l = gen_xmlListPtr(n_l, 0);
11170        data = gen_userdata(n_data, 1);
11171
11172        ret_val = xmlListRemoveAll(l, data);
11173        desret_int(ret_val);
11174        call_tests++;
11175        des_xmlListPtr(n_l, l, 0);
11176        des_userdata(n_data, data, 1);
11177        xmlResetLastError();
11178        if (mem_base != xmlMemBlocks()) {
11179            printf("Leak of %d blocks found in xmlListRemoveAll",
11180	           xmlMemBlocks() - mem_base);
11181	    test_ret++;
11182            printf(" %d", n_l);
11183            printf(" %d", n_data);
11184            printf("\n");
11185        }
11186    }
11187    }
11188    function_tests++;
11189
11190    return(test_ret);
11191}
11192
11193
11194static int
11195test_xmlListRemoveFirst(void) {
11196    int test_ret = 0;
11197
11198    int mem_base;
11199    int ret_val;
11200    xmlListPtr l; /* a list */
11201    int n_l;
11202    void * data; /* list data */
11203    int n_data;
11204
11205    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11206    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11207        mem_base = xmlMemBlocks();
11208        l = gen_xmlListPtr(n_l, 0);
11209        data = gen_userdata(n_data, 1);
11210
11211        ret_val = xmlListRemoveFirst(l, data);
11212        desret_int(ret_val);
11213        call_tests++;
11214        des_xmlListPtr(n_l, l, 0);
11215        des_userdata(n_data, data, 1);
11216        xmlResetLastError();
11217        if (mem_base != xmlMemBlocks()) {
11218            printf("Leak of %d blocks found in xmlListRemoveFirst",
11219	           xmlMemBlocks() - mem_base);
11220	    test_ret++;
11221            printf(" %d", n_l);
11222            printf(" %d", n_data);
11223            printf("\n");
11224        }
11225    }
11226    }
11227    function_tests++;
11228
11229    return(test_ret);
11230}
11231
11232
11233static int
11234test_xmlListRemoveLast(void) {
11235    int test_ret = 0;
11236
11237    int mem_base;
11238    int ret_val;
11239    xmlListPtr l; /* a list */
11240    int n_l;
11241    void * data; /* list data */
11242    int n_data;
11243
11244    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11245    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11246        mem_base = xmlMemBlocks();
11247        l = gen_xmlListPtr(n_l, 0);
11248        data = gen_userdata(n_data, 1);
11249
11250        ret_val = xmlListRemoveLast(l, data);
11251        desret_int(ret_val);
11252        call_tests++;
11253        des_xmlListPtr(n_l, l, 0);
11254        des_userdata(n_data, data, 1);
11255        xmlResetLastError();
11256        if (mem_base != xmlMemBlocks()) {
11257            printf("Leak of %d blocks found in xmlListRemoveLast",
11258	           xmlMemBlocks() - mem_base);
11259	    test_ret++;
11260            printf(" %d", n_l);
11261            printf(" %d", n_data);
11262            printf("\n");
11263        }
11264    }
11265    }
11266    function_tests++;
11267
11268    return(test_ret);
11269}
11270
11271
11272static int
11273test_xmlListReverse(void) {
11274    int test_ret = 0;
11275
11276    int mem_base;
11277    xmlListPtr l; /* a list */
11278    int n_l;
11279
11280    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11281        mem_base = xmlMemBlocks();
11282        l = gen_xmlListPtr(n_l, 0);
11283
11284        xmlListReverse(l);
11285        call_tests++;
11286        des_xmlListPtr(n_l, l, 0);
11287        xmlResetLastError();
11288        if (mem_base != xmlMemBlocks()) {
11289            printf("Leak of %d blocks found in xmlListReverse",
11290	           xmlMemBlocks() - mem_base);
11291	    test_ret++;
11292            printf(" %d", n_l);
11293            printf("\n");
11294        }
11295    }
11296    function_tests++;
11297
11298    return(test_ret);
11299}
11300
11301
11302static int
11303test_xmlListReverseSearch(void) {
11304    int test_ret = 0;
11305
11306    int mem_base;
11307    void * ret_val;
11308    xmlListPtr l; /* a list */
11309    int n_l;
11310    void * data; /* a search value */
11311    int n_data;
11312
11313    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11314    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11315        mem_base = xmlMemBlocks();
11316        l = gen_xmlListPtr(n_l, 0);
11317        data = gen_userdata(n_data, 1);
11318
11319        ret_val = xmlListReverseSearch(l, data);
11320        desret_void_ptr(ret_val);
11321        call_tests++;
11322        des_xmlListPtr(n_l, l, 0);
11323        des_userdata(n_data, data, 1);
11324        xmlResetLastError();
11325        if (mem_base != xmlMemBlocks()) {
11326            printf("Leak of %d blocks found in xmlListReverseSearch",
11327	           xmlMemBlocks() - mem_base);
11328	    test_ret++;
11329            printf(" %d", n_l);
11330            printf(" %d", n_data);
11331            printf("\n");
11332        }
11333    }
11334    }
11335    function_tests++;
11336
11337    return(test_ret);
11338}
11339
11340
11341static int
11342test_xmlListReverseWalk(void) {
11343    int test_ret = 0;
11344
11345
11346    /* missing type support */
11347    return(test_ret);
11348}
11349
11350
11351static int
11352test_xmlListSearch(void) {
11353    int test_ret = 0;
11354
11355    int mem_base;
11356    void * ret_val;
11357    xmlListPtr l; /* a list */
11358    int n_l;
11359    void * data; /* a search value */
11360    int n_data;
11361
11362    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11363    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
11364        mem_base = xmlMemBlocks();
11365        l = gen_xmlListPtr(n_l, 0);
11366        data = gen_userdata(n_data, 1);
11367
11368        ret_val = xmlListSearch(l, data);
11369        desret_void_ptr(ret_val);
11370        call_tests++;
11371        des_xmlListPtr(n_l, l, 0);
11372        des_userdata(n_data, data, 1);
11373        xmlResetLastError();
11374        if (mem_base != xmlMemBlocks()) {
11375            printf("Leak of %d blocks found in xmlListSearch",
11376	           xmlMemBlocks() - mem_base);
11377	    test_ret++;
11378            printf(" %d", n_l);
11379            printf(" %d", n_data);
11380            printf("\n");
11381        }
11382    }
11383    }
11384    function_tests++;
11385
11386    return(test_ret);
11387}
11388
11389
11390static int
11391test_xmlListSize(void) {
11392    int test_ret = 0;
11393
11394    int mem_base;
11395    int ret_val;
11396    xmlListPtr l; /* a list */
11397    int n_l;
11398
11399    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11400        mem_base = xmlMemBlocks();
11401        l = gen_xmlListPtr(n_l, 0);
11402
11403        ret_val = xmlListSize(l);
11404        desret_int(ret_val);
11405        call_tests++;
11406        des_xmlListPtr(n_l, l, 0);
11407        xmlResetLastError();
11408        if (mem_base != xmlMemBlocks()) {
11409            printf("Leak of %d blocks found in xmlListSize",
11410	           xmlMemBlocks() - mem_base);
11411	    test_ret++;
11412            printf(" %d", n_l);
11413            printf("\n");
11414        }
11415    }
11416    function_tests++;
11417
11418    return(test_ret);
11419}
11420
11421
11422static int
11423test_xmlListSort(void) {
11424    int test_ret = 0;
11425
11426    int mem_base;
11427    xmlListPtr l; /* a list */
11428    int n_l;
11429
11430    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
11431        mem_base = xmlMemBlocks();
11432        l = gen_xmlListPtr(n_l, 0);
11433
11434        xmlListSort(l);
11435        call_tests++;
11436        des_xmlListPtr(n_l, l, 0);
11437        xmlResetLastError();
11438        if (mem_base != xmlMemBlocks()) {
11439            printf("Leak of %d blocks found in xmlListSort",
11440	           xmlMemBlocks() - mem_base);
11441	    test_ret++;
11442            printf(" %d", n_l);
11443            printf("\n");
11444        }
11445    }
11446    function_tests++;
11447
11448    return(test_ret);
11449}
11450
11451
11452static int
11453test_xmlListWalk(void) {
11454    int test_ret = 0;
11455
11456
11457    /* missing type support */
11458    return(test_ret);
11459}
11460
11461static int
11462test_list(void) {
11463    int test_ret = 0;
11464
11465    if (quiet == 0) printf("Testing list : 19 of 26 functions ...\n");
11466    test_ret += test_xmlLinkGetData();
11467    test_ret += test_xmlListAppend();
11468    test_ret += test_xmlListClear();
11469    test_ret += test_xmlListCopy();
11470    test_ret += test_xmlListCreate();
11471    test_ret += test_xmlListDup();
11472    test_ret += test_xmlListEmpty();
11473    test_ret += test_xmlListEnd();
11474    test_ret += test_xmlListFront();
11475    test_ret += test_xmlListInsert();
11476    test_ret += test_xmlListMerge();
11477    test_ret += test_xmlListPopBack();
11478    test_ret += test_xmlListPopFront();
11479    test_ret += test_xmlListPushBack();
11480    test_ret += test_xmlListPushFront();
11481    test_ret += test_xmlListRemoveAll();
11482    test_ret += test_xmlListRemoveFirst();
11483    test_ret += test_xmlListRemoveLast();
11484    test_ret += test_xmlListReverse();
11485    test_ret += test_xmlListReverseSearch();
11486    test_ret += test_xmlListReverseWalk();
11487    test_ret += test_xmlListSearch();
11488    test_ret += test_xmlListSize();
11489    test_ret += test_xmlListSort();
11490    test_ret += test_xmlListWalk();
11491
11492    if (test_ret != 0)
11493	printf("Module list: %d errors\n", test_ret);
11494    return(test_ret);
11495}
11496
11497static int
11498test_xmlNanoFTPCheckResponse(void) {
11499    int test_ret = 0;
11500
11501#if defined(LIBXML_FTP_ENABLED)
11502    int mem_base;
11503    int ret_val;
11504    void * ctx; /* an FTP context */
11505    int n_ctx;
11506
11507    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11508        mem_base = xmlMemBlocks();
11509        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11510
11511        ret_val = xmlNanoFTPCheckResponse(ctx);
11512        desret_int(ret_val);
11513        call_tests++;
11514        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11515        xmlResetLastError();
11516        if (mem_base != xmlMemBlocks()) {
11517            printf("Leak of %d blocks found in xmlNanoFTPCheckResponse",
11518	           xmlMemBlocks() - mem_base);
11519	    test_ret++;
11520            printf(" %d", n_ctx);
11521            printf("\n");
11522        }
11523    }
11524    function_tests++;
11525#endif
11526
11527    return(test_ret);
11528}
11529
11530
11531static int
11532test_xmlNanoFTPCleanup(void) {
11533    int test_ret = 0;
11534
11535#if defined(LIBXML_FTP_ENABLED)
11536    int mem_base;
11537
11538        mem_base = xmlMemBlocks();
11539
11540        xmlNanoFTPCleanup();
11541        call_tests++;
11542        xmlResetLastError();
11543        if (mem_base != xmlMemBlocks()) {
11544            printf("Leak of %d blocks found in xmlNanoFTPCleanup",
11545	           xmlMemBlocks() - mem_base);
11546	    test_ret++;
11547            printf("\n");
11548        }
11549    function_tests++;
11550#endif
11551
11552    return(test_ret);
11553}
11554
11555
11556static int
11557test_xmlNanoFTPCloseConnection(void) {
11558    int test_ret = 0;
11559
11560#if defined(LIBXML_FTP_ENABLED)
11561    int mem_base;
11562    int ret_val;
11563    void * ctx; /* an FTP context */
11564    int n_ctx;
11565
11566    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11567        mem_base = xmlMemBlocks();
11568        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11569
11570        ret_val = xmlNanoFTPCloseConnection(ctx);
11571        desret_int(ret_val);
11572        call_tests++;
11573        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11574        xmlResetLastError();
11575        if (mem_base != xmlMemBlocks()) {
11576            printf("Leak of %d blocks found in xmlNanoFTPCloseConnection",
11577	           xmlMemBlocks() - mem_base);
11578	    test_ret++;
11579            printf(" %d", n_ctx);
11580            printf("\n");
11581        }
11582    }
11583    function_tests++;
11584#endif
11585
11586    return(test_ret);
11587}
11588
11589
11590static int
11591test_xmlNanoFTPCwd(void) {
11592    int test_ret = 0;
11593
11594#if defined(LIBXML_FTP_ENABLED)
11595    int mem_base;
11596    int ret_val;
11597    void * ctx; /* an FTP context */
11598    int n_ctx;
11599    char * directory; /* a directory on the server */
11600    int n_directory;
11601
11602    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11603    for (n_directory = 0;n_directory < gen_nb_const_char_ptr;n_directory++) {
11604        mem_base = xmlMemBlocks();
11605        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11606        directory = gen_const_char_ptr(n_directory, 1);
11607
11608        ret_val = xmlNanoFTPCwd(ctx, (const char *)directory);
11609        desret_int(ret_val);
11610        call_tests++;
11611        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11612        des_const_char_ptr(n_directory, (const char *)directory, 1);
11613        xmlResetLastError();
11614        if (mem_base != xmlMemBlocks()) {
11615            printf("Leak of %d blocks found in xmlNanoFTPCwd",
11616	           xmlMemBlocks() - mem_base);
11617	    test_ret++;
11618            printf(" %d", n_ctx);
11619            printf(" %d", n_directory);
11620            printf("\n");
11621        }
11622    }
11623    }
11624    function_tests++;
11625#endif
11626
11627    return(test_ret);
11628}
11629
11630
11631static int
11632test_xmlNanoFTPDele(void) {
11633    int test_ret = 0;
11634
11635#if defined(LIBXML_FTP_ENABLED)
11636    int mem_base;
11637    int ret_val;
11638    void * ctx; /* an FTP context */
11639    int n_ctx;
11640    const char * file; /* a file or directory on the server */
11641    int n_file;
11642
11643    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11644    for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
11645        mem_base = xmlMemBlocks();
11646        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11647        file = gen_filepath(n_file, 1);
11648
11649        ret_val = xmlNanoFTPDele(ctx, file);
11650        desret_int(ret_val);
11651        call_tests++;
11652        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11653        des_filepath(n_file, file, 1);
11654        xmlResetLastError();
11655        if (mem_base != xmlMemBlocks()) {
11656            printf("Leak of %d blocks found in xmlNanoFTPDele",
11657	           xmlMemBlocks() - mem_base);
11658	    test_ret++;
11659            printf(" %d", n_ctx);
11660            printf(" %d", n_file);
11661            printf("\n");
11662        }
11663    }
11664    }
11665    function_tests++;
11666#endif
11667
11668    return(test_ret);
11669}
11670
11671
11672static int
11673test_xmlNanoFTPGet(void) {
11674    int test_ret = 0;
11675
11676
11677    /* missing type support */
11678    return(test_ret);
11679}
11680
11681
11682static int
11683test_xmlNanoFTPGetConnection(void) {
11684    int test_ret = 0;
11685
11686
11687    /* missing type support */
11688    return(test_ret);
11689}
11690
11691
11692static int
11693test_xmlNanoFTPGetResponse(void) {
11694    int test_ret = 0;
11695
11696#if defined(LIBXML_FTP_ENABLED)
11697    int mem_base;
11698    int ret_val;
11699    void * ctx; /* an FTP context */
11700    int n_ctx;
11701
11702    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11703        mem_base = xmlMemBlocks();
11704        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11705
11706        ret_val = xmlNanoFTPGetResponse(ctx);
11707        desret_int(ret_val);
11708        call_tests++;
11709        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11710        xmlResetLastError();
11711        if (mem_base != xmlMemBlocks()) {
11712            printf("Leak of %d blocks found in xmlNanoFTPGetResponse",
11713	           xmlMemBlocks() - mem_base);
11714	    test_ret++;
11715            printf(" %d", n_ctx);
11716            printf("\n");
11717        }
11718    }
11719    function_tests++;
11720#endif
11721
11722    return(test_ret);
11723}
11724
11725
11726static int
11727test_xmlNanoFTPGetSocket(void) {
11728    int test_ret = 0;
11729
11730
11731    /* missing type support */
11732    return(test_ret);
11733}
11734
11735
11736static int
11737test_xmlNanoFTPInit(void) {
11738    int test_ret = 0;
11739
11740#if defined(LIBXML_FTP_ENABLED)
11741    int mem_base;
11742
11743        mem_base = xmlMemBlocks();
11744
11745        xmlNanoFTPInit();
11746        call_tests++;
11747        xmlResetLastError();
11748        if (mem_base != xmlMemBlocks()) {
11749            printf("Leak of %d blocks found in xmlNanoFTPInit",
11750	           xmlMemBlocks() - mem_base);
11751	    test_ret++;
11752            printf("\n");
11753        }
11754    function_tests++;
11755#endif
11756
11757    return(test_ret);
11758}
11759
11760
11761static int
11762test_xmlNanoFTPList(void) {
11763    int test_ret = 0;
11764
11765
11766    /* missing type support */
11767    return(test_ret);
11768}
11769
11770
11771static int
11772test_xmlNanoFTPNewCtxt(void) {
11773    int test_ret = 0;
11774
11775#if defined(LIBXML_FTP_ENABLED)
11776    int mem_base;
11777    void * ret_val;
11778    const char * URL; /* The URL used to initialize the context */
11779    int n_URL;
11780
11781    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
11782        mem_base = xmlMemBlocks();
11783        URL = gen_filepath(n_URL, 0);
11784
11785        ret_val = xmlNanoFTPNewCtxt(URL);
11786        desret_xmlNanoFTPCtxtPtr(ret_val);
11787        call_tests++;
11788        des_filepath(n_URL, URL, 0);
11789        xmlResetLastError();
11790        if (mem_base != xmlMemBlocks()) {
11791            printf("Leak of %d blocks found in xmlNanoFTPNewCtxt",
11792	           xmlMemBlocks() - mem_base);
11793	    test_ret++;
11794            printf(" %d", n_URL);
11795            printf("\n");
11796        }
11797    }
11798    function_tests++;
11799#endif
11800
11801    return(test_ret);
11802}
11803
11804
11805static int
11806test_xmlNanoFTPOpen(void) {
11807    int test_ret = 0;
11808
11809#if defined(LIBXML_FTP_ENABLED)
11810    int mem_base;
11811    void * ret_val;
11812    const char * URL; /* the URL to the resource */
11813    int n_URL;
11814
11815    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
11816        mem_base = xmlMemBlocks();
11817        URL = gen_filepath(n_URL, 0);
11818
11819        ret_val = xmlNanoFTPOpen(URL);
11820        desret_xmlNanoFTPCtxtPtr(ret_val);
11821        call_tests++;
11822        des_filepath(n_URL, URL, 0);
11823        xmlResetLastError();
11824        if (mem_base != xmlMemBlocks()) {
11825            printf("Leak of %d blocks found in xmlNanoFTPOpen",
11826	           xmlMemBlocks() - mem_base);
11827	    test_ret++;
11828            printf(" %d", n_URL);
11829            printf("\n");
11830        }
11831    }
11832    function_tests++;
11833#endif
11834
11835    return(test_ret);
11836}
11837
11838
11839static int
11840test_xmlNanoFTPProxy(void) {
11841    int test_ret = 0;
11842
11843#if defined(LIBXML_FTP_ENABLED)
11844    char * host; /* the proxy host name */
11845    int n_host;
11846    int port; /* the proxy port */
11847    int n_port;
11848    char * user; /* the proxy user name */
11849    int n_user;
11850    char * passwd; /* the proxy password */
11851    int n_passwd;
11852    int type; /* the type of proxy 1 for using SITE, 2 for USER a@b */
11853    int n_type;
11854
11855    for (n_host = 0;n_host < gen_nb_const_char_ptr;n_host++) {
11856    for (n_port = 0;n_port < gen_nb_int;n_port++) {
11857    for (n_user = 0;n_user < gen_nb_const_char_ptr;n_user++) {
11858    for (n_passwd = 0;n_passwd < gen_nb_const_char_ptr;n_passwd++) {
11859    for (n_type = 0;n_type < gen_nb_int;n_type++) {
11860        host = gen_const_char_ptr(n_host, 0);
11861        port = gen_int(n_port, 1);
11862        user = gen_const_char_ptr(n_user, 2);
11863        passwd = gen_const_char_ptr(n_passwd, 3);
11864        type = gen_int(n_type, 4);
11865
11866        xmlNanoFTPProxy((const char *)host, port, (const char *)user, (const char *)passwd, type);
11867        call_tests++;
11868        des_const_char_ptr(n_host, (const char *)host, 0);
11869        des_int(n_port, port, 1);
11870        des_const_char_ptr(n_user, (const char *)user, 2);
11871        des_const_char_ptr(n_passwd, (const char *)passwd, 3);
11872        des_int(n_type, type, 4);
11873        xmlResetLastError();
11874    }
11875    }
11876    }
11877    }
11878    }
11879    function_tests++;
11880#endif
11881
11882    return(test_ret);
11883}
11884
11885
11886static int
11887test_xmlNanoFTPQuit(void) {
11888    int test_ret = 0;
11889
11890#if defined(LIBXML_FTP_ENABLED)
11891    int mem_base;
11892    int ret_val;
11893    void * ctx; /* an FTP context */
11894    int n_ctx;
11895
11896    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11897        mem_base = xmlMemBlocks();
11898        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11899
11900        ret_val = xmlNanoFTPQuit(ctx);
11901        desret_int(ret_val);
11902        call_tests++;
11903        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11904        xmlResetLastError();
11905        if (mem_base != xmlMemBlocks()) {
11906            printf("Leak of %d blocks found in xmlNanoFTPQuit",
11907	           xmlMemBlocks() - mem_base);
11908	    test_ret++;
11909            printf(" %d", n_ctx);
11910            printf("\n");
11911        }
11912    }
11913    function_tests++;
11914#endif
11915
11916    return(test_ret);
11917}
11918
11919
11920static int
11921test_xmlNanoFTPRead(void) {
11922    int test_ret = 0;
11923
11924#if defined(LIBXML_FTP_ENABLED)
11925    int mem_base;
11926    int ret_val;
11927    void * ctx; /* the FTP context */
11928    int n_ctx;
11929    void * dest; /* a buffer */
11930    int n_dest;
11931    int len; /* the buffer length */
11932    int n_len;
11933
11934    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
11935    for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
11936    for (n_len = 0;n_len < gen_nb_int;n_len++) {
11937        mem_base = xmlMemBlocks();
11938        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
11939        dest = gen_void_ptr(n_dest, 1);
11940        len = gen_int(n_len, 2);
11941
11942        ret_val = xmlNanoFTPRead(ctx, dest, len);
11943        desret_int(ret_val);
11944        call_tests++;
11945        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
11946        des_void_ptr(n_dest, dest, 1);
11947        des_int(n_len, len, 2);
11948        xmlResetLastError();
11949        if (mem_base != xmlMemBlocks()) {
11950            printf("Leak of %d blocks found in xmlNanoFTPRead",
11951	           xmlMemBlocks() - mem_base);
11952	    test_ret++;
11953            printf(" %d", n_ctx);
11954            printf(" %d", n_dest);
11955            printf(" %d", n_len);
11956            printf("\n");
11957        }
11958    }
11959    }
11960    }
11961    function_tests++;
11962#endif
11963
11964    return(test_ret);
11965}
11966
11967
11968static int
11969test_xmlNanoFTPScanProxy(void) {
11970    int test_ret = 0;
11971
11972#if defined(LIBXML_FTP_ENABLED)
11973    const char * URL; /* The proxy URL used to initialize the proxy context */
11974    int n_URL;
11975
11976    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
11977        URL = gen_filepath(n_URL, 0);
11978
11979        xmlNanoFTPScanProxy(URL);
11980        call_tests++;
11981        des_filepath(n_URL, URL, 0);
11982        xmlResetLastError();
11983    }
11984    function_tests++;
11985#endif
11986
11987    return(test_ret);
11988}
11989
11990
11991static int
11992test_xmlNanoFTPUpdateURL(void) {
11993    int test_ret = 0;
11994
11995#if defined(LIBXML_FTP_ENABLED)
11996    int mem_base;
11997    int ret_val;
11998    void * ctx; /* an FTP context */
11999    int n_ctx;
12000    const char * URL; /* The URL used to update the context */
12001    int n_URL;
12002
12003    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
12004    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12005        mem_base = xmlMemBlocks();
12006        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
12007        URL = gen_filepath(n_URL, 1);
12008
12009        ret_val = xmlNanoFTPUpdateURL(ctx, URL);
12010        desret_int(ret_val);
12011        call_tests++;
12012        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
12013        des_filepath(n_URL, URL, 1);
12014        xmlResetLastError();
12015        if (mem_base != xmlMemBlocks()) {
12016            printf("Leak of %d blocks found in xmlNanoFTPUpdateURL",
12017	           xmlMemBlocks() - mem_base);
12018	    test_ret++;
12019            printf(" %d", n_ctx);
12020            printf(" %d", n_URL);
12021            printf("\n");
12022        }
12023    }
12024    }
12025    function_tests++;
12026#endif
12027
12028    return(test_ret);
12029}
12030
12031static int
12032test_nanoftp(void) {
12033    int test_ret = 0;
12034
12035    if (quiet == 0) printf("Testing nanoftp : 14 of 22 functions ...\n");
12036    test_ret += test_xmlNanoFTPCheckResponse();
12037    test_ret += test_xmlNanoFTPCleanup();
12038    test_ret += test_xmlNanoFTPCloseConnection();
12039    test_ret += test_xmlNanoFTPCwd();
12040    test_ret += test_xmlNanoFTPDele();
12041    test_ret += test_xmlNanoFTPGet();
12042    test_ret += test_xmlNanoFTPGetConnection();
12043    test_ret += test_xmlNanoFTPGetResponse();
12044    test_ret += test_xmlNanoFTPGetSocket();
12045    test_ret += test_xmlNanoFTPInit();
12046    test_ret += test_xmlNanoFTPList();
12047    test_ret += test_xmlNanoFTPNewCtxt();
12048    test_ret += test_xmlNanoFTPOpen();
12049    test_ret += test_xmlNanoFTPProxy();
12050    test_ret += test_xmlNanoFTPQuit();
12051    test_ret += test_xmlNanoFTPRead();
12052    test_ret += test_xmlNanoFTPScanProxy();
12053    test_ret += test_xmlNanoFTPUpdateURL();
12054
12055    if (test_ret != 0)
12056	printf("Module nanoftp: %d errors\n", test_ret);
12057    return(test_ret);
12058}
12059
12060static int
12061test_xmlNanoHTTPAuthHeader(void) {
12062    int test_ret = 0;
12063
12064#if defined(LIBXML_HTTP_ENABLED)
12065    int mem_base;
12066    const char * ret_val;
12067    void * ctx; /* the HTTP context */
12068    int n_ctx;
12069
12070    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12071        mem_base = xmlMemBlocks();
12072        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12073
12074        ret_val = xmlNanoHTTPAuthHeader(ctx);
12075        desret_const_char_ptr(ret_val);
12076        call_tests++;
12077        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12078        xmlResetLastError();
12079        if (mem_base != xmlMemBlocks()) {
12080            printf("Leak of %d blocks found in xmlNanoHTTPAuthHeader",
12081	           xmlMemBlocks() - mem_base);
12082	    test_ret++;
12083            printf(" %d", n_ctx);
12084            printf("\n");
12085        }
12086    }
12087    function_tests++;
12088#endif
12089
12090    return(test_ret);
12091}
12092
12093
12094static int
12095test_xmlNanoHTTPCleanup(void) {
12096    int test_ret = 0;
12097
12098#if defined(LIBXML_HTTP_ENABLED)
12099    int mem_base;
12100
12101        mem_base = xmlMemBlocks();
12102
12103        xmlNanoHTTPCleanup();
12104        call_tests++;
12105        xmlResetLastError();
12106        if (mem_base != xmlMemBlocks()) {
12107            printf("Leak of %d blocks found in xmlNanoHTTPCleanup",
12108	           xmlMemBlocks() - mem_base);
12109	    test_ret++;
12110            printf("\n");
12111        }
12112    function_tests++;
12113#endif
12114
12115    return(test_ret);
12116}
12117
12118
12119static int
12120test_xmlNanoHTTPContentLength(void) {
12121    int test_ret = 0;
12122
12123#if defined(LIBXML_HTTP_ENABLED)
12124    int mem_base;
12125    int ret_val;
12126    void * ctx; /* the HTTP context */
12127    int n_ctx;
12128
12129    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12130        mem_base = xmlMemBlocks();
12131        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12132
12133        ret_val = xmlNanoHTTPContentLength(ctx);
12134        desret_int(ret_val);
12135        call_tests++;
12136        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12137        xmlResetLastError();
12138        if (mem_base != xmlMemBlocks()) {
12139            printf("Leak of %d blocks found in xmlNanoHTTPContentLength",
12140	           xmlMemBlocks() - mem_base);
12141	    test_ret++;
12142            printf(" %d", n_ctx);
12143            printf("\n");
12144        }
12145    }
12146    function_tests++;
12147#endif
12148
12149    return(test_ret);
12150}
12151
12152
12153static int
12154test_xmlNanoHTTPEncoding(void) {
12155    int test_ret = 0;
12156
12157#if defined(LIBXML_HTTP_ENABLED)
12158    int mem_base;
12159    const char * ret_val;
12160    void * ctx; /* the HTTP context */
12161    int n_ctx;
12162
12163    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12164        mem_base = xmlMemBlocks();
12165        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12166
12167        ret_val = xmlNanoHTTPEncoding(ctx);
12168        desret_const_char_ptr(ret_val);
12169        call_tests++;
12170        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12171        xmlResetLastError();
12172        if (mem_base != xmlMemBlocks()) {
12173            printf("Leak of %d blocks found in xmlNanoHTTPEncoding",
12174	           xmlMemBlocks() - mem_base);
12175	    test_ret++;
12176            printf(" %d", n_ctx);
12177            printf("\n");
12178        }
12179    }
12180    function_tests++;
12181#endif
12182
12183    return(test_ret);
12184}
12185
12186
12187#define gen_nb_char_ptr_ptr 1
12188static char ** gen_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
12189    return(NULL);
12190}
12191static void des_char_ptr_ptr(int no ATTRIBUTE_UNUSED, char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
12192}
12193
12194static int
12195test_xmlNanoHTTPFetch(void) {
12196    int test_ret = 0;
12197
12198#if defined(LIBXML_HTTP_ENABLED)
12199    int mem_base;
12200    int ret_val;
12201    const char * URL; /* The URL to load */
12202    int n_URL;
12203    const char * filename; /* the filename where the content should be saved */
12204    int n_filename;
12205    char ** contentType; /* if available the Content-Type information will be returned at that location */
12206    int n_contentType;
12207
12208    for (n_URL = 0;n_URL < gen_nb_fileoutput;n_URL++) {
12209    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
12210    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
12211        mem_base = xmlMemBlocks();
12212        URL = gen_fileoutput(n_URL, 0);
12213        filename = gen_fileoutput(n_filename, 1);
12214        contentType = gen_char_ptr_ptr(n_contentType, 2);
12215
12216        ret_val = xmlNanoHTTPFetch(URL, filename, contentType);
12217        desret_int(ret_val);
12218        call_tests++;
12219        des_fileoutput(n_URL, URL, 0);
12220        des_fileoutput(n_filename, filename, 1);
12221        des_char_ptr_ptr(n_contentType, contentType, 2);
12222        xmlResetLastError();
12223        if (mem_base != xmlMemBlocks()) {
12224            printf("Leak of %d blocks found in xmlNanoHTTPFetch",
12225	           xmlMemBlocks() - mem_base);
12226	    test_ret++;
12227            printf(" %d", n_URL);
12228            printf(" %d", n_filename);
12229            printf(" %d", n_contentType);
12230            printf("\n");
12231        }
12232    }
12233    }
12234    }
12235    function_tests++;
12236#endif
12237
12238    return(test_ret);
12239}
12240
12241
12242static int
12243test_xmlNanoHTTPInit(void) {
12244    int test_ret = 0;
12245
12246#if defined(LIBXML_HTTP_ENABLED)
12247    int mem_base;
12248
12249        mem_base = xmlMemBlocks();
12250
12251        xmlNanoHTTPInit();
12252        call_tests++;
12253        xmlResetLastError();
12254        if (mem_base != xmlMemBlocks()) {
12255            printf("Leak of %d blocks found in xmlNanoHTTPInit",
12256	           xmlMemBlocks() - mem_base);
12257	    test_ret++;
12258            printf("\n");
12259        }
12260    function_tests++;
12261#endif
12262
12263    return(test_ret);
12264}
12265
12266
12267static int
12268test_xmlNanoHTTPMimeType(void) {
12269    int test_ret = 0;
12270
12271#if defined(LIBXML_HTTP_ENABLED)
12272    int mem_base;
12273    const char * ret_val;
12274    void * ctx; /* the HTTP context */
12275    int n_ctx;
12276
12277    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12278        mem_base = xmlMemBlocks();
12279        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12280
12281        ret_val = xmlNanoHTTPMimeType(ctx);
12282        desret_const_char_ptr(ret_val);
12283        call_tests++;
12284        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12285        xmlResetLastError();
12286        if (mem_base != xmlMemBlocks()) {
12287            printf("Leak of %d blocks found in xmlNanoHTTPMimeType",
12288	           xmlMemBlocks() - mem_base);
12289	    test_ret++;
12290            printf(" %d", n_ctx);
12291            printf("\n");
12292        }
12293    }
12294    function_tests++;
12295#endif
12296
12297    return(test_ret);
12298}
12299
12300
12301static int
12302test_xmlNanoHTTPOpen(void) {
12303    int test_ret = 0;
12304
12305#if defined(LIBXML_HTTP_ENABLED)
12306    int mem_base;
12307    void * ret_val;
12308    const char * URL; /* The URL to load */
12309    int n_URL;
12310    char ** contentType; /* if available the Content-Type information will be returned at that location */
12311    int n_contentType;
12312
12313    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12314    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
12315        mem_base = xmlMemBlocks();
12316        URL = gen_filepath(n_URL, 0);
12317        contentType = gen_char_ptr_ptr(n_contentType, 1);
12318
12319        ret_val = xmlNanoHTTPOpen(URL, contentType);
12320        desret_xmlNanoHTTPCtxtPtr(ret_val);
12321        call_tests++;
12322        des_filepath(n_URL, URL, 0);
12323        des_char_ptr_ptr(n_contentType, contentType, 1);
12324        xmlResetLastError();
12325        if (mem_base != xmlMemBlocks()) {
12326            printf("Leak of %d blocks found in xmlNanoHTTPOpen",
12327	           xmlMemBlocks() - mem_base);
12328	    test_ret++;
12329            printf(" %d", n_URL);
12330            printf(" %d", n_contentType);
12331            printf("\n");
12332        }
12333    }
12334    }
12335    function_tests++;
12336#endif
12337
12338    return(test_ret);
12339}
12340
12341
12342static int
12343test_xmlNanoHTTPOpenRedir(void) {
12344    int test_ret = 0;
12345
12346#if defined(LIBXML_HTTP_ENABLED)
12347    int mem_base;
12348    void * ret_val;
12349    const char * URL; /* The URL to load */
12350    int n_URL;
12351    char ** contentType; /* if available the Content-Type information will be returned at that location */
12352    int n_contentType;
12353    char ** redir; /* if available the redirected URL will be returned */
12354    int n_redir;
12355
12356    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12357    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
12358    for (n_redir = 0;n_redir < gen_nb_char_ptr_ptr;n_redir++) {
12359        mem_base = xmlMemBlocks();
12360        URL = gen_filepath(n_URL, 0);
12361        contentType = gen_char_ptr_ptr(n_contentType, 1);
12362        redir = gen_char_ptr_ptr(n_redir, 2);
12363
12364        ret_val = xmlNanoHTTPOpenRedir(URL, contentType, redir);
12365        desret_xmlNanoHTTPCtxtPtr(ret_val);
12366        call_tests++;
12367        des_filepath(n_URL, URL, 0);
12368        des_char_ptr_ptr(n_contentType, contentType, 1);
12369        des_char_ptr_ptr(n_redir, redir, 2);
12370        xmlResetLastError();
12371        if (mem_base != xmlMemBlocks()) {
12372            printf("Leak of %d blocks found in xmlNanoHTTPOpenRedir",
12373	           xmlMemBlocks() - mem_base);
12374	    test_ret++;
12375            printf(" %d", n_URL);
12376            printf(" %d", n_contentType);
12377            printf(" %d", n_redir);
12378            printf("\n");
12379        }
12380    }
12381    }
12382    }
12383    function_tests++;
12384#endif
12385
12386    return(test_ret);
12387}
12388
12389
12390static int
12391test_xmlNanoHTTPRead(void) {
12392    int test_ret = 0;
12393
12394#if defined(LIBXML_HTTP_ENABLED)
12395    int mem_base;
12396    int ret_val;
12397    void * ctx; /* the HTTP context */
12398    int n_ctx;
12399    void * dest; /* a buffer */
12400    int n_dest;
12401    int len; /* the buffer length */
12402    int n_len;
12403
12404    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12405    for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
12406    for (n_len = 0;n_len < gen_nb_int;n_len++) {
12407        mem_base = xmlMemBlocks();
12408        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12409        dest = gen_void_ptr(n_dest, 1);
12410        len = gen_int(n_len, 2);
12411
12412        ret_val = xmlNanoHTTPRead(ctx, dest, len);
12413        desret_int(ret_val);
12414        call_tests++;
12415        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12416        des_void_ptr(n_dest, dest, 1);
12417        des_int(n_len, len, 2);
12418        xmlResetLastError();
12419        if (mem_base != xmlMemBlocks()) {
12420            printf("Leak of %d blocks found in xmlNanoHTTPRead",
12421	           xmlMemBlocks() - mem_base);
12422	    test_ret++;
12423            printf(" %d", n_ctx);
12424            printf(" %d", n_dest);
12425            printf(" %d", n_len);
12426            printf("\n");
12427        }
12428    }
12429    }
12430    }
12431    function_tests++;
12432#endif
12433
12434    return(test_ret);
12435}
12436
12437
12438static int
12439test_xmlNanoHTTPRedir(void) {
12440    int test_ret = 0;
12441
12442
12443    /* missing type support */
12444    return(test_ret);
12445}
12446
12447
12448static int
12449test_xmlNanoHTTPReturnCode(void) {
12450    int test_ret = 0;
12451
12452#if defined(LIBXML_HTTP_ENABLED)
12453    int mem_base;
12454    int ret_val;
12455    void * ctx; /* the HTTP context */
12456    int n_ctx;
12457
12458    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
12459        mem_base = xmlMemBlocks();
12460        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
12461
12462        ret_val = xmlNanoHTTPReturnCode(ctx);
12463        desret_int(ret_val);
12464        call_tests++;
12465        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
12466        xmlResetLastError();
12467        if (mem_base != xmlMemBlocks()) {
12468            printf("Leak of %d blocks found in xmlNanoHTTPReturnCode",
12469	           xmlMemBlocks() - mem_base);
12470	    test_ret++;
12471            printf(" %d", n_ctx);
12472            printf("\n");
12473        }
12474    }
12475    function_tests++;
12476#endif
12477
12478    return(test_ret);
12479}
12480
12481
12482static int
12483test_xmlNanoHTTPSave(void) {
12484    int test_ret = 0;
12485
12486#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
12487    int mem_base;
12488    int ret_val;
12489    void * ctxt; /* the HTTP context */
12490    int n_ctxt;
12491    const char * filename; /* the filename where the content should be saved */
12492    int n_filename;
12493
12494    for (n_ctxt = 0;n_ctxt < gen_nb_void_ptr;n_ctxt++) {
12495    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
12496        mem_base = xmlMemBlocks();
12497        ctxt = gen_void_ptr(n_ctxt, 0);
12498        filename = gen_fileoutput(n_filename, 1);
12499
12500        ret_val = xmlNanoHTTPSave(ctxt, filename);
12501        desret_int(ret_val);
12502        call_tests++;
12503        des_void_ptr(n_ctxt, ctxt, 0);
12504        des_fileoutput(n_filename, filename, 1);
12505        xmlResetLastError();
12506        if (mem_base != xmlMemBlocks()) {
12507            printf("Leak of %d blocks found in xmlNanoHTTPSave",
12508	           xmlMemBlocks() - mem_base);
12509	    test_ret++;
12510            printf(" %d", n_ctxt);
12511            printf(" %d", n_filename);
12512            printf("\n");
12513        }
12514    }
12515    }
12516    function_tests++;
12517#endif
12518
12519    return(test_ret);
12520}
12521
12522
12523static int
12524test_xmlNanoHTTPScanProxy(void) {
12525    int test_ret = 0;
12526
12527#if defined(LIBXML_HTTP_ENABLED)
12528    const char * URL; /* The proxy URL used to initialize the proxy context */
12529    int n_URL;
12530
12531    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12532        URL = gen_filepath(n_URL, 0);
12533
12534        xmlNanoHTTPScanProxy(URL);
12535        call_tests++;
12536        des_filepath(n_URL, URL, 0);
12537        xmlResetLastError();
12538    }
12539    function_tests++;
12540#endif
12541
12542    return(test_ret);
12543}
12544
12545static int
12546test_nanohttp(void) {
12547    int test_ret = 0;
12548
12549    if (quiet == 0) printf("Testing nanohttp : 13 of 17 functions ...\n");
12550    test_ret += test_xmlNanoHTTPAuthHeader();
12551    test_ret += test_xmlNanoHTTPCleanup();
12552    test_ret += test_xmlNanoHTTPContentLength();
12553    test_ret += test_xmlNanoHTTPEncoding();
12554    test_ret += test_xmlNanoHTTPFetch();
12555    test_ret += test_xmlNanoHTTPInit();
12556    test_ret += test_xmlNanoHTTPMimeType();
12557    test_ret += test_xmlNanoHTTPOpen();
12558    test_ret += test_xmlNanoHTTPOpenRedir();
12559    test_ret += test_xmlNanoHTTPRead();
12560    test_ret += test_xmlNanoHTTPRedir();
12561    test_ret += test_xmlNanoHTTPReturnCode();
12562    test_ret += test_xmlNanoHTTPSave();
12563    test_ret += test_xmlNanoHTTPScanProxy();
12564
12565    if (test_ret != 0)
12566	printf("Module nanohttp: %d errors\n", test_ret);
12567    return(test_ret);
12568}
12569
12570static int
12571test_xmlByteConsumed(void) {
12572    int test_ret = 0;
12573
12574    int mem_base;
12575    long ret_val;
12576    xmlParserCtxtPtr ctxt; /* an XML parser context */
12577    int n_ctxt;
12578
12579    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12580        mem_base = xmlMemBlocks();
12581        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12582
12583        ret_val = xmlByteConsumed(ctxt);
12584        desret_long(ret_val);
12585        call_tests++;
12586        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12587        xmlResetLastError();
12588        if (mem_base != xmlMemBlocks()) {
12589            printf("Leak of %d blocks found in xmlByteConsumed",
12590	           xmlMemBlocks() - mem_base);
12591	    test_ret++;
12592            printf(" %d", n_ctxt);
12593            printf("\n");
12594        }
12595    }
12596    function_tests++;
12597
12598    return(test_ret);
12599}
12600
12601
12602static int
12603test_xmlClearNodeInfoSeq(void) {
12604    int test_ret = 0;
12605
12606    int mem_base;
12607    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
12608    int n_seq;
12609
12610    for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
12611        mem_base = xmlMemBlocks();
12612        seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
12613
12614        xmlClearNodeInfoSeq(seq);
12615        call_tests++;
12616        des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
12617        xmlResetLastError();
12618        if (mem_base != xmlMemBlocks()) {
12619            printf("Leak of %d blocks found in xmlClearNodeInfoSeq",
12620	           xmlMemBlocks() - mem_base);
12621	    test_ret++;
12622            printf(" %d", n_seq);
12623            printf("\n");
12624        }
12625    }
12626    function_tests++;
12627
12628    return(test_ret);
12629}
12630
12631
12632static int
12633test_xmlClearParserCtxt(void) {
12634    int test_ret = 0;
12635
12636    int mem_base;
12637    xmlParserCtxtPtr ctxt; /* an XML parser context */
12638    int n_ctxt;
12639
12640    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12641        mem_base = xmlMemBlocks();
12642        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12643
12644        xmlClearParserCtxt(ctxt);
12645        call_tests++;
12646        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12647        xmlResetLastError();
12648        if (mem_base != xmlMemBlocks()) {
12649            printf("Leak of %d blocks found in xmlClearParserCtxt",
12650	           xmlMemBlocks() - mem_base);
12651	    test_ret++;
12652            printf(" %d", n_ctxt);
12653            printf("\n");
12654        }
12655    }
12656    function_tests++;
12657
12658    return(test_ret);
12659}
12660
12661
12662static int
12663test_xmlCreateDocParserCtxt(void) {
12664    int test_ret = 0;
12665
12666    int mem_base;
12667    xmlParserCtxtPtr ret_val;
12668    xmlChar * cur; /* a pointer to an array of xmlChar */
12669    int n_cur;
12670
12671    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
12672        mem_base = xmlMemBlocks();
12673        cur = gen_const_xmlChar_ptr(n_cur, 0);
12674
12675        ret_val = xmlCreateDocParserCtxt((const xmlChar *)cur);
12676        desret_xmlParserCtxtPtr(ret_val);
12677        call_tests++;
12678        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
12679        xmlResetLastError();
12680        if (mem_base != xmlMemBlocks()) {
12681            printf("Leak of %d blocks found in xmlCreateDocParserCtxt",
12682	           xmlMemBlocks() - mem_base);
12683	    test_ret++;
12684            printf(" %d", n_cur);
12685            printf("\n");
12686        }
12687    }
12688    function_tests++;
12689
12690    return(test_ret);
12691}
12692
12693
12694static int
12695test_xmlCreatePushParserCtxt(void) {
12696    int test_ret = 0;
12697
12698#if defined(LIBXML_PUSH_ENABLED)
12699    int mem_base;
12700    xmlParserCtxtPtr ret_val;
12701    xmlSAXHandlerPtr sax; /* a SAX handler */
12702    int n_sax;
12703    void * user_data; /* The user data returned on SAX callbacks */
12704    int n_user_data;
12705    char * chunk; /* a pointer to an array of chars */
12706    int n_chunk;
12707    int size; /* number of chars in the array */
12708    int n_size;
12709    const char * filename; /* an optional file name or URI */
12710    int n_filename;
12711
12712    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
12713    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
12714    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
12715    for (n_size = 0;n_size < gen_nb_int;n_size++) {
12716    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
12717        mem_base = xmlMemBlocks();
12718        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
12719        user_data = gen_userdata(n_user_data, 1);
12720        chunk = gen_const_char_ptr(n_chunk, 2);
12721        size = gen_int(n_size, 3);
12722        filename = gen_fileoutput(n_filename, 4);
12723
12724        ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
12725        desret_xmlParserCtxtPtr(ret_val);
12726        call_tests++;
12727        des_xmlSAXHandlerPtr(n_sax, sax, 0);
12728        des_userdata(n_user_data, user_data, 1);
12729        des_const_char_ptr(n_chunk, (const char *)chunk, 2);
12730        des_int(n_size, size, 3);
12731        des_fileoutput(n_filename, filename, 4);
12732        xmlResetLastError();
12733        if (mem_base != xmlMemBlocks()) {
12734            printf("Leak of %d blocks found in xmlCreatePushParserCtxt",
12735	           xmlMemBlocks() - mem_base);
12736	    test_ret++;
12737            printf(" %d", n_sax);
12738            printf(" %d", n_user_data);
12739            printf(" %d", n_chunk);
12740            printf(" %d", n_size);
12741            printf(" %d", n_filename);
12742            printf("\n");
12743        }
12744    }
12745    }
12746    }
12747    }
12748    }
12749    function_tests++;
12750#endif
12751
12752    return(test_ret);
12753}
12754
12755
12756static int
12757test_xmlCtxtReadDoc(void) {
12758    int test_ret = 0;
12759
12760    int mem_base;
12761    xmlDocPtr ret_val;
12762    xmlParserCtxtPtr ctxt; /* an XML parser context */
12763    int n_ctxt;
12764    xmlChar * cur; /* a pointer to a zero terminated string */
12765    int n_cur;
12766    const char * URL; /* the base URL to use for the document */
12767    int n_URL;
12768    char * encoding; /* the document encoding, or NULL */
12769    int n_encoding;
12770    int options; /* a combination of xmlParserOption */
12771    int n_options;
12772
12773    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12774    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
12775    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12776    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
12777    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
12778        mem_base = xmlMemBlocks();
12779        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12780        cur = gen_const_xmlChar_ptr(n_cur, 1);
12781        URL = gen_filepath(n_URL, 2);
12782        encoding = gen_const_char_ptr(n_encoding, 3);
12783        options = gen_parseroptions(n_options, 4);
12784
12785        ret_val = xmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
12786        desret_xmlDocPtr(ret_val);
12787        call_tests++;
12788        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12789        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
12790        des_filepath(n_URL, URL, 2);
12791        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
12792        des_parseroptions(n_options, options, 4);
12793        xmlResetLastError();
12794        if (mem_base != xmlMemBlocks()) {
12795            printf("Leak of %d blocks found in xmlCtxtReadDoc",
12796	           xmlMemBlocks() - mem_base);
12797	    test_ret++;
12798            printf(" %d", n_ctxt);
12799            printf(" %d", n_cur);
12800            printf(" %d", n_URL);
12801            printf(" %d", n_encoding);
12802            printf(" %d", n_options);
12803            printf("\n");
12804        }
12805    }
12806    }
12807    }
12808    }
12809    }
12810    function_tests++;
12811
12812    return(test_ret);
12813}
12814
12815
12816static int
12817test_xmlCtxtReadFile(void) {
12818    int test_ret = 0;
12819
12820    int mem_base;
12821    xmlDocPtr ret_val;
12822    xmlParserCtxtPtr ctxt; /* an XML parser context */
12823    int n_ctxt;
12824    const char * filename; /* a file or URL */
12825    int n_filename;
12826    char * encoding; /* the document encoding, or NULL */
12827    int n_encoding;
12828    int options; /* a combination of xmlParserOption */
12829    int n_options;
12830
12831    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12832    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
12833    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
12834    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
12835        mem_base = xmlMemBlocks();
12836        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12837        filename = gen_filepath(n_filename, 1);
12838        encoding = gen_const_char_ptr(n_encoding, 2);
12839        options = gen_parseroptions(n_options, 3);
12840
12841        ret_val = xmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
12842        desret_xmlDocPtr(ret_val);
12843        call_tests++;
12844        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12845        des_filepath(n_filename, filename, 1);
12846        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
12847        des_parseroptions(n_options, options, 3);
12848        xmlResetLastError();
12849        if (mem_base != xmlMemBlocks()) {
12850            printf("Leak of %d blocks found in xmlCtxtReadFile",
12851	           xmlMemBlocks() - mem_base);
12852	    test_ret++;
12853            printf(" %d", n_ctxt);
12854            printf(" %d", n_filename);
12855            printf(" %d", n_encoding);
12856            printf(" %d", n_options);
12857            printf("\n");
12858        }
12859    }
12860    }
12861    }
12862    }
12863    function_tests++;
12864
12865    return(test_ret);
12866}
12867
12868
12869static int
12870test_xmlCtxtReadMemory(void) {
12871    int test_ret = 0;
12872
12873    int mem_base;
12874    xmlDocPtr ret_val;
12875    xmlParserCtxtPtr ctxt; /* an XML parser context */
12876    int n_ctxt;
12877    char * buffer; /* a pointer to a char array */
12878    int n_buffer;
12879    int size; /* the size of the array */
12880    int n_size;
12881    const char * URL; /* the base URL to use for the document */
12882    int n_URL;
12883    char * encoding; /* the document encoding, or NULL */
12884    int n_encoding;
12885    int options; /* a combination of xmlParserOption */
12886    int n_options;
12887
12888    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12889    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
12890    for (n_size = 0;n_size < gen_nb_int;n_size++) {
12891    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
12892    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
12893    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
12894        mem_base = xmlMemBlocks();
12895        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12896        buffer = gen_const_char_ptr(n_buffer, 1);
12897        size = gen_int(n_size, 2);
12898        URL = gen_filepath(n_URL, 3);
12899        encoding = gen_const_char_ptr(n_encoding, 4);
12900        options = gen_parseroptions(n_options, 5);
12901
12902        ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
12903        desret_xmlDocPtr(ret_val);
12904        call_tests++;
12905        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12906        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
12907        des_int(n_size, size, 2);
12908        des_filepath(n_URL, URL, 3);
12909        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
12910        des_parseroptions(n_options, options, 5);
12911        xmlResetLastError();
12912        if (mem_base != xmlMemBlocks()) {
12913            printf("Leak of %d blocks found in xmlCtxtReadMemory",
12914	           xmlMemBlocks() - mem_base);
12915	    test_ret++;
12916            printf(" %d", n_ctxt);
12917            printf(" %d", n_buffer);
12918            printf(" %d", n_size);
12919            printf(" %d", n_URL);
12920            printf(" %d", n_encoding);
12921            printf(" %d", n_options);
12922            printf("\n");
12923        }
12924    }
12925    }
12926    }
12927    }
12928    }
12929    }
12930    function_tests++;
12931
12932    return(test_ret);
12933}
12934
12935
12936static int
12937test_xmlCtxtReset(void) {
12938    int test_ret = 0;
12939
12940    int mem_base;
12941    xmlParserCtxtPtr ctxt; /* an XML parser context */
12942    int n_ctxt;
12943
12944    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12945        mem_base = xmlMemBlocks();
12946        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12947
12948        xmlCtxtReset(ctxt);
12949        call_tests++;
12950        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12951        xmlResetLastError();
12952        if (mem_base != xmlMemBlocks()) {
12953            printf("Leak of %d blocks found in xmlCtxtReset",
12954	           xmlMemBlocks() - mem_base);
12955	    test_ret++;
12956            printf(" %d", n_ctxt);
12957            printf("\n");
12958        }
12959    }
12960    function_tests++;
12961
12962    return(test_ret);
12963}
12964
12965
12966static int
12967test_xmlCtxtResetPush(void) {
12968    int test_ret = 0;
12969
12970    int mem_base;
12971    int ret_val;
12972    xmlParserCtxtPtr ctxt; /* an XML parser context */
12973    int n_ctxt;
12974    char * chunk; /* a pointer to an array of chars */
12975    int n_chunk;
12976    int size; /* number of chars in the array */
12977    int n_size;
12978    const char * filename; /* an optional file name or URI */
12979    int n_filename;
12980    char * encoding; /* the document encoding, or NULL */
12981    int n_encoding;
12982
12983    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
12984    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
12985    for (n_size = 0;n_size < gen_nb_int;n_size++) {
12986    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
12987    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
12988        mem_base = xmlMemBlocks();
12989        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
12990        chunk = gen_const_char_ptr(n_chunk, 1);
12991        size = gen_int(n_size, 2);
12992        filename = gen_filepath(n_filename, 3);
12993        encoding = gen_const_char_ptr(n_encoding, 4);
12994
12995        ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
12996        desret_int(ret_val);
12997        call_tests++;
12998        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
12999        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
13000        des_int(n_size, size, 2);
13001        des_filepath(n_filename, filename, 3);
13002        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
13003        xmlResetLastError();
13004        if (mem_base != xmlMemBlocks()) {
13005            printf("Leak of %d blocks found in xmlCtxtResetPush",
13006	           xmlMemBlocks() - mem_base);
13007	    test_ret++;
13008            printf(" %d", n_ctxt);
13009            printf(" %d", n_chunk);
13010            printf(" %d", n_size);
13011            printf(" %d", n_filename);
13012            printf(" %d", n_encoding);
13013            printf("\n");
13014        }
13015    }
13016    }
13017    }
13018    }
13019    }
13020    function_tests++;
13021
13022    return(test_ret);
13023}
13024
13025
13026static int
13027test_xmlCtxtUseOptions(void) {
13028    int test_ret = 0;
13029
13030    int mem_base;
13031    int ret_val;
13032    xmlParserCtxtPtr ctxt; /* an XML parser context */
13033    int n_ctxt;
13034    int options; /* a combination of xmlParserOption */
13035    int n_options;
13036
13037    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13038    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
13039        mem_base = xmlMemBlocks();
13040        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13041        options = gen_parseroptions(n_options, 1);
13042
13043        ret_val = xmlCtxtUseOptions(ctxt, options);
13044        desret_int(ret_val);
13045        call_tests++;
13046        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13047        des_parseroptions(n_options, options, 1);
13048        xmlResetLastError();
13049        if (mem_base != xmlMemBlocks()) {
13050            printf("Leak of %d blocks found in xmlCtxtUseOptions",
13051	           xmlMemBlocks() - mem_base);
13052	    test_ret++;
13053            printf(" %d", n_ctxt);
13054            printf(" %d", n_options);
13055            printf("\n");
13056        }
13057    }
13058    }
13059    function_tests++;
13060
13061    return(test_ret);
13062}
13063
13064
13065static int
13066test_xmlGetExternalEntityLoader(void) {
13067    int test_ret = 0;
13068
13069
13070    /* missing type support */
13071    return(test_ret);
13072}
13073
13074
13075static int
13076test_xmlGetFeature(void) {
13077    int test_ret = 0;
13078
13079#if defined(LIBXML_LEGACY_ENABLED)
13080#ifdef LIBXML_LEGACY_ENABLED
13081    int mem_base;
13082    int ret_val;
13083    xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
13084    int n_ctxt;
13085    char * name; /* the feature name */
13086    int n_name;
13087    void * result; /* location to store the result */
13088    int n_result;
13089
13090    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13091    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
13092    for (n_result = 0;n_result < gen_nb_void_ptr;n_result++) {
13093        mem_base = xmlMemBlocks();
13094        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13095        name = gen_const_char_ptr(n_name, 1);
13096        result = gen_void_ptr(n_result, 2);
13097
13098        ret_val = xmlGetFeature(ctxt, (const char *)name, result);
13099        desret_int(ret_val);
13100        call_tests++;
13101        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13102        des_const_char_ptr(n_name, (const char *)name, 1);
13103        des_void_ptr(n_result, result, 2);
13104        xmlResetLastError();
13105        if (mem_base != xmlMemBlocks()) {
13106            printf("Leak of %d blocks found in xmlGetFeature",
13107	           xmlMemBlocks() - mem_base);
13108	    test_ret++;
13109            printf(" %d", n_ctxt);
13110            printf(" %d", n_name);
13111            printf(" %d", n_result);
13112            printf("\n");
13113        }
13114    }
13115    }
13116    }
13117    function_tests++;
13118#endif
13119#endif
13120
13121    return(test_ret);
13122}
13123
13124
13125#define gen_nb_const_char_ptr_ptr 1
13126static char ** gen_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
13127    return(NULL);
13128}
13129static void des_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, const char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
13130}
13131
13132static int
13133test_xmlGetFeaturesList(void) {
13134    int test_ret = 0;
13135
13136#if defined(LIBXML_LEGACY_ENABLED)
13137#ifdef LIBXML_LEGACY_ENABLED
13138    int mem_base;
13139    int ret_val;
13140    int * len; /* the length of the features name array (input/output) */
13141    int n_len;
13142    char ** result; /* an array of string to be filled with the features name. */
13143    int n_result;
13144
13145    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
13146    for (n_result = 0;n_result < gen_nb_const_char_ptr_ptr;n_result++) {
13147        mem_base = xmlMemBlocks();
13148        len = gen_int_ptr(n_len, 0);
13149        result = gen_const_char_ptr_ptr(n_result, 1);
13150
13151        ret_val = xmlGetFeaturesList(len, (const char **)result);
13152        desret_int(ret_val);
13153        call_tests++;
13154        des_int_ptr(n_len, len, 0);
13155        des_const_char_ptr_ptr(n_result, (const char **)result, 1);
13156        xmlResetLastError();
13157        if (mem_base != xmlMemBlocks()) {
13158            printf("Leak of %d blocks found in xmlGetFeaturesList",
13159	           xmlMemBlocks() - mem_base);
13160	    test_ret++;
13161            printf(" %d", n_len);
13162            printf(" %d", n_result);
13163            printf("\n");
13164        }
13165    }
13166    }
13167    function_tests++;
13168#endif
13169#endif
13170
13171    return(test_ret);
13172}
13173
13174
13175static int
13176test_xmlHasFeature(void) {
13177    int test_ret = 0;
13178
13179    int mem_base;
13180    int ret_val;
13181    xmlFeature feature; /* the feature to be examined */
13182    int n_feature;
13183
13184    for (n_feature = 0;n_feature < gen_nb_xmlFeature;n_feature++) {
13185        mem_base = xmlMemBlocks();
13186        feature = gen_xmlFeature(n_feature, 0);
13187
13188        ret_val = xmlHasFeature(feature);
13189        desret_int(ret_val);
13190        call_tests++;
13191        des_xmlFeature(n_feature, feature, 0);
13192        xmlResetLastError();
13193        if (mem_base != xmlMemBlocks()) {
13194            printf("Leak of %d blocks found in xmlHasFeature",
13195	           xmlMemBlocks() - mem_base);
13196	    test_ret++;
13197            printf(" %d", n_feature);
13198            printf("\n");
13199        }
13200    }
13201    function_tests++;
13202
13203    return(test_ret);
13204}
13205
13206
13207static int
13208test_xmlIOParseDTD(void) {
13209    int test_ret = 0;
13210
13211#if defined(LIBXML_VALID_ENABLED)
13212#ifdef LIBXML_VALID_ENABLED
13213    xmlDtdPtr ret_val;
13214    xmlSAXHandlerPtr sax; /* the SAX handler block or NULL */
13215    int n_sax;
13216    xmlParserInputBufferPtr input; /* an Input Buffer */
13217    int n_input;
13218    xmlCharEncoding enc; /* the charset encoding if known */
13219    int n_enc;
13220
13221    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
13222    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
13223    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
13224        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
13225        input = gen_xmlParserInputBufferPtr(n_input, 1);
13226        enc = gen_xmlCharEncoding(n_enc, 2);
13227
13228        ret_val = xmlIOParseDTD(sax, input, enc);
13229        input = NULL;
13230        desret_xmlDtdPtr(ret_val);
13231        call_tests++;
13232        des_xmlSAXHandlerPtr(n_sax, sax, 0);
13233        des_xmlParserInputBufferPtr(n_input, input, 1);
13234        des_xmlCharEncoding(n_enc, enc, 2);
13235        xmlResetLastError();
13236    }
13237    }
13238    }
13239    function_tests++;
13240#endif
13241#endif
13242
13243    return(test_ret);
13244}
13245
13246
13247static int
13248test_xmlInitNodeInfoSeq(void) {
13249    int test_ret = 0;
13250
13251    int mem_base;
13252    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
13253    int n_seq;
13254
13255    for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
13256        mem_base = xmlMemBlocks();
13257        seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
13258
13259        xmlInitNodeInfoSeq(seq);
13260        call_tests++;
13261        des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
13262        xmlResetLastError();
13263        if (mem_base != xmlMemBlocks()) {
13264            printf("Leak of %d blocks found in xmlInitNodeInfoSeq",
13265	           xmlMemBlocks() - mem_base);
13266	    test_ret++;
13267            printf(" %d", n_seq);
13268            printf("\n");
13269        }
13270    }
13271    function_tests++;
13272
13273    return(test_ret);
13274}
13275
13276
13277static int
13278test_xmlInitParser(void) {
13279    int test_ret = 0;
13280
13281    int mem_base;
13282
13283        mem_base = xmlMemBlocks();
13284
13285        xmlInitParser();
13286        call_tests++;
13287        xmlResetLastError();
13288        if (mem_base != xmlMemBlocks()) {
13289            printf("Leak of %d blocks found in xmlInitParser",
13290	           xmlMemBlocks() - mem_base);
13291	    test_ret++;
13292            printf("\n");
13293        }
13294    function_tests++;
13295
13296    return(test_ret);
13297}
13298
13299
13300static int
13301test_xmlInitParserCtxt(void) {
13302    int test_ret = 0;
13303
13304    int mem_base;
13305    int ret_val;
13306    xmlParserCtxtPtr ctxt; /* an XML parser context */
13307    int n_ctxt;
13308
13309    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13310        mem_base = xmlMemBlocks();
13311        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13312
13313        ret_val = xmlInitParserCtxt(ctxt);
13314        desret_int(ret_val);
13315        call_tests++;
13316        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13317        xmlResetLastError();
13318        if (mem_base != xmlMemBlocks()) {
13319            printf("Leak of %d blocks found in xmlInitParserCtxt",
13320	           xmlMemBlocks() - mem_base);
13321	    test_ret++;
13322            printf(" %d", n_ctxt);
13323            printf("\n");
13324        }
13325    }
13326    function_tests++;
13327
13328    return(test_ret);
13329}
13330
13331
13332static int
13333test_xmlKeepBlanksDefault(void) {
13334    int test_ret = 0;
13335
13336    int mem_base;
13337    int ret_val;
13338    int val; /* int 0 or 1 */
13339    int n_val;
13340
13341    for (n_val = 0;n_val < gen_nb_int;n_val++) {
13342        mem_base = xmlMemBlocks();
13343        val = gen_int(n_val, 0);
13344
13345        ret_val = xmlKeepBlanksDefault(val);
13346        desret_int(ret_val);
13347        call_tests++;
13348        des_int(n_val, val, 0);
13349        xmlResetLastError();
13350        if (mem_base != xmlMemBlocks()) {
13351            printf("Leak of %d blocks found in xmlKeepBlanksDefault",
13352	           xmlMemBlocks() - mem_base);
13353	    test_ret++;
13354            printf(" %d", n_val);
13355            printf("\n");
13356        }
13357    }
13358    function_tests++;
13359
13360    return(test_ret);
13361}
13362
13363
13364static int
13365test_xmlLineNumbersDefault(void) {
13366    int test_ret = 0;
13367
13368    int mem_base;
13369    int ret_val;
13370    int val; /* int 0 or 1 */
13371    int n_val;
13372
13373    for (n_val = 0;n_val < gen_nb_int;n_val++) {
13374        mem_base = xmlMemBlocks();
13375        val = gen_int(n_val, 0);
13376
13377        ret_val = xmlLineNumbersDefault(val);
13378        desret_int(ret_val);
13379        call_tests++;
13380        des_int(n_val, val, 0);
13381        xmlResetLastError();
13382        if (mem_base != xmlMemBlocks()) {
13383            printf("Leak of %d blocks found in xmlLineNumbersDefault",
13384	           xmlMemBlocks() - mem_base);
13385	    test_ret++;
13386            printf(" %d", n_val);
13387            printf("\n");
13388        }
13389    }
13390    function_tests++;
13391
13392    return(test_ret);
13393}
13394
13395
13396static int
13397test_xmlLoadExternalEntity(void) {
13398    int test_ret = 0;
13399
13400    int mem_base;
13401    xmlParserInputPtr ret_val;
13402    const char * URL; /* the URL for the entity to load */
13403    int n_URL;
13404    char * ID; /* the Public ID for the entity to load */
13405    int n_ID;
13406    xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
13407    int n_ctxt;
13408
13409    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
13410    for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
13411    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13412        mem_base = xmlMemBlocks();
13413        URL = gen_filepath(n_URL, 0);
13414        ID = gen_const_char_ptr(n_ID, 1);
13415        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
13416
13417        ret_val = xmlLoadExternalEntity(URL, (const char *)ID, ctxt);
13418        desret_xmlParserInputPtr(ret_val);
13419        call_tests++;
13420        des_filepath(n_URL, URL, 0);
13421        des_const_char_ptr(n_ID, (const char *)ID, 1);
13422        des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
13423        xmlResetLastError();
13424        if (mem_base != xmlMemBlocks()) {
13425            printf("Leak of %d blocks found in xmlLoadExternalEntity",
13426	           xmlMemBlocks() - mem_base);
13427	    test_ret++;
13428            printf(" %d", n_URL);
13429            printf(" %d", n_ID);
13430            printf(" %d", n_ctxt);
13431            printf("\n");
13432        }
13433    }
13434    }
13435    }
13436    function_tests++;
13437
13438    return(test_ret);
13439}
13440
13441
13442static int
13443test_xmlNewIOInputStream(void) {
13444    int test_ret = 0;
13445
13446    int mem_base;
13447    xmlParserInputPtr ret_val;
13448    xmlParserCtxtPtr ctxt; /* an XML parser context */
13449    int n_ctxt;
13450    xmlParserInputBufferPtr input; /* an I/O Input */
13451    int n_input;
13452    xmlCharEncoding enc; /* the charset encoding if known */
13453    int n_enc;
13454
13455    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13456    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
13457    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
13458        mem_base = xmlMemBlocks();
13459        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13460        input = gen_xmlParserInputBufferPtr(n_input, 1);
13461        enc = gen_xmlCharEncoding(n_enc, 2);
13462
13463        ret_val = xmlNewIOInputStream(ctxt, input, enc);
13464        if (ret_val != NULL) input = NULL;
13465        desret_xmlParserInputPtr(ret_val);
13466        call_tests++;
13467        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13468        des_xmlParserInputBufferPtr(n_input, input, 1);
13469        des_xmlCharEncoding(n_enc, enc, 2);
13470        xmlResetLastError();
13471        if (mem_base != xmlMemBlocks()) {
13472            printf("Leak of %d blocks found in xmlNewIOInputStream",
13473	           xmlMemBlocks() - mem_base);
13474	    test_ret++;
13475            printf(" %d", n_ctxt);
13476            printf(" %d", n_input);
13477            printf(" %d", n_enc);
13478            printf("\n");
13479        }
13480    }
13481    }
13482    }
13483    function_tests++;
13484
13485    return(test_ret);
13486}
13487
13488
13489static int
13490test_xmlNewParserCtxt(void) {
13491    int test_ret = 0;
13492
13493    int mem_base;
13494    xmlParserCtxtPtr ret_val;
13495
13496        mem_base = xmlMemBlocks();
13497
13498        ret_val = xmlNewParserCtxt();
13499        desret_xmlParserCtxtPtr(ret_val);
13500        call_tests++;
13501        xmlResetLastError();
13502        if (mem_base != xmlMemBlocks()) {
13503            printf("Leak of %d blocks found in xmlNewParserCtxt",
13504	           xmlMemBlocks() - mem_base);
13505	    test_ret++;
13506            printf("\n");
13507        }
13508    function_tests++;
13509
13510    return(test_ret);
13511}
13512
13513
13514#define gen_nb_xmlNodePtr_ptr 1
13515static xmlNodePtr * gen_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
13516    return(NULL);
13517}
13518static void des_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, xmlNodePtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
13519}
13520
13521static int
13522test_xmlParseBalancedChunkMemory(void) {
13523    int test_ret = 0;
13524
13525#if defined(LIBXML_SAX1_ENABLED)
13526#ifdef LIBXML_SAX1_ENABLED
13527    int mem_base;
13528    int ret_val;
13529    xmlDocPtr doc; /* the document the chunk pertains to */
13530    int n_doc;
13531    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
13532    int n_sax;
13533    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
13534    int n_user_data;
13535    int depth; /* Used for loop detection, use 0 */
13536    int n_depth;
13537    xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
13538    int n_string;
13539    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
13540    int n_lst;
13541
13542    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
13543    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
13544    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
13545    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
13546    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
13547    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
13548        mem_base = xmlMemBlocks();
13549        doc = gen_xmlDocPtr(n_doc, 0);
13550        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
13551        user_data = gen_userdata(n_user_data, 2);
13552        depth = gen_int(n_depth, 3);
13553        string = gen_const_xmlChar_ptr(n_string, 4);
13554        lst = gen_xmlNodePtr_ptr(n_lst, 5);
13555
13556#ifdef LIBXML_SAX1_ENABLED
13557        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
13558#endif
13559
13560
13561        ret_val = xmlParseBalancedChunkMemory(doc, sax, user_data, depth, (const xmlChar *)string, lst);
13562        desret_int(ret_val);
13563        call_tests++;
13564        des_xmlDocPtr(n_doc, doc, 0);
13565        des_xmlSAXHandlerPtr(n_sax, sax, 1);
13566        des_userdata(n_user_data, user_data, 2);
13567        des_int(n_depth, depth, 3);
13568        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
13569        des_xmlNodePtr_ptr(n_lst, lst, 5);
13570        xmlResetLastError();
13571        if (mem_base != xmlMemBlocks()) {
13572            printf("Leak of %d blocks found in xmlParseBalancedChunkMemory",
13573	           xmlMemBlocks() - mem_base);
13574	    test_ret++;
13575            printf(" %d", n_doc);
13576            printf(" %d", n_sax);
13577            printf(" %d", n_user_data);
13578            printf(" %d", n_depth);
13579            printf(" %d", n_string);
13580            printf(" %d", n_lst);
13581            printf("\n");
13582        }
13583    }
13584    }
13585    }
13586    }
13587    }
13588    }
13589    function_tests++;
13590#endif
13591#endif
13592
13593    return(test_ret);
13594}
13595
13596
13597static int
13598test_xmlParseBalancedChunkMemoryRecover(void) {
13599    int test_ret = 0;
13600
13601#if defined(LIBXML_SAX1_ENABLED)
13602#ifdef LIBXML_SAX1_ENABLED
13603    int mem_base;
13604    int ret_val;
13605    xmlDocPtr doc; /* the document the chunk pertains to */
13606    int n_doc;
13607    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
13608    int n_sax;
13609    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
13610    int n_user_data;
13611    int depth; /* Used for loop detection, use 0 */
13612    int n_depth;
13613    xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
13614    int n_string;
13615    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
13616    int n_lst;
13617    int recover; /* return nodes even if the data is broken (use 0) */
13618    int n_recover;
13619
13620    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
13621    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
13622    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
13623    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
13624    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
13625    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
13626    for (n_recover = 0;n_recover < gen_nb_int;n_recover++) {
13627        mem_base = xmlMemBlocks();
13628        doc = gen_xmlDocPtr(n_doc, 0);
13629        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
13630        user_data = gen_userdata(n_user_data, 2);
13631        depth = gen_int(n_depth, 3);
13632        string = gen_const_xmlChar_ptr(n_string, 4);
13633        lst = gen_xmlNodePtr_ptr(n_lst, 5);
13634        recover = gen_int(n_recover, 6);
13635
13636#ifdef LIBXML_SAX1_ENABLED
13637        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
13638#endif
13639
13640
13641        ret_val = xmlParseBalancedChunkMemoryRecover(doc, sax, user_data, depth, (const xmlChar *)string, lst, recover);
13642        desret_int(ret_val);
13643        call_tests++;
13644        des_xmlDocPtr(n_doc, doc, 0);
13645        des_xmlSAXHandlerPtr(n_sax, sax, 1);
13646        des_userdata(n_user_data, user_data, 2);
13647        des_int(n_depth, depth, 3);
13648        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
13649        des_xmlNodePtr_ptr(n_lst, lst, 5);
13650        des_int(n_recover, recover, 6);
13651        xmlResetLastError();
13652        if (mem_base != xmlMemBlocks()) {
13653            printf("Leak of %d blocks found in xmlParseBalancedChunkMemoryRecover",
13654	           xmlMemBlocks() - mem_base);
13655	    test_ret++;
13656            printf(" %d", n_doc);
13657            printf(" %d", n_sax);
13658            printf(" %d", n_user_data);
13659            printf(" %d", n_depth);
13660            printf(" %d", n_string);
13661            printf(" %d", n_lst);
13662            printf(" %d", n_recover);
13663            printf("\n");
13664        }
13665    }
13666    }
13667    }
13668    }
13669    }
13670    }
13671    }
13672    function_tests++;
13673#endif
13674#endif
13675
13676    return(test_ret);
13677}
13678
13679
13680static int
13681test_xmlParseChunk(void) {
13682    int test_ret = 0;
13683
13684#if defined(LIBXML_PUSH_ENABLED)
13685    int mem_base;
13686    int ret_val;
13687    xmlParserCtxtPtr ctxt; /* an XML parser context */
13688    int n_ctxt;
13689    char * chunk; /* an char array */
13690    int n_chunk;
13691    int size; /* the size in byte of the chunk */
13692    int n_size;
13693    int terminate; /* last chunk indicator */
13694    int n_terminate;
13695
13696    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13697    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
13698    for (n_size = 0;n_size < gen_nb_int;n_size++) {
13699    for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
13700        mem_base = xmlMemBlocks();
13701        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13702        chunk = gen_const_char_ptr(n_chunk, 1);
13703        size = gen_int(n_size, 2);
13704        terminate = gen_int(n_terminate, 3);
13705
13706        ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
13707        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
13708        desret_int(ret_val);
13709        call_tests++;
13710        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13711        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
13712        des_int(n_size, size, 2);
13713        des_int(n_terminate, terminate, 3);
13714        xmlResetLastError();
13715        if (mem_base != xmlMemBlocks()) {
13716            printf("Leak of %d blocks found in xmlParseChunk",
13717	           xmlMemBlocks() - mem_base);
13718	    test_ret++;
13719            printf(" %d", n_ctxt);
13720            printf(" %d", n_chunk);
13721            printf(" %d", n_size);
13722            printf(" %d", n_terminate);
13723            printf("\n");
13724        }
13725    }
13726    }
13727    }
13728    }
13729    function_tests++;
13730#endif
13731
13732    return(test_ret);
13733}
13734
13735
13736static int
13737test_xmlParseCtxtExternalEntity(void) {
13738    int test_ret = 0;
13739
13740    int mem_base;
13741    int ret_val;
13742    xmlParserCtxtPtr ctx; /* the existing parsing context */
13743    int n_ctx;
13744    xmlChar * URL; /* the URL for the entity to load */
13745    int n_URL;
13746    xmlChar * ID; /* the System ID for the entity to load */
13747    int n_ID;
13748    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
13749    int n_lst;
13750
13751    for (n_ctx = 0;n_ctx < gen_nb_xmlParserCtxtPtr;n_ctx++) {
13752    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
13753    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
13754    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
13755        mem_base = xmlMemBlocks();
13756        ctx = gen_xmlParserCtxtPtr(n_ctx, 0);
13757        URL = gen_const_xmlChar_ptr(n_URL, 1);
13758        ID = gen_const_xmlChar_ptr(n_ID, 2);
13759        lst = gen_xmlNodePtr_ptr(n_lst, 3);
13760
13761        ret_val = xmlParseCtxtExternalEntity(ctx, (const xmlChar *)URL, (const xmlChar *)ID, lst);
13762        desret_int(ret_val);
13763        call_tests++;
13764        des_xmlParserCtxtPtr(n_ctx, ctx, 0);
13765        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 1);
13766        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 2);
13767        des_xmlNodePtr_ptr(n_lst, lst, 3);
13768        xmlResetLastError();
13769        if (mem_base != xmlMemBlocks()) {
13770            printf("Leak of %d blocks found in xmlParseCtxtExternalEntity",
13771	           xmlMemBlocks() - mem_base);
13772	    test_ret++;
13773            printf(" %d", n_ctx);
13774            printf(" %d", n_URL);
13775            printf(" %d", n_ID);
13776            printf(" %d", n_lst);
13777            printf("\n");
13778        }
13779    }
13780    }
13781    }
13782    }
13783    function_tests++;
13784
13785    return(test_ret);
13786}
13787
13788
13789static int
13790test_xmlParseDTD(void) {
13791    int test_ret = 0;
13792
13793#if defined(LIBXML_VALID_ENABLED)
13794#ifdef LIBXML_VALID_ENABLED
13795    int mem_base;
13796    xmlDtdPtr ret_val;
13797    xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
13798    int n_ExternalID;
13799    xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
13800    int n_SystemID;
13801
13802    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
13803    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
13804        mem_base = xmlMemBlocks();
13805        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 0);
13806        SystemID = gen_const_xmlChar_ptr(n_SystemID, 1);
13807
13808        ret_val = xmlParseDTD((const xmlChar *)ExternalID, (const xmlChar *)SystemID);
13809        desret_xmlDtdPtr(ret_val);
13810        call_tests++;
13811        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 0);
13812        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 1);
13813        xmlResetLastError();
13814        if (mem_base != xmlMemBlocks()) {
13815            printf("Leak of %d blocks found in xmlParseDTD",
13816	           xmlMemBlocks() - mem_base);
13817	    test_ret++;
13818            printf(" %d", n_ExternalID);
13819            printf(" %d", n_SystemID);
13820            printf("\n");
13821        }
13822    }
13823    }
13824    function_tests++;
13825#endif
13826#endif
13827
13828    return(test_ret);
13829}
13830
13831
13832static int
13833test_xmlParseDoc(void) {
13834    int test_ret = 0;
13835
13836#if defined(LIBXML_SAX1_ENABLED)
13837#ifdef LIBXML_SAX1_ENABLED
13838    int mem_base;
13839    xmlDocPtr ret_val;
13840    xmlChar * cur; /* a pointer to an array of xmlChar */
13841    int n_cur;
13842
13843    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
13844        mem_base = xmlMemBlocks();
13845        cur = gen_const_xmlChar_ptr(n_cur, 0);
13846
13847        ret_val = xmlParseDoc((const xmlChar *)cur);
13848        desret_xmlDocPtr(ret_val);
13849        call_tests++;
13850        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
13851        xmlResetLastError();
13852        if (mem_base != xmlMemBlocks()) {
13853            printf("Leak of %d blocks found in xmlParseDoc",
13854	           xmlMemBlocks() - mem_base);
13855	    test_ret++;
13856            printf(" %d", n_cur);
13857            printf("\n");
13858        }
13859    }
13860    function_tests++;
13861#endif
13862#endif
13863
13864    return(test_ret);
13865}
13866
13867
13868static int
13869test_xmlParseDocument(void) {
13870    int test_ret = 0;
13871
13872    int mem_base;
13873    int ret_val;
13874    xmlParserCtxtPtr ctxt; /* an XML parser context */
13875    int n_ctxt;
13876
13877    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13878        mem_base = xmlMemBlocks();
13879        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13880
13881        ret_val = xmlParseDocument(ctxt);
13882        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
13883        desret_int(ret_val);
13884        call_tests++;
13885        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13886        xmlResetLastError();
13887        if (mem_base != xmlMemBlocks()) {
13888            printf("Leak of %d blocks found in xmlParseDocument",
13889	           xmlMemBlocks() - mem_base);
13890	    test_ret++;
13891            printf(" %d", n_ctxt);
13892            printf("\n");
13893        }
13894    }
13895    function_tests++;
13896
13897    return(test_ret);
13898}
13899
13900
13901static int
13902test_xmlParseEntity(void) {
13903    int test_ret = 0;
13904
13905#if defined(LIBXML_SAX1_ENABLED)
13906#ifdef LIBXML_SAX1_ENABLED
13907    int mem_base;
13908    xmlDocPtr ret_val;
13909    const char * filename; /* the filename */
13910    int n_filename;
13911
13912    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
13913        mem_base = xmlMemBlocks();
13914        filename = gen_filepath(n_filename, 0);
13915
13916        ret_val = xmlParseEntity(filename);
13917        desret_xmlDocPtr(ret_val);
13918        call_tests++;
13919        des_filepath(n_filename, filename, 0);
13920        xmlResetLastError();
13921        if (mem_base != xmlMemBlocks()) {
13922            printf("Leak of %d blocks found in xmlParseEntity",
13923	           xmlMemBlocks() - mem_base);
13924	    test_ret++;
13925            printf(" %d", n_filename);
13926            printf("\n");
13927        }
13928    }
13929    function_tests++;
13930#endif
13931#endif
13932
13933    return(test_ret);
13934}
13935
13936
13937static int
13938test_xmlParseExtParsedEnt(void) {
13939    int test_ret = 0;
13940
13941    int mem_base;
13942    int ret_val;
13943    xmlParserCtxtPtr ctxt; /* an XML parser context */
13944    int n_ctxt;
13945
13946    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
13947        mem_base = xmlMemBlocks();
13948        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
13949
13950        ret_val = xmlParseExtParsedEnt(ctxt);
13951        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
13952        desret_int(ret_val);
13953        call_tests++;
13954        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
13955        xmlResetLastError();
13956        if (mem_base != xmlMemBlocks()) {
13957            printf("Leak of %d blocks found in xmlParseExtParsedEnt",
13958	           xmlMemBlocks() - mem_base);
13959	    test_ret++;
13960            printf(" %d", n_ctxt);
13961            printf("\n");
13962        }
13963    }
13964    function_tests++;
13965
13966    return(test_ret);
13967}
13968
13969
13970static int
13971test_xmlParseExternalEntity(void) {
13972    int test_ret = 0;
13973
13974#if defined(LIBXML_SAX1_ENABLED)
13975#ifdef LIBXML_SAX1_ENABLED
13976    int mem_base;
13977    int ret_val;
13978    xmlDocPtr doc; /* the document the chunk pertains to */
13979    int n_doc;
13980    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
13981    int n_sax;
13982    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
13983    int n_user_data;
13984    int depth; /* Used for loop detection, use 0 */
13985    int n_depth;
13986    xmlChar * URL; /* the URL for the entity to load */
13987    int n_URL;
13988    xmlChar * ID; /* the System ID for the entity to load */
13989    int n_ID;
13990    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
13991    int n_lst;
13992
13993    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
13994    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
13995    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
13996    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
13997    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
13998    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
13999    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
14000        mem_base = xmlMemBlocks();
14001        doc = gen_xmlDocPtr(n_doc, 0);
14002        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
14003        user_data = gen_userdata(n_user_data, 2);
14004        depth = gen_int(n_depth, 3);
14005        URL = gen_const_xmlChar_ptr(n_URL, 4);
14006        ID = gen_const_xmlChar_ptr(n_ID, 5);
14007        lst = gen_xmlNodePtr_ptr(n_lst, 6);
14008
14009        ret_val = xmlParseExternalEntity(doc, sax, user_data, depth, (const xmlChar *)URL, (const xmlChar *)ID, lst);
14010        desret_int(ret_val);
14011        call_tests++;
14012        des_xmlDocPtr(n_doc, doc, 0);
14013        des_xmlSAXHandlerPtr(n_sax, sax, 1);
14014        des_userdata(n_user_data, user_data, 2);
14015        des_int(n_depth, depth, 3);
14016        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 4);
14017        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 5);
14018        des_xmlNodePtr_ptr(n_lst, lst, 6);
14019        xmlResetLastError();
14020        if (mem_base != xmlMemBlocks()) {
14021            printf("Leak of %d blocks found in xmlParseExternalEntity",
14022	           xmlMemBlocks() - mem_base);
14023	    test_ret++;
14024            printf(" %d", n_doc);
14025            printf(" %d", n_sax);
14026            printf(" %d", n_user_data);
14027            printf(" %d", n_depth);
14028            printf(" %d", n_URL);
14029            printf(" %d", n_ID);
14030            printf(" %d", n_lst);
14031            printf("\n");
14032        }
14033    }
14034    }
14035    }
14036    }
14037    }
14038    }
14039    }
14040    function_tests++;
14041#endif
14042#endif
14043
14044    return(test_ret);
14045}
14046
14047
14048static int
14049test_xmlParseFile(void) {
14050    int test_ret = 0;
14051
14052#if defined(LIBXML_SAX1_ENABLED)
14053#ifdef LIBXML_SAX1_ENABLED
14054    int mem_base;
14055    xmlDocPtr ret_val;
14056    const char * filename; /* the filename */
14057    int n_filename;
14058
14059    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14060        mem_base = xmlMemBlocks();
14061        filename = gen_filepath(n_filename, 0);
14062
14063        ret_val = xmlParseFile(filename);
14064        desret_xmlDocPtr(ret_val);
14065        call_tests++;
14066        des_filepath(n_filename, filename, 0);
14067        xmlResetLastError();
14068        if (mem_base != xmlMemBlocks()) {
14069            printf("Leak of %d blocks found in xmlParseFile",
14070	           xmlMemBlocks() - mem_base);
14071	    test_ret++;
14072            printf(" %d", n_filename);
14073            printf("\n");
14074        }
14075    }
14076    function_tests++;
14077#endif
14078#endif
14079
14080    return(test_ret);
14081}
14082
14083
14084static int
14085test_xmlParseInNodeContext(void) {
14086    int test_ret = 0;
14087
14088    int mem_base;
14089    xmlParserErrors ret_val;
14090    xmlNodePtr node; /* the context node */
14091    int n_node;
14092    char * data; /* the input string */
14093    int n_data;
14094    int datalen; /* the input string length in bytes */
14095    int n_datalen;
14096    int options; /* a combination of xmlParserOption */
14097    int n_options;
14098    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
14099    int n_lst;
14100
14101    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
14102    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
14103    for (n_datalen = 0;n_datalen < gen_nb_int;n_datalen++) {
14104    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
14105    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
14106        mem_base = xmlMemBlocks();
14107        node = gen_xmlNodePtr(n_node, 0);
14108        data = gen_const_char_ptr(n_data, 1);
14109        datalen = gen_int(n_datalen, 2);
14110        options = gen_parseroptions(n_options, 3);
14111        lst = gen_xmlNodePtr_ptr(n_lst, 4);
14112
14113        ret_val = xmlParseInNodeContext(node, (const char *)data, datalen, options, lst);
14114        desret_xmlParserErrors(ret_val);
14115        call_tests++;
14116        des_xmlNodePtr(n_node, node, 0);
14117        des_const_char_ptr(n_data, (const char *)data, 1);
14118        des_int(n_datalen, datalen, 2);
14119        des_parseroptions(n_options, options, 3);
14120        des_xmlNodePtr_ptr(n_lst, lst, 4);
14121        xmlResetLastError();
14122        if (mem_base != xmlMemBlocks()) {
14123            printf("Leak of %d blocks found in xmlParseInNodeContext",
14124	           xmlMemBlocks() - mem_base);
14125	    test_ret++;
14126            printf(" %d", n_node);
14127            printf(" %d", n_data);
14128            printf(" %d", n_datalen);
14129            printf(" %d", n_options);
14130            printf(" %d", n_lst);
14131            printf("\n");
14132        }
14133    }
14134    }
14135    }
14136    }
14137    }
14138    function_tests++;
14139
14140    return(test_ret);
14141}
14142
14143
14144static int
14145test_xmlParseMemory(void) {
14146    int test_ret = 0;
14147
14148#if defined(LIBXML_SAX1_ENABLED)
14149#ifdef LIBXML_SAX1_ENABLED
14150    int mem_base;
14151    xmlDocPtr ret_val;
14152    char * buffer; /* an pointer to a char array */
14153    int n_buffer;
14154    int size; /* the size of the array */
14155    int n_size;
14156
14157    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
14158    for (n_size = 0;n_size < gen_nb_int;n_size++) {
14159        mem_base = xmlMemBlocks();
14160        buffer = gen_const_char_ptr(n_buffer, 0);
14161        size = gen_int(n_size, 1);
14162
14163        ret_val = xmlParseMemory((const char *)buffer, size);
14164        desret_xmlDocPtr(ret_val);
14165        call_tests++;
14166        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
14167        des_int(n_size, size, 1);
14168        xmlResetLastError();
14169        if (mem_base != xmlMemBlocks()) {
14170            printf("Leak of %d blocks found in xmlParseMemory",
14171	           xmlMemBlocks() - mem_base);
14172	    test_ret++;
14173            printf(" %d", n_buffer);
14174            printf(" %d", n_size);
14175            printf("\n");
14176        }
14177    }
14178    }
14179    function_tests++;
14180#endif
14181#endif
14182
14183    return(test_ret);
14184}
14185
14186
14187#define gen_nb_const_xmlParserNodeInfoPtr 1
14188static xmlParserNodeInfoPtr gen_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14189    return(NULL);
14190}
14191static void des_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14192}
14193
14194static int
14195test_xmlParserAddNodeInfo(void) {
14196    int test_ret = 0;
14197
14198    int mem_base;
14199    xmlParserCtxtPtr ctxt; /* an XML parser context */
14200    int n_ctxt;
14201    xmlParserNodeInfoPtr info; /* a node info sequence pointer */
14202    int n_info;
14203
14204    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
14205    for (n_info = 0;n_info < gen_nb_const_xmlParserNodeInfoPtr;n_info++) {
14206        mem_base = xmlMemBlocks();
14207        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
14208        info = gen_const_xmlParserNodeInfoPtr(n_info, 1);
14209
14210        xmlParserAddNodeInfo(ctxt, (const xmlParserNodeInfoPtr)info);
14211        call_tests++;
14212        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
14213        des_const_xmlParserNodeInfoPtr(n_info, (const xmlParserNodeInfoPtr)info, 1);
14214        xmlResetLastError();
14215        if (mem_base != xmlMemBlocks()) {
14216            printf("Leak of %d blocks found in xmlParserAddNodeInfo",
14217	           xmlMemBlocks() - mem_base);
14218	    test_ret++;
14219            printf(" %d", n_ctxt);
14220            printf(" %d", n_info);
14221            printf("\n");
14222        }
14223    }
14224    }
14225    function_tests++;
14226
14227    return(test_ret);
14228}
14229
14230
14231#define gen_nb_const_xmlParserCtxtPtr 1
14232static xmlParserCtxtPtr gen_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14233    return(NULL);
14234}
14235static void des_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, const xmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14236}
14237
14238#define gen_nb_const_xmlNodePtr 1
14239static xmlNodePtr gen_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14240    return(NULL);
14241}
14242static void des_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, const xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14243}
14244
14245static int
14246test_xmlParserFindNodeInfo(void) {
14247    int test_ret = 0;
14248
14249    int mem_base;
14250    const xmlParserNodeInfo * ret_val;
14251    xmlParserCtxtPtr ctx; /* an XML parser context */
14252    int n_ctx;
14253    xmlNodePtr node; /* an XML node within the tree */
14254    int n_node;
14255
14256    for (n_ctx = 0;n_ctx < gen_nb_const_xmlParserCtxtPtr;n_ctx++) {
14257    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
14258        mem_base = xmlMemBlocks();
14259        ctx = gen_const_xmlParserCtxtPtr(n_ctx, 0);
14260        node = gen_const_xmlNodePtr(n_node, 1);
14261
14262        ret_val = xmlParserFindNodeInfo((const xmlParserCtxtPtr)ctx, (const xmlNodePtr)node);
14263        desret_const_xmlParserNodeInfo_ptr(ret_val);
14264        call_tests++;
14265        des_const_xmlParserCtxtPtr(n_ctx, (const xmlParserCtxtPtr)ctx, 0);
14266        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
14267        xmlResetLastError();
14268        if (mem_base != xmlMemBlocks()) {
14269            printf("Leak of %d blocks found in xmlParserFindNodeInfo",
14270	           xmlMemBlocks() - mem_base);
14271	    test_ret++;
14272            printf(" %d", n_ctx);
14273            printf(" %d", n_node);
14274            printf("\n");
14275        }
14276    }
14277    }
14278    function_tests++;
14279
14280    return(test_ret);
14281}
14282
14283
14284#define gen_nb_const_xmlParserNodeInfoSeqPtr 1
14285static xmlParserNodeInfoSeqPtr gen_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14286    return(NULL);
14287}
14288static void des_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14289}
14290
14291static int
14292test_xmlParserFindNodeInfoIndex(void) {
14293    int test_ret = 0;
14294
14295    int mem_base;
14296    unsigned long ret_val;
14297    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
14298    int n_seq;
14299    xmlNodePtr node; /* an XML node pointer */
14300    int n_node;
14301
14302    for (n_seq = 0;n_seq < gen_nb_const_xmlParserNodeInfoSeqPtr;n_seq++) {
14303    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
14304        mem_base = xmlMemBlocks();
14305        seq = gen_const_xmlParserNodeInfoSeqPtr(n_seq, 0);
14306        node = gen_const_xmlNodePtr(n_node, 1);
14307
14308        ret_val = xmlParserFindNodeInfoIndex((const xmlParserNodeInfoSeqPtr)seq, (const xmlNodePtr)node);
14309        desret_unsigned_long(ret_val);
14310        call_tests++;
14311        des_const_xmlParserNodeInfoSeqPtr(n_seq, (const xmlParserNodeInfoSeqPtr)seq, 0);
14312        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
14313        xmlResetLastError();
14314        if (mem_base != xmlMemBlocks()) {
14315            printf("Leak of %d blocks found in xmlParserFindNodeInfoIndex",
14316	           xmlMemBlocks() - mem_base);
14317	    test_ret++;
14318            printf(" %d", n_seq);
14319            printf(" %d", n_node);
14320            printf("\n");
14321        }
14322    }
14323    }
14324    function_tests++;
14325
14326    return(test_ret);
14327}
14328
14329
14330#define gen_nb_xmlParserInputPtr 1
14331static xmlParserInputPtr gen_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14332    return(NULL);
14333}
14334static void des_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, xmlParserInputPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
14335}
14336
14337static int
14338test_xmlParserInputGrow(void) {
14339    int test_ret = 0;
14340
14341    int mem_base;
14342    int ret_val;
14343    xmlParserInputPtr in; /* an XML parser input */
14344    int n_in;
14345    int len; /* an indicative size for the lookahead */
14346    int n_len;
14347
14348    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
14349    for (n_len = 0;n_len < gen_nb_int;n_len++) {
14350        mem_base = xmlMemBlocks();
14351        in = gen_xmlParserInputPtr(n_in, 0);
14352        len = gen_int(n_len, 1);
14353
14354        ret_val = xmlParserInputGrow(in, len);
14355        desret_int(ret_val);
14356        call_tests++;
14357        des_xmlParserInputPtr(n_in, in, 0);
14358        des_int(n_len, len, 1);
14359        xmlResetLastError();
14360        if (mem_base != xmlMemBlocks()) {
14361            printf("Leak of %d blocks found in xmlParserInputGrow",
14362	           xmlMemBlocks() - mem_base);
14363	    test_ret++;
14364            printf(" %d", n_in);
14365            printf(" %d", n_len);
14366            printf("\n");
14367        }
14368    }
14369    }
14370    function_tests++;
14371
14372    return(test_ret);
14373}
14374
14375
14376static int
14377test_xmlParserInputRead(void) {
14378    int test_ret = 0;
14379
14380    int mem_base;
14381    int ret_val;
14382    xmlParserInputPtr in; /* an XML parser input */
14383    int n_in;
14384    int len; /* an indicative size for the lookahead */
14385    int n_len;
14386
14387    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
14388    for (n_len = 0;n_len < gen_nb_int;n_len++) {
14389        mem_base = xmlMemBlocks();
14390        in = gen_xmlParserInputPtr(n_in, 0);
14391        len = gen_int(n_len, 1);
14392
14393        ret_val = xmlParserInputRead(in, len);
14394        desret_int(ret_val);
14395        call_tests++;
14396        des_xmlParserInputPtr(n_in, in, 0);
14397        des_int(n_len, len, 1);
14398        xmlResetLastError();
14399        if (mem_base != xmlMemBlocks()) {
14400            printf("Leak of %d blocks found in xmlParserInputRead",
14401	           xmlMemBlocks() - mem_base);
14402	    test_ret++;
14403            printf(" %d", n_in);
14404            printf(" %d", n_len);
14405            printf("\n");
14406        }
14407    }
14408    }
14409    function_tests++;
14410
14411    return(test_ret);
14412}
14413
14414
14415static int
14416test_xmlPedanticParserDefault(void) {
14417    int test_ret = 0;
14418
14419    int mem_base;
14420    int ret_val;
14421    int val; /* int 0 or 1 */
14422    int n_val;
14423
14424    for (n_val = 0;n_val < gen_nb_int;n_val++) {
14425        mem_base = xmlMemBlocks();
14426        val = gen_int(n_val, 0);
14427
14428        ret_val = xmlPedanticParserDefault(val);
14429        desret_int(ret_val);
14430        call_tests++;
14431        des_int(n_val, val, 0);
14432        xmlResetLastError();
14433        if (mem_base != xmlMemBlocks()) {
14434            printf("Leak of %d blocks found in xmlPedanticParserDefault",
14435	           xmlMemBlocks() - mem_base);
14436	    test_ret++;
14437            printf(" %d", n_val);
14438            printf("\n");
14439        }
14440    }
14441    function_tests++;
14442
14443    return(test_ret);
14444}
14445
14446
14447static int
14448test_xmlReadDoc(void) {
14449    int test_ret = 0;
14450
14451    int mem_base;
14452    xmlDocPtr ret_val;
14453    xmlChar * cur; /* a pointer to a zero terminated string */
14454    int n_cur;
14455    const char * URL; /* the base URL to use for the document */
14456    int n_URL;
14457    char * encoding; /* the document encoding, or NULL */
14458    int n_encoding;
14459    int options; /* a combination of xmlParserOption */
14460    int n_options;
14461
14462    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
14463    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
14464    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
14465    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
14466        mem_base = xmlMemBlocks();
14467        cur = gen_const_xmlChar_ptr(n_cur, 0);
14468        URL = gen_filepath(n_URL, 1);
14469        encoding = gen_const_char_ptr(n_encoding, 2);
14470        options = gen_parseroptions(n_options, 3);
14471
14472        ret_val = xmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
14473        desret_xmlDocPtr(ret_val);
14474        call_tests++;
14475        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
14476        des_filepath(n_URL, URL, 1);
14477        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
14478        des_parseroptions(n_options, options, 3);
14479        xmlResetLastError();
14480        if (mem_base != xmlMemBlocks()) {
14481            printf("Leak of %d blocks found in xmlReadDoc",
14482	           xmlMemBlocks() - mem_base);
14483	    test_ret++;
14484            printf(" %d", n_cur);
14485            printf(" %d", n_URL);
14486            printf(" %d", n_encoding);
14487            printf(" %d", n_options);
14488            printf("\n");
14489        }
14490    }
14491    }
14492    }
14493    }
14494    function_tests++;
14495
14496    return(test_ret);
14497}
14498
14499
14500static int
14501test_xmlReadFile(void) {
14502    int test_ret = 0;
14503
14504    int mem_base;
14505    xmlDocPtr ret_val;
14506    const char * filename; /* a file or URL */
14507    int n_filename;
14508    char * encoding; /* the document encoding, or NULL */
14509    int n_encoding;
14510    int options; /* a combination of xmlParserOption */
14511    int n_options;
14512
14513    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14514    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
14515    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
14516        mem_base = xmlMemBlocks();
14517        filename = gen_filepath(n_filename, 0);
14518        encoding = gen_const_char_ptr(n_encoding, 1);
14519        options = gen_parseroptions(n_options, 2);
14520
14521        ret_val = xmlReadFile(filename, (const char *)encoding, options);
14522        desret_xmlDocPtr(ret_val);
14523        call_tests++;
14524        des_filepath(n_filename, filename, 0);
14525        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
14526        des_parseroptions(n_options, options, 2);
14527        xmlResetLastError();
14528        if (mem_base != xmlMemBlocks()) {
14529            printf("Leak of %d blocks found in xmlReadFile",
14530	           xmlMemBlocks() - mem_base);
14531	    test_ret++;
14532            printf(" %d", n_filename);
14533            printf(" %d", n_encoding);
14534            printf(" %d", n_options);
14535            printf("\n");
14536        }
14537    }
14538    }
14539    }
14540    function_tests++;
14541
14542    return(test_ret);
14543}
14544
14545
14546static int
14547test_xmlReadMemory(void) {
14548    int test_ret = 0;
14549
14550    int mem_base;
14551    xmlDocPtr ret_val;
14552    char * buffer; /* a pointer to a char array */
14553    int n_buffer;
14554    int size; /* the size of the array */
14555    int n_size;
14556    const char * URL; /* the base URL to use for the document */
14557    int n_URL;
14558    char * encoding; /* the document encoding, or NULL */
14559    int n_encoding;
14560    int options; /* a combination of xmlParserOption */
14561    int n_options;
14562
14563    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
14564    for (n_size = 0;n_size < gen_nb_int;n_size++) {
14565    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
14566    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
14567    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
14568        mem_base = xmlMemBlocks();
14569        buffer = gen_const_char_ptr(n_buffer, 0);
14570        size = gen_int(n_size, 1);
14571        URL = gen_filepath(n_URL, 2);
14572        encoding = gen_const_char_ptr(n_encoding, 3);
14573        options = gen_parseroptions(n_options, 4);
14574
14575        ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
14576        desret_xmlDocPtr(ret_val);
14577        call_tests++;
14578        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
14579        des_int(n_size, size, 1);
14580        des_filepath(n_URL, URL, 2);
14581        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
14582        des_parseroptions(n_options, options, 4);
14583        xmlResetLastError();
14584        if (mem_base != xmlMemBlocks()) {
14585            printf("Leak of %d blocks found in xmlReadMemory",
14586	           xmlMemBlocks() - mem_base);
14587	    test_ret++;
14588            printf(" %d", n_buffer);
14589            printf(" %d", n_size);
14590            printf(" %d", n_URL);
14591            printf(" %d", n_encoding);
14592            printf(" %d", n_options);
14593            printf("\n");
14594        }
14595    }
14596    }
14597    }
14598    }
14599    }
14600    function_tests++;
14601
14602    return(test_ret);
14603}
14604
14605
14606static int
14607test_xmlRecoverDoc(void) {
14608    int test_ret = 0;
14609
14610#if defined(LIBXML_SAX1_ENABLED)
14611#ifdef LIBXML_SAX1_ENABLED
14612    int mem_base;
14613    xmlDocPtr ret_val;
14614    xmlChar * cur; /* a pointer to an array of xmlChar */
14615    int n_cur;
14616
14617    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
14618        mem_base = xmlMemBlocks();
14619        cur = gen_const_xmlChar_ptr(n_cur, 0);
14620
14621        ret_val = xmlRecoverDoc((const xmlChar *)cur);
14622        desret_xmlDocPtr(ret_val);
14623        call_tests++;
14624        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
14625        xmlResetLastError();
14626        if (mem_base != xmlMemBlocks()) {
14627            printf("Leak of %d blocks found in xmlRecoverDoc",
14628	           xmlMemBlocks() - mem_base);
14629	    test_ret++;
14630            printf(" %d", n_cur);
14631            printf("\n");
14632        }
14633    }
14634    function_tests++;
14635#endif
14636#endif
14637
14638    return(test_ret);
14639}
14640
14641
14642static int
14643test_xmlRecoverFile(void) {
14644    int test_ret = 0;
14645
14646#if defined(LIBXML_SAX1_ENABLED)
14647#ifdef LIBXML_SAX1_ENABLED
14648    int mem_base;
14649    xmlDocPtr ret_val;
14650    const char * filename; /* the filename */
14651    int n_filename;
14652
14653    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14654        mem_base = xmlMemBlocks();
14655        filename = gen_filepath(n_filename, 0);
14656
14657        ret_val = xmlRecoverFile(filename);
14658        desret_xmlDocPtr(ret_val);
14659        call_tests++;
14660        des_filepath(n_filename, filename, 0);
14661        xmlResetLastError();
14662        if (mem_base != xmlMemBlocks()) {
14663            printf("Leak of %d blocks found in xmlRecoverFile",
14664	           xmlMemBlocks() - mem_base);
14665	    test_ret++;
14666            printf(" %d", n_filename);
14667            printf("\n");
14668        }
14669    }
14670    function_tests++;
14671#endif
14672#endif
14673
14674    return(test_ret);
14675}
14676
14677
14678static int
14679test_xmlRecoverMemory(void) {
14680    int test_ret = 0;
14681
14682#if defined(LIBXML_SAX1_ENABLED)
14683#ifdef LIBXML_SAX1_ENABLED
14684    int mem_base;
14685    xmlDocPtr ret_val;
14686    char * buffer; /* an pointer to a char array */
14687    int n_buffer;
14688    int size; /* the size of the array */
14689    int n_size;
14690
14691    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
14692    for (n_size = 0;n_size < gen_nb_int;n_size++) {
14693        mem_base = xmlMemBlocks();
14694        buffer = gen_const_char_ptr(n_buffer, 0);
14695        size = gen_int(n_size, 1);
14696
14697        ret_val = xmlRecoverMemory((const char *)buffer, size);
14698        desret_xmlDocPtr(ret_val);
14699        call_tests++;
14700        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
14701        des_int(n_size, size, 1);
14702        xmlResetLastError();
14703        if (mem_base != xmlMemBlocks()) {
14704            printf("Leak of %d blocks found in xmlRecoverMemory",
14705	           xmlMemBlocks() - mem_base);
14706	    test_ret++;
14707            printf(" %d", n_buffer);
14708            printf(" %d", n_size);
14709            printf("\n");
14710        }
14711    }
14712    }
14713    function_tests++;
14714#endif
14715#endif
14716
14717    return(test_ret);
14718}
14719
14720
14721static int
14722test_xmlSAXParseDTD(void) {
14723    int test_ret = 0;
14724
14725#if defined(LIBXML_VALID_ENABLED)
14726#ifdef LIBXML_SAX1_ENABLED
14727    int mem_base;
14728    xmlDtdPtr ret_val;
14729    xmlSAXHandlerPtr sax; /* the SAX handler block */
14730    int n_sax;
14731    xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
14732    int n_ExternalID;
14733    xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
14734    int n_SystemID;
14735
14736    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14737    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
14738    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
14739        mem_base = xmlMemBlocks();
14740        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14741        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
14742        SystemID = gen_const_xmlChar_ptr(n_SystemID, 2);
14743
14744        ret_val = xmlSAXParseDTD(sax, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
14745        desret_xmlDtdPtr(ret_val);
14746        call_tests++;
14747        des_xmlSAXHandlerPtr(n_sax, sax, 0);
14748        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
14749        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 2);
14750        xmlResetLastError();
14751        if (mem_base != xmlMemBlocks()) {
14752            printf("Leak of %d blocks found in xmlSAXParseDTD",
14753	           xmlMemBlocks() - mem_base);
14754	    test_ret++;
14755            printf(" %d", n_sax);
14756            printf(" %d", n_ExternalID);
14757            printf(" %d", n_SystemID);
14758            printf("\n");
14759        }
14760    }
14761    }
14762    }
14763    function_tests++;
14764#endif
14765#endif
14766
14767    return(test_ret);
14768}
14769
14770
14771static int
14772test_xmlSAXParseDoc(void) {
14773    int test_ret = 0;
14774
14775#if defined(LIBXML_SAX1_ENABLED)
14776#ifdef LIBXML_SAX1_ENABLED
14777    int mem_base;
14778    xmlDocPtr ret_val;
14779    xmlSAXHandlerPtr sax; /* the SAX handler block */
14780    int n_sax;
14781    xmlChar * cur; /* a pointer to an array of xmlChar */
14782    int n_cur;
14783    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
14784    int n_recovery;
14785
14786    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14787    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
14788    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
14789        mem_base = xmlMemBlocks();
14790        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14791        cur = gen_const_xmlChar_ptr(n_cur, 1);
14792        recovery = gen_int(n_recovery, 2);
14793
14794        ret_val = xmlSAXParseDoc(sax, (const xmlChar *)cur, recovery);
14795        desret_xmlDocPtr(ret_val);
14796        call_tests++;
14797        des_xmlSAXHandlerPtr(n_sax, sax, 0);
14798        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
14799        des_int(n_recovery, recovery, 2);
14800        xmlResetLastError();
14801        if (mem_base != xmlMemBlocks()) {
14802            printf("Leak of %d blocks found in xmlSAXParseDoc",
14803	           xmlMemBlocks() - mem_base);
14804	    test_ret++;
14805            printf(" %d", n_sax);
14806            printf(" %d", n_cur);
14807            printf(" %d", n_recovery);
14808            printf("\n");
14809        }
14810    }
14811    }
14812    }
14813    function_tests++;
14814#endif
14815#endif
14816
14817    return(test_ret);
14818}
14819
14820
14821static int
14822test_xmlSAXParseEntity(void) {
14823    int test_ret = 0;
14824
14825#if defined(LIBXML_SAX1_ENABLED)
14826#ifdef LIBXML_SAX1_ENABLED
14827    int mem_base;
14828    xmlDocPtr ret_val;
14829    xmlSAXHandlerPtr sax; /* the SAX handler block */
14830    int n_sax;
14831    const char * filename; /* the filename */
14832    int n_filename;
14833
14834    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14835    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14836        mem_base = xmlMemBlocks();
14837        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14838        filename = gen_filepath(n_filename, 1);
14839
14840        ret_val = xmlSAXParseEntity(sax, filename);
14841        desret_xmlDocPtr(ret_val);
14842        call_tests++;
14843        des_xmlSAXHandlerPtr(n_sax, sax, 0);
14844        des_filepath(n_filename, filename, 1);
14845        xmlResetLastError();
14846        if (mem_base != xmlMemBlocks()) {
14847            printf("Leak of %d blocks found in xmlSAXParseEntity",
14848	           xmlMemBlocks() - mem_base);
14849	    test_ret++;
14850            printf(" %d", n_sax);
14851            printf(" %d", n_filename);
14852            printf("\n");
14853        }
14854    }
14855    }
14856    function_tests++;
14857#endif
14858#endif
14859
14860    return(test_ret);
14861}
14862
14863
14864static int
14865test_xmlSAXParseFile(void) {
14866    int test_ret = 0;
14867
14868#if defined(LIBXML_SAX1_ENABLED)
14869#ifdef LIBXML_SAX1_ENABLED
14870    int mem_base;
14871    xmlDocPtr ret_val;
14872    xmlSAXHandlerPtr sax; /* the SAX handler block */
14873    int n_sax;
14874    const char * filename; /* the filename */
14875    int n_filename;
14876    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
14877    int n_recovery;
14878
14879    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14880    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14881    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
14882        mem_base = xmlMemBlocks();
14883        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14884        filename = gen_filepath(n_filename, 1);
14885        recovery = gen_int(n_recovery, 2);
14886
14887        ret_val = xmlSAXParseFile(sax, filename, recovery);
14888        desret_xmlDocPtr(ret_val);
14889        call_tests++;
14890        des_xmlSAXHandlerPtr(n_sax, sax, 0);
14891        des_filepath(n_filename, filename, 1);
14892        des_int(n_recovery, recovery, 2);
14893        xmlResetLastError();
14894        if (mem_base != xmlMemBlocks()) {
14895            printf("Leak of %d blocks found in xmlSAXParseFile",
14896	           xmlMemBlocks() - mem_base);
14897	    test_ret++;
14898            printf(" %d", n_sax);
14899            printf(" %d", n_filename);
14900            printf(" %d", n_recovery);
14901            printf("\n");
14902        }
14903    }
14904    }
14905    }
14906    function_tests++;
14907#endif
14908#endif
14909
14910    return(test_ret);
14911}
14912
14913
14914static int
14915test_xmlSAXParseFileWithData(void) {
14916    int test_ret = 0;
14917
14918#if defined(LIBXML_SAX1_ENABLED)
14919#ifdef LIBXML_SAX1_ENABLED
14920    int mem_base;
14921    xmlDocPtr ret_val;
14922    xmlSAXHandlerPtr sax; /* the SAX handler block */
14923    int n_sax;
14924    const char * filename; /* the filename */
14925    int n_filename;
14926    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
14927    int n_recovery;
14928    void * data; /* the userdata */
14929    int n_data;
14930
14931    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14932    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
14933    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
14934    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
14935        mem_base = xmlMemBlocks();
14936        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14937        filename = gen_filepath(n_filename, 1);
14938        recovery = gen_int(n_recovery, 2);
14939        data = gen_userdata(n_data, 3);
14940
14941        ret_val = xmlSAXParseFileWithData(sax, filename, recovery, data);
14942        desret_xmlDocPtr(ret_val);
14943        call_tests++;
14944        des_xmlSAXHandlerPtr(n_sax, sax, 0);
14945        des_filepath(n_filename, filename, 1);
14946        des_int(n_recovery, recovery, 2);
14947        des_userdata(n_data, data, 3);
14948        xmlResetLastError();
14949        if (mem_base != xmlMemBlocks()) {
14950            printf("Leak of %d blocks found in xmlSAXParseFileWithData",
14951	           xmlMemBlocks() - mem_base);
14952	    test_ret++;
14953            printf(" %d", n_sax);
14954            printf(" %d", n_filename);
14955            printf(" %d", n_recovery);
14956            printf(" %d", n_data);
14957            printf("\n");
14958        }
14959    }
14960    }
14961    }
14962    }
14963    function_tests++;
14964#endif
14965#endif
14966
14967    return(test_ret);
14968}
14969
14970
14971static int
14972test_xmlSAXParseMemory(void) {
14973    int test_ret = 0;
14974
14975#if defined(LIBXML_SAX1_ENABLED)
14976#ifdef LIBXML_SAX1_ENABLED
14977    int mem_base;
14978    xmlDocPtr ret_val;
14979    xmlSAXHandlerPtr sax; /* the SAX handler block */
14980    int n_sax;
14981    char * buffer; /* an pointer to a char array */
14982    int n_buffer;
14983    int size; /* the size of the array */
14984    int n_size;
14985    int recovery; /* work in recovery mode, i.e. tries to read not Well Formed documents */
14986    int n_recovery;
14987
14988    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
14989    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
14990    for (n_size = 0;n_size < gen_nb_int;n_size++) {
14991    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
14992        mem_base = xmlMemBlocks();
14993        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
14994        buffer = gen_const_char_ptr(n_buffer, 1);
14995        size = gen_int(n_size, 2);
14996        recovery = gen_int(n_recovery, 3);
14997
14998        ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
14999        desret_xmlDocPtr(ret_val);
15000        call_tests++;
15001        des_xmlSAXHandlerPtr(n_sax, sax, 0);
15002        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
15003        des_int(n_size, size, 2);
15004        des_int(n_recovery, recovery, 3);
15005        xmlResetLastError();
15006        if (mem_base != xmlMemBlocks()) {
15007            printf("Leak of %d blocks found in xmlSAXParseMemory",
15008	           xmlMemBlocks() - mem_base);
15009	    test_ret++;
15010            printf(" %d", n_sax);
15011            printf(" %d", n_buffer);
15012            printf(" %d", n_size);
15013            printf(" %d", n_recovery);
15014            printf("\n");
15015        }
15016    }
15017    }
15018    }
15019    }
15020    function_tests++;
15021#endif
15022#endif
15023
15024    return(test_ret);
15025}
15026
15027
15028static int
15029test_xmlSAXParseMemoryWithData(void) {
15030    int test_ret = 0;
15031
15032#if defined(LIBXML_SAX1_ENABLED)
15033#ifdef LIBXML_SAX1_ENABLED
15034    int mem_base;
15035    xmlDocPtr ret_val;
15036    xmlSAXHandlerPtr sax; /* the SAX handler block */
15037    int n_sax;
15038    char * buffer; /* an pointer to a char array */
15039    int n_buffer;
15040    int size; /* the size of the array */
15041    int n_size;
15042    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
15043    int n_recovery;
15044    void * data; /* the userdata */
15045    int n_data;
15046
15047    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
15048    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
15049    for (n_size = 0;n_size < gen_nb_int;n_size++) {
15050    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
15051    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
15052        mem_base = xmlMemBlocks();
15053        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
15054        buffer = gen_const_char_ptr(n_buffer, 1);
15055        size = gen_int(n_size, 2);
15056        recovery = gen_int(n_recovery, 3);
15057        data = gen_userdata(n_data, 4);
15058
15059        ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
15060        desret_xmlDocPtr(ret_val);
15061        call_tests++;
15062        des_xmlSAXHandlerPtr(n_sax, sax, 0);
15063        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
15064        des_int(n_size, size, 2);
15065        des_int(n_recovery, recovery, 3);
15066        des_userdata(n_data, data, 4);
15067        xmlResetLastError();
15068        if (mem_base != xmlMemBlocks()) {
15069            printf("Leak of %d blocks found in xmlSAXParseMemoryWithData",
15070	           xmlMemBlocks() - mem_base);
15071	    test_ret++;
15072            printf(" %d", n_sax);
15073            printf(" %d", n_buffer);
15074            printf(" %d", n_size);
15075            printf(" %d", n_recovery);
15076            printf(" %d", n_data);
15077            printf("\n");
15078        }
15079    }
15080    }
15081    }
15082    }
15083    }
15084    function_tests++;
15085#endif
15086#endif
15087
15088    return(test_ret);
15089}
15090
15091
15092static int
15093test_xmlSAXUserParseFile(void) {
15094    int test_ret = 0;
15095
15096#if defined(LIBXML_SAX1_ENABLED)
15097#ifdef LIBXML_SAX1_ENABLED
15098    int mem_base;
15099    int ret_val;
15100    xmlSAXHandlerPtr sax; /* a SAX handler */
15101    int n_sax;
15102    void * user_data; /* The user data returned on SAX callbacks */
15103    int n_user_data;
15104    const char * filename; /* a file name */
15105    int n_filename;
15106
15107    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
15108    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
15109    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
15110        mem_base = xmlMemBlocks();
15111        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
15112        user_data = gen_userdata(n_user_data, 1);
15113        filename = gen_filepath(n_filename, 2);
15114
15115#ifdef LIBXML_SAX1_ENABLED
15116        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
15117#endif
15118
15119
15120        ret_val = xmlSAXUserParseFile(sax, user_data, filename);
15121        desret_int(ret_val);
15122        call_tests++;
15123        des_xmlSAXHandlerPtr(n_sax, sax, 0);
15124        des_userdata(n_user_data, user_data, 1);
15125        des_filepath(n_filename, filename, 2);
15126        xmlResetLastError();
15127        if (mem_base != xmlMemBlocks()) {
15128            printf("Leak of %d blocks found in xmlSAXUserParseFile",
15129	           xmlMemBlocks() - mem_base);
15130	    test_ret++;
15131            printf(" %d", n_sax);
15132            printf(" %d", n_user_data);
15133            printf(" %d", n_filename);
15134            printf("\n");
15135        }
15136    }
15137    }
15138    }
15139    function_tests++;
15140#endif
15141#endif
15142
15143    return(test_ret);
15144}
15145
15146
15147static int
15148test_xmlSAXUserParseMemory(void) {
15149    int test_ret = 0;
15150
15151#if defined(LIBXML_SAX1_ENABLED)
15152#ifdef LIBXML_SAX1_ENABLED
15153    int mem_base;
15154    int ret_val;
15155    xmlSAXHandlerPtr sax; /* a SAX handler */
15156    int n_sax;
15157    void * user_data; /* The user data returned on SAX callbacks */
15158    int n_user_data;
15159    char * buffer; /* an in-memory XML document input */
15160    int n_buffer;
15161    int size; /* the length of the XML document in bytes */
15162    int n_size;
15163
15164    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
15165    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
15166    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
15167    for (n_size = 0;n_size < gen_nb_int;n_size++) {
15168        mem_base = xmlMemBlocks();
15169        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
15170        user_data = gen_userdata(n_user_data, 1);
15171        buffer = gen_const_char_ptr(n_buffer, 2);
15172        size = gen_int(n_size, 3);
15173
15174#ifdef LIBXML_SAX1_ENABLED
15175        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
15176#endif
15177
15178
15179        ret_val = xmlSAXUserParseMemory(sax, user_data, (const char *)buffer, size);
15180        desret_int(ret_val);
15181        call_tests++;
15182        des_xmlSAXHandlerPtr(n_sax, sax, 0);
15183        des_userdata(n_user_data, user_data, 1);
15184        des_const_char_ptr(n_buffer, (const char *)buffer, 2);
15185        des_int(n_size, size, 3);
15186        xmlResetLastError();
15187        if (mem_base != xmlMemBlocks()) {
15188            printf("Leak of %d blocks found in xmlSAXUserParseMemory",
15189	           xmlMemBlocks() - mem_base);
15190	    test_ret++;
15191            printf(" %d", n_sax);
15192            printf(" %d", n_user_data);
15193            printf(" %d", n_buffer);
15194            printf(" %d", n_size);
15195            printf("\n");
15196        }
15197    }
15198    }
15199    }
15200    }
15201    function_tests++;
15202#endif
15203#endif
15204
15205    return(test_ret);
15206}
15207
15208
15209static int
15210test_xmlSetExternalEntityLoader(void) {
15211    int test_ret = 0;
15212
15213
15214    /* missing type support */
15215    return(test_ret);
15216}
15217
15218
15219static int
15220test_xmlSetFeature(void) {
15221    int test_ret = 0;
15222
15223#if defined(LIBXML_LEGACY_ENABLED)
15224#ifdef LIBXML_LEGACY_ENABLED
15225    int mem_base;
15226    int ret_val;
15227    xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
15228    int n_ctxt;
15229    char * name; /* the feature name */
15230    int n_name;
15231    void * value; /* pointer to the location of the new value */
15232    int n_value;
15233
15234    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15235    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
15236    for (n_value = 0;n_value < gen_nb_void_ptr;n_value++) {
15237        mem_base = xmlMemBlocks();
15238        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15239        name = gen_const_char_ptr(n_name, 1);
15240        value = gen_void_ptr(n_value, 2);
15241
15242        ret_val = xmlSetFeature(ctxt, (const char *)name, value);
15243        desret_int(ret_val);
15244        call_tests++;
15245        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15246        des_const_char_ptr(n_name, (const char *)name, 1);
15247        des_void_ptr(n_value, value, 2);
15248        xmlResetLastError();
15249        if (mem_base != xmlMemBlocks()) {
15250            printf("Leak of %d blocks found in xmlSetFeature",
15251	           xmlMemBlocks() - mem_base);
15252	    test_ret++;
15253            printf(" %d", n_ctxt);
15254            printf(" %d", n_name);
15255            printf(" %d", n_value);
15256            printf("\n");
15257        }
15258    }
15259    }
15260    }
15261    function_tests++;
15262#endif
15263#endif
15264
15265    return(test_ret);
15266}
15267
15268
15269static int
15270test_xmlSetupParserForBuffer(void) {
15271    int test_ret = 0;
15272
15273#if defined(LIBXML_SAX1_ENABLED)
15274#ifdef LIBXML_SAX1_ENABLED
15275    int mem_base;
15276    xmlParserCtxtPtr ctxt; /* an XML parser context */
15277    int n_ctxt;
15278    xmlChar * buffer; /* a xmlChar * buffer */
15279    int n_buffer;
15280    const char * filename; /* a file name */
15281    int n_filename;
15282
15283    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15284    for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
15285    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
15286        mem_base = xmlMemBlocks();
15287        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15288        buffer = gen_const_xmlChar_ptr(n_buffer, 1);
15289        filename = gen_filepath(n_filename, 2);
15290
15291        xmlSetupParserForBuffer(ctxt, (const xmlChar *)buffer, filename);
15292        call_tests++;
15293        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15294        des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
15295        des_filepath(n_filename, filename, 2);
15296        xmlResetLastError();
15297        if (mem_base != xmlMemBlocks()) {
15298            printf("Leak of %d blocks found in xmlSetupParserForBuffer",
15299	           xmlMemBlocks() - mem_base);
15300	    test_ret++;
15301            printf(" %d", n_ctxt);
15302            printf(" %d", n_buffer);
15303            printf(" %d", n_filename);
15304            printf("\n");
15305        }
15306    }
15307    }
15308    }
15309    function_tests++;
15310#endif
15311#endif
15312
15313    return(test_ret);
15314}
15315
15316
15317static int
15318test_xmlStopParser(void) {
15319    int test_ret = 0;
15320
15321#ifdef LIBXML_PUSH_ENABLED
15322    int mem_base;
15323    xmlParserCtxtPtr ctxt; /* an XML parser context */
15324    int n_ctxt;
15325
15326    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15327        mem_base = xmlMemBlocks();
15328        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15329
15330        xmlStopParser(ctxt);
15331        call_tests++;
15332        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15333        xmlResetLastError();
15334        if (mem_base != xmlMemBlocks()) {
15335            printf("Leak of %d blocks found in xmlStopParser",
15336	           xmlMemBlocks() - mem_base);
15337	    test_ret++;
15338            printf(" %d", n_ctxt);
15339            printf("\n");
15340        }
15341    }
15342    function_tests++;
15343#endif
15344
15345    return(test_ret);
15346}
15347
15348
15349static int
15350test_xmlSubstituteEntitiesDefault(void) {
15351    int test_ret = 0;
15352
15353    int mem_base;
15354    int ret_val;
15355    int val; /* int 0 or 1 */
15356    int n_val;
15357
15358    for (n_val = 0;n_val < gen_nb_int;n_val++) {
15359        mem_base = xmlMemBlocks();
15360        val = gen_int(n_val, 0);
15361
15362        ret_val = xmlSubstituteEntitiesDefault(val);
15363        desret_int(ret_val);
15364        call_tests++;
15365        des_int(n_val, val, 0);
15366        xmlResetLastError();
15367        if (mem_base != xmlMemBlocks()) {
15368            printf("Leak of %d blocks found in xmlSubstituteEntitiesDefault",
15369	           xmlMemBlocks() - mem_base);
15370	    test_ret++;
15371            printf(" %d", n_val);
15372            printf("\n");
15373        }
15374    }
15375    function_tests++;
15376
15377    return(test_ret);
15378}
15379
15380static int
15381test_parser(void) {
15382    int test_ret = 0;
15383
15384    if (quiet == 0) printf("Testing parser : 61 of 70 functions ...\n");
15385    test_ret += test_xmlByteConsumed();
15386    test_ret += test_xmlClearNodeInfoSeq();
15387    test_ret += test_xmlClearParserCtxt();
15388    test_ret += test_xmlCreateDocParserCtxt();
15389    test_ret += test_xmlCreatePushParserCtxt();
15390    test_ret += test_xmlCtxtReadDoc();
15391    test_ret += test_xmlCtxtReadFile();
15392    test_ret += test_xmlCtxtReadMemory();
15393    test_ret += test_xmlCtxtReset();
15394    test_ret += test_xmlCtxtResetPush();
15395    test_ret += test_xmlCtxtUseOptions();
15396    test_ret += test_xmlGetExternalEntityLoader();
15397    test_ret += test_xmlGetFeature();
15398    test_ret += test_xmlGetFeaturesList();
15399    test_ret += test_xmlHasFeature();
15400    test_ret += test_xmlIOParseDTD();
15401    test_ret += test_xmlInitNodeInfoSeq();
15402    test_ret += test_xmlInitParser();
15403    test_ret += test_xmlInitParserCtxt();
15404    test_ret += test_xmlKeepBlanksDefault();
15405    test_ret += test_xmlLineNumbersDefault();
15406    test_ret += test_xmlLoadExternalEntity();
15407    test_ret += test_xmlNewIOInputStream();
15408    test_ret += test_xmlNewParserCtxt();
15409    test_ret += test_xmlParseBalancedChunkMemory();
15410    test_ret += test_xmlParseBalancedChunkMemoryRecover();
15411    test_ret += test_xmlParseChunk();
15412    test_ret += test_xmlParseCtxtExternalEntity();
15413    test_ret += test_xmlParseDTD();
15414    test_ret += test_xmlParseDoc();
15415    test_ret += test_xmlParseDocument();
15416    test_ret += test_xmlParseEntity();
15417    test_ret += test_xmlParseExtParsedEnt();
15418    test_ret += test_xmlParseExternalEntity();
15419    test_ret += test_xmlParseFile();
15420    test_ret += test_xmlParseInNodeContext();
15421    test_ret += test_xmlParseMemory();
15422    test_ret += test_xmlParserAddNodeInfo();
15423    test_ret += test_xmlParserFindNodeInfo();
15424    test_ret += test_xmlParserFindNodeInfoIndex();
15425    test_ret += test_xmlParserInputGrow();
15426    test_ret += test_xmlParserInputRead();
15427    test_ret += test_xmlPedanticParserDefault();
15428    test_ret += test_xmlReadDoc();
15429    test_ret += test_xmlReadFile();
15430    test_ret += test_xmlReadMemory();
15431    test_ret += test_xmlRecoverDoc();
15432    test_ret += test_xmlRecoverFile();
15433    test_ret += test_xmlRecoverMemory();
15434    test_ret += test_xmlSAXParseDTD();
15435    test_ret += test_xmlSAXParseDoc();
15436    test_ret += test_xmlSAXParseEntity();
15437    test_ret += test_xmlSAXParseFile();
15438    test_ret += test_xmlSAXParseFileWithData();
15439    test_ret += test_xmlSAXParseMemory();
15440    test_ret += test_xmlSAXParseMemoryWithData();
15441    test_ret += test_xmlSAXUserParseFile();
15442    test_ret += test_xmlSAXUserParseMemory();
15443    test_ret += test_xmlSetExternalEntityLoader();
15444    test_ret += test_xmlSetFeature();
15445    test_ret += test_xmlSetupParserForBuffer();
15446    test_ret += test_xmlStopParser();
15447    test_ret += test_xmlSubstituteEntitiesDefault();
15448
15449    if (test_ret != 0)
15450	printf("Module parser: %d errors\n", test_ret);
15451    return(test_ret);
15452}
15453
15454static int
15455test_htmlCreateFileParserCtxt(void) {
15456    int test_ret = 0;
15457
15458#if defined(LIBXML_HTML_ENABLED)
15459    int mem_base;
15460    htmlParserCtxtPtr ret_val;
15461    const char * filename; /* the filename */
15462    int n_filename;
15463    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
15464    int n_encoding;
15465
15466    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
15467    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
15468        mem_base = xmlMemBlocks();
15469        filename = gen_fileoutput(n_filename, 0);
15470        encoding = gen_const_char_ptr(n_encoding, 1);
15471
15472        ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
15473        desret_htmlParserCtxtPtr(ret_val);
15474        call_tests++;
15475        des_fileoutput(n_filename, filename, 0);
15476        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
15477        xmlResetLastError();
15478        if (mem_base != xmlMemBlocks()) {
15479            printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
15480	           xmlMemBlocks() - mem_base);
15481	    test_ret++;
15482            printf(" %d", n_filename);
15483            printf(" %d", n_encoding);
15484            printf("\n");
15485        }
15486    }
15487    }
15488    function_tests++;
15489#endif
15490
15491    return(test_ret);
15492}
15493
15494
15495static int
15496test_htmlInitAutoClose(void) {
15497    int test_ret = 0;
15498
15499#if defined(LIBXML_HTML_ENABLED)
15500    int mem_base;
15501
15502        mem_base = xmlMemBlocks();
15503
15504        htmlInitAutoClose();
15505        call_tests++;
15506        xmlResetLastError();
15507        if (mem_base != xmlMemBlocks()) {
15508            printf("Leak of %d blocks found in htmlInitAutoClose",
15509	           xmlMemBlocks() - mem_base);
15510	    test_ret++;
15511            printf("\n");
15512        }
15513    function_tests++;
15514#endif
15515
15516    return(test_ret);
15517}
15518
15519
15520static int
15521test_inputPop(void) {
15522    int test_ret = 0;
15523
15524    int mem_base;
15525    xmlParserInputPtr ret_val;
15526    xmlParserCtxtPtr ctxt; /* an XML parser context */
15527    int n_ctxt;
15528
15529    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15530        mem_base = xmlMemBlocks();
15531        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15532
15533        ret_val = inputPop(ctxt);
15534        desret_xmlParserInputPtr(ret_val);
15535        call_tests++;
15536        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15537        xmlResetLastError();
15538        if (mem_base != xmlMemBlocks()) {
15539            printf("Leak of %d blocks found in inputPop",
15540	           xmlMemBlocks() - mem_base);
15541	    test_ret++;
15542            printf(" %d", n_ctxt);
15543            printf("\n");
15544        }
15545    }
15546    function_tests++;
15547
15548    return(test_ret);
15549}
15550
15551
15552static int
15553test_inputPush(void) {
15554    int test_ret = 0;
15555
15556    int mem_base;
15557    int ret_val;
15558    xmlParserCtxtPtr ctxt; /* an XML parser context */
15559    int n_ctxt;
15560    xmlParserInputPtr value; /* the parser input */
15561    int n_value;
15562
15563    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15564    for (n_value = 0;n_value < gen_nb_xmlParserInputPtr;n_value++) {
15565        mem_base = xmlMemBlocks();
15566        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15567        value = gen_xmlParserInputPtr(n_value, 1);
15568
15569        ret_val = inputPush(ctxt, value);
15570        desret_int(ret_val);
15571        call_tests++;
15572        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15573        des_xmlParserInputPtr(n_value, value, 1);
15574        xmlResetLastError();
15575        if (mem_base != xmlMemBlocks()) {
15576            printf("Leak of %d blocks found in inputPush",
15577	           xmlMemBlocks() - mem_base);
15578	    test_ret++;
15579            printf(" %d", n_ctxt);
15580            printf(" %d", n_value);
15581            printf("\n");
15582        }
15583    }
15584    }
15585    function_tests++;
15586
15587    return(test_ret);
15588}
15589
15590
15591static int
15592test_namePop(void) {
15593    int test_ret = 0;
15594
15595    int mem_base;
15596    const xmlChar * ret_val;
15597    xmlParserCtxtPtr ctxt; /* an XML parser context */
15598    int n_ctxt;
15599
15600    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15601        mem_base = xmlMemBlocks();
15602        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15603
15604        ret_val = namePop(ctxt);
15605        desret_const_xmlChar_ptr(ret_val);
15606        call_tests++;
15607        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15608        xmlResetLastError();
15609        if (mem_base != xmlMemBlocks()) {
15610            printf("Leak of %d blocks found in namePop",
15611	           xmlMemBlocks() - mem_base);
15612	    test_ret++;
15613            printf(" %d", n_ctxt);
15614            printf("\n");
15615        }
15616    }
15617    function_tests++;
15618
15619    return(test_ret);
15620}
15621
15622
15623static int
15624test_namePush(void) {
15625    int test_ret = 0;
15626
15627    int mem_base;
15628    int ret_val;
15629    xmlParserCtxtPtr ctxt; /* an XML parser context */
15630    int n_ctxt;
15631    xmlChar * value; /* the element name */
15632    int n_value;
15633
15634    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15635    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
15636        mem_base = xmlMemBlocks();
15637        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15638        value = gen_const_xmlChar_ptr(n_value, 1);
15639
15640        ret_val = namePush(ctxt, (const xmlChar *)value);
15641        desret_int(ret_val);
15642        call_tests++;
15643        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15644        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
15645        xmlResetLastError();
15646        if (mem_base != xmlMemBlocks()) {
15647            printf("Leak of %d blocks found in namePush",
15648	           xmlMemBlocks() - mem_base);
15649	    test_ret++;
15650            printf(" %d", n_ctxt);
15651            printf(" %d", n_value);
15652            printf("\n");
15653        }
15654    }
15655    }
15656    function_tests++;
15657
15658    return(test_ret);
15659}
15660
15661
15662static int
15663test_nodePop(void) {
15664    int test_ret = 0;
15665
15666    int mem_base;
15667    xmlNodePtr ret_val;
15668    xmlParserCtxtPtr ctxt; /* an XML parser context */
15669    int n_ctxt;
15670
15671    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15672        mem_base = xmlMemBlocks();
15673        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15674
15675        ret_val = nodePop(ctxt);
15676        desret_xmlNodePtr(ret_val);
15677        call_tests++;
15678        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15679        xmlResetLastError();
15680        if (mem_base != xmlMemBlocks()) {
15681            printf("Leak of %d blocks found in nodePop",
15682	           xmlMemBlocks() - mem_base);
15683	    test_ret++;
15684            printf(" %d", n_ctxt);
15685            printf("\n");
15686        }
15687    }
15688    function_tests++;
15689
15690    return(test_ret);
15691}
15692
15693
15694static int
15695test_nodePush(void) {
15696    int test_ret = 0;
15697
15698    int mem_base;
15699    int ret_val;
15700    xmlParserCtxtPtr ctxt; /* an XML parser context */
15701    int n_ctxt;
15702    xmlNodePtr value; /* the element node */
15703    int n_value;
15704
15705    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
15706    for (n_value = 0;n_value < gen_nb_xmlNodePtr;n_value++) {
15707        mem_base = xmlMemBlocks();
15708        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
15709        value = gen_xmlNodePtr(n_value, 1);
15710
15711        ret_val = nodePush(ctxt, value);
15712        desret_int(ret_val);
15713        call_tests++;
15714        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
15715        des_xmlNodePtr(n_value, value, 1);
15716        xmlResetLastError();
15717        if (mem_base != xmlMemBlocks()) {
15718            printf("Leak of %d blocks found in nodePush",
15719	           xmlMemBlocks() - mem_base);
15720	    test_ret++;
15721            printf(" %d", n_ctxt);
15722            printf(" %d", n_value);
15723            printf("\n");
15724        }
15725    }
15726    }
15727    function_tests++;
15728
15729    return(test_ret);
15730}
15731
15732
15733static int
15734test_xmlCheckLanguageID(void) {
15735    int test_ret = 0;
15736
15737    int mem_base;
15738    int ret_val;
15739    xmlChar * lang; /* pointer to the string value */
15740    int n_lang;
15741
15742    for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
15743        mem_base = xmlMemBlocks();
15744        lang = gen_const_xmlChar_ptr(n_lang, 0);
15745
15746        ret_val = xmlCheckLanguageID((const xmlChar *)lang);
15747        desret_int(ret_val);
15748        call_tests++;
15749        des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 0);
15750        xmlResetLastError();
15751        if (mem_base != xmlMemBlocks()) {
15752            printf("Leak of %d blocks found in xmlCheckLanguageID",
15753	           xmlMemBlocks() - mem_base);
15754	    test_ret++;
15755            printf(" %d", n_lang);
15756            printf("\n");
15757        }
15758    }
15759    function_tests++;
15760
15761    return(test_ret);
15762}
15763
15764
15765static int
15766test_xmlCopyChar(void) {
15767    int test_ret = 0;
15768
15769    int mem_base;
15770    int ret_val;
15771    int len; /* Ignored, compatibility */
15772    int n_len;
15773    xmlChar * out; /* pointer to an array of xmlChar */
15774    int n_out;
15775    int val; /* the char value */
15776    int n_val;
15777
15778    for (n_len = 0;n_len < gen_nb_int;n_len++) {
15779    for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
15780    for (n_val = 0;n_val < gen_nb_int;n_val++) {
15781        mem_base = xmlMemBlocks();
15782        len = gen_int(n_len, 0);
15783        out = gen_xmlChar_ptr(n_out, 1);
15784        val = gen_int(n_val, 2);
15785
15786        ret_val = xmlCopyChar(len, out, val);
15787        desret_int(ret_val);
15788        call_tests++;
15789        des_int(n_len, len, 0);
15790        des_xmlChar_ptr(n_out, out, 1);
15791        des_int(n_val, val, 2);
15792        xmlResetLastError();
15793        if (mem_base != xmlMemBlocks()) {
15794            printf("Leak of %d blocks found in xmlCopyChar",
15795	           xmlMemBlocks() - mem_base);
15796	    test_ret++;
15797            printf(" %d", n_len);
15798            printf(" %d", n_out);
15799            printf(" %d", n_val);
15800            printf("\n");
15801        }
15802    }
15803    }
15804    }
15805    function_tests++;
15806
15807    return(test_ret);
15808}
15809
15810
15811static int
15812test_xmlCopyCharMultiByte(void) {
15813    int test_ret = 0;
15814
15815    int mem_base;
15816    int ret_val;
15817    xmlChar * out; /* pointer to an array of xmlChar */
15818    int n_out;
15819    int val; /* the char value */
15820    int n_val;
15821
15822    for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
15823    for (n_val = 0;n_val < gen_nb_int;n_val++) {
15824        mem_base = xmlMemBlocks();
15825        out = gen_xmlChar_ptr(n_out, 0);
15826        val = gen_int(n_val, 1);
15827
15828        ret_val = xmlCopyCharMultiByte(out, val);
15829        desret_int(ret_val);
15830        call_tests++;
15831        des_xmlChar_ptr(n_out, out, 0);
15832        des_int(n_val, val, 1);
15833        xmlResetLastError();
15834        if (mem_base != xmlMemBlocks()) {
15835            printf("Leak of %d blocks found in xmlCopyCharMultiByte",
15836	           xmlMemBlocks() - mem_base);
15837	    test_ret++;
15838            printf(" %d", n_out);
15839            printf(" %d", n_val);
15840            printf("\n");
15841        }
15842    }
15843    }
15844    function_tests++;
15845
15846    return(test_ret);
15847}
15848
15849
15850static int
15851test_xmlCreateEntityParserCtxt(void) {
15852    int test_ret = 0;
15853
15854    int mem_base;
15855    xmlParserCtxtPtr ret_val;
15856    xmlChar * URL; /* the entity URL */
15857    int n_URL;
15858    xmlChar * ID; /* the entity PUBLIC ID */
15859    int n_ID;
15860    xmlChar * base; /* a possible base for the target URI */
15861    int n_base;
15862
15863    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
15864    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
15865    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
15866        mem_base = xmlMemBlocks();
15867        URL = gen_const_xmlChar_ptr(n_URL, 0);
15868        ID = gen_const_xmlChar_ptr(n_ID, 1);
15869        base = gen_const_xmlChar_ptr(n_base, 2);
15870
15871        ret_val = xmlCreateEntityParserCtxt((const xmlChar *)URL, (const xmlChar *)ID, (const xmlChar *)base);
15872        desret_xmlParserCtxtPtr(ret_val);
15873        call_tests++;
15874        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 0);
15875        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
15876        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 2);
15877        xmlResetLastError();
15878        if (mem_base != xmlMemBlocks()) {
15879            printf("Leak of %d blocks found in xmlCreateEntityParserCtxt",
15880	           xmlMemBlocks() - mem_base);
15881	    test_ret++;
15882            printf(" %d", n_URL);
15883            printf(" %d", n_ID);
15884            printf(" %d", n_base);
15885            printf("\n");
15886        }
15887    }
15888    }
15889    }
15890    function_tests++;
15891
15892    return(test_ret);
15893}
15894
15895
15896static int
15897test_xmlCreateFileParserCtxt(void) {
15898    int test_ret = 0;
15899
15900    int mem_base;
15901    xmlParserCtxtPtr ret_val;
15902    const char * filename; /* the filename */
15903    int n_filename;
15904
15905    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
15906        mem_base = xmlMemBlocks();
15907        filename = gen_fileoutput(n_filename, 0);
15908
15909        ret_val = xmlCreateFileParserCtxt(filename);
15910        desret_xmlParserCtxtPtr(ret_val);
15911        call_tests++;
15912        des_fileoutput(n_filename, filename, 0);
15913        xmlResetLastError();
15914        if (mem_base != xmlMemBlocks()) {
15915            printf("Leak of %d blocks found in xmlCreateFileParserCtxt",
15916	           xmlMemBlocks() - mem_base);
15917	    test_ret++;
15918            printf(" %d", n_filename);
15919            printf("\n");
15920        }
15921    }
15922    function_tests++;
15923
15924    return(test_ret);
15925}
15926
15927
15928static int
15929test_xmlCreateMemoryParserCtxt(void) {
15930    int test_ret = 0;
15931
15932    int mem_base;
15933    xmlParserCtxtPtr ret_val;
15934    char * buffer; /* a pointer to a char array */
15935    int n_buffer;
15936    int size; /* the size of the array */
15937    int n_size;
15938
15939    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
15940    for (n_size = 0;n_size < gen_nb_int;n_size++) {
15941        mem_base = xmlMemBlocks();
15942        buffer = gen_const_char_ptr(n_buffer, 0);
15943        size = gen_int(n_size, 1);
15944
15945        ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
15946        desret_xmlParserCtxtPtr(ret_val);
15947        call_tests++;
15948        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
15949        des_int(n_size, size, 1);
15950        xmlResetLastError();
15951        if (mem_base != xmlMemBlocks()) {
15952            printf("Leak of %d blocks found in xmlCreateMemoryParserCtxt",
15953	           xmlMemBlocks() - mem_base);
15954	    test_ret++;
15955            printf(" %d", n_buffer);
15956            printf(" %d", n_size);
15957            printf("\n");
15958        }
15959    }
15960    }
15961    function_tests++;
15962
15963    return(test_ret);
15964}
15965
15966
15967static int
15968test_xmlCreateURLParserCtxt(void) {
15969    int test_ret = 0;
15970
15971    int mem_base;
15972    xmlParserCtxtPtr ret_val;
15973    const char * filename; /* the filename or URL */
15974    int n_filename;
15975    int options; /* a combination of xmlParserOption */
15976    int n_options;
15977
15978    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
15979    for (n_options = 0;n_options < gen_nb_int;n_options++) {
15980        mem_base = xmlMemBlocks();
15981        filename = gen_fileoutput(n_filename, 0);
15982        options = gen_int(n_options, 1);
15983
15984        ret_val = xmlCreateURLParserCtxt(filename, options);
15985        desret_xmlParserCtxtPtr(ret_val);
15986        call_tests++;
15987        des_fileoutput(n_filename, filename, 0);
15988        des_int(n_options, options, 1);
15989        xmlResetLastError();
15990        if (mem_base != xmlMemBlocks()) {
15991            printf("Leak of %d blocks found in xmlCreateURLParserCtxt",
15992	           xmlMemBlocks() - mem_base);
15993	    test_ret++;
15994            printf(" %d", n_filename);
15995            printf(" %d", n_options);
15996            printf("\n");
15997        }
15998    }
15999    }
16000    function_tests++;
16001
16002    return(test_ret);
16003}
16004
16005
16006static int
16007test_xmlCurrentChar(void) {
16008    int test_ret = 0;
16009
16010    int mem_base;
16011    int ret_val;
16012    xmlParserCtxtPtr ctxt; /* the XML parser context */
16013    int n_ctxt;
16014    int * len; /* pointer to the length of the char read */
16015    int n_len;
16016
16017    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16018    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
16019        mem_base = xmlMemBlocks();
16020        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16021        len = gen_int_ptr(n_len, 1);
16022
16023        ret_val = xmlCurrentChar(ctxt, len);
16024        desret_int(ret_val);
16025        call_tests++;
16026        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16027        des_int_ptr(n_len, len, 1);
16028        xmlResetLastError();
16029        if (mem_base != xmlMemBlocks()) {
16030            printf("Leak of %d blocks found in xmlCurrentChar",
16031	           xmlMemBlocks() - mem_base);
16032	    test_ret++;
16033            printf(" %d", n_ctxt);
16034            printf(" %d", n_len);
16035            printf("\n");
16036        }
16037    }
16038    }
16039    function_tests++;
16040
16041    return(test_ret);
16042}
16043
16044
16045static int
16046test_xmlErrMemory(void) {
16047    int test_ret = 0;
16048
16049    int mem_base;
16050    xmlParserCtxtPtr ctxt; /* an XML parser context */
16051    int n_ctxt;
16052    char * extra; /* extra informations */
16053    int n_extra;
16054
16055    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16056    for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) {
16057        mem_base = xmlMemBlocks();
16058        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16059        extra = gen_const_char_ptr(n_extra, 1);
16060
16061        xmlErrMemory(ctxt, (const char *)extra);
16062        call_tests++;
16063        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16064        des_const_char_ptr(n_extra, (const char *)extra, 1);
16065        xmlResetLastError();
16066        if (mem_base != xmlMemBlocks()) {
16067            printf("Leak of %d blocks found in xmlErrMemory",
16068	           xmlMemBlocks() - mem_base);
16069	    test_ret++;
16070            printf(" %d", n_ctxt);
16071            printf(" %d", n_extra);
16072            printf("\n");
16073        }
16074    }
16075    }
16076    function_tests++;
16077
16078    return(test_ret);
16079}
16080
16081
16082static int
16083test_xmlIsLetter(void) {
16084    int test_ret = 0;
16085
16086    int mem_base;
16087    int ret_val;
16088    int c; /* an unicode character (int) */
16089    int n_c;
16090
16091    for (n_c = 0;n_c < gen_nb_int;n_c++) {
16092        mem_base = xmlMemBlocks();
16093        c = gen_int(n_c, 0);
16094
16095        ret_val = xmlIsLetter(c);
16096        desret_int(ret_val);
16097        call_tests++;
16098        des_int(n_c, c, 0);
16099        xmlResetLastError();
16100        if (mem_base != xmlMemBlocks()) {
16101            printf("Leak of %d blocks found in xmlIsLetter",
16102	           xmlMemBlocks() - mem_base);
16103	    test_ret++;
16104            printf(" %d", n_c);
16105            printf("\n");
16106        }
16107    }
16108    function_tests++;
16109
16110    return(test_ret);
16111}
16112
16113
16114static int
16115test_xmlNewEntityInputStream(void) {
16116    int test_ret = 0;
16117
16118    int mem_base;
16119    xmlParserInputPtr ret_val;
16120    xmlParserCtxtPtr ctxt; /* an XML parser context */
16121    int n_ctxt;
16122    xmlEntityPtr entity; /* an Entity pointer */
16123    int n_entity;
16124
16125    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16126    for (n_entity = 0;n_entity < gen_nb_xmlEntityPtr;n_entity++) {
16127        mem_base = xmlMemBlocks();
16128        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16129        entity = gen_xmlEntityPtr(n_entity, 1);
16130
16131        ret_val = xmlNewEntityInputStream(ctxt, entity);
16132        desret_xmlParserInputPtr(ret_val);
16133        call_tests++;
16134        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16135        des_xmlEntityPtr(n_entity, entity, 1);
16136        xmlResetLastError();
16137        if (mem_base != xmlMemBlocks()) {
16138            printf("Leak of %d blocks found in xmlNewEntityInputStream",
16139	           xmlMemBlocks() - mem_base);
16140	    test_ret++;
16141            printf(" %d", n_ctxt);
16142            printf(" %d", n_entity);
16143            printf("\n");
16144        }
16145    }
16146    }
16147    function_tests++;
16148
16149    return(test_ret);
16150}
16151
16152
16153static int
16154test_xmlNewInputFromFile(void) {
16155    int test_ret = 0;
16156
16157    int mem_base;
16158    xmlParserInputPtr ret_val;
16159    xmlParserCtxtPtr ctxt; /* an XML parser context */
16160    int n_ctxt;
16161    const char * filename; /* the filename to use as entity */
16162    int n_filename;
16163
16164    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16165    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
16166        mem_base = xmlMemBlocks();
16167        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16168        filename = gen_filepath(n_filename, 1);
16169
16170        ret_val = xmlNewInputFromFile(ctxt, filename);
16171        desret_xmlParserInputPtr(ret_val);
16172        call_tests++;
16173        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16174        des_filepath(n_filename, filename, 1);
16175        xmlResetLastError();
16176        if (mem_base != xmlMemBlocks()) {
16177            printf("Leak of %d blocks found in xmlNewInputFromFile",
16178	           xmlMemBlocks() - mem_base);
16179	    test_ret++;
16180            printf(" %d", n_ctxt);
16181            printf(" %d", n_filename);
16182            printf("\n");
16183        }
16184    }
16185    }
16186    function_tests++;
16187
16188    return(test_ret);
16189}
16190
16191
16192static int
16193test_xmlNewInputStream(void) {
16194    int test_ret = 0;
16195
16196    int mem_base;
16197    xmlParserInputPtr ret_val;
16198    xmlParserCtxtPtr ctxt; /* an XML parser context */
16199    int n_ctxt;
16200
16201    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16202        mem_base = xmlMemBlocks();
16203        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16204
16205        ret_val = xmlNewInputStream(ctxt);
16206        desret_xmlParserInputPtr(ret_val);
16207        call_tests++;
16208        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16209        xmlResetLastError();
16210        if (mem_base != xmlMemBlocks()) {
16211            printf("Leak of %d blocks found in xmlNewInputStream",
16212	           xmlMemBlocks() - mem_base);
16213	    test_ret++;
16214            printf(" %d", n_ctxt);
16215            printf("\n");
16216        }
16217    }
16218    function_tests++;
16219
16220    return(test_ret);
16221}
16222
16223
16224static int
16225test_xmlNewStringInputStream(void) {
16226    int test_ret = 0;
16227
16228    int mem_base;
16229    xmlParserInputPtr ret_val;
16230    xmlParserCtxtPtr ctxt; /* an XML parser context */
16231    int n_ctxt;
16232    xmlChar * buffer; /* an memory buffer */
16233    int n_buffer;
16234
16235    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16236    for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
16237        mem_base = xmlMemBlocks();
16238        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16239        buffer = gen_const_xmlChar_ptr(n_buffer, 1);
16240
16241        ret_val = xmlNewStringInputStream(ctxt, (const xmlChar *)buffer);
16242        desret_xmlParserInputPtr(ret_val);
16243        call_tests++;
16244        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16245        des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
16246        xmlResetLastError();
16247        if (mem_base != xmlMemBlocks()) {
16248            printf("Leak of %d blocks found in xmlNewStringInputStream",
16249	           xmlMemBlocks() - mem_base);
16250	    test_ret++;
16251            printf(" %d", n_ctxt);
16252            printf(" %d", n_buffer);
16253            printf("\n");
16254        }
16255    }
16256    }
16257    function_tests++;
16258
16259    return(test_ret);
16260}
16261
16262
16263static int
16264test_xmlNextChar(void) {
16265    int test_ret = 0;
16266
16267    int mem_base;
16268    xmlParserCtxtPtr ctxt; /* the XML parser context */
16269    int n_ctxt;
16270
16271    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16272        mem_base = xmlMemBlocks();
16273        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16274
16275        xmlNextChar(ctxt);
16276        call_tests++;
16277        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16278        xmlResetLastError();
16279        if (mem_base != xmlMemBlocks()) {
16280            printf("Leak of %d blocks found in xmlNextChar",
16281	           xmlMemBlocks() - mem_base);
16282	    test_ret++;
16283            printf(" %d", n_ctxt);
16284            printf("\n");
16285        }
16286    }
16287    function_tests++;
16288
16289    return(test_ret);
16290}
16291
16292
16293static int
16294test_xmlParserInputShrink(void) {
16295    int test_ret = 0;
16296
16297    int mem_base;
16298    xmlParserInputPtr in; /* an XML parser input */
16299    int n_in;
16300
16301    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
16302        mem_base = xmlMemBlocks();
16303        in = gen_xmlParserInputPtr(n_in, 0);
16304
16305        xmlParserInputShrink(in);
16306        call_tests++;
16307        des_xmlParserInputPtr(n_in, in, 0);
16308        xmlResetLastError();
16309        if (mem_base != xmlMemBlocks()) {
16310            printf("Leak of %d blocks found in xmlParserInputShrink",
16311	           xmlMemBlocks() - mem_base);
16312	    test_ret++;
16313            printf(" %d", n_in);
16314            printf("\n");
16315        }
16316    }
16317    function_tests++;
16318
16319    return(test_ret);
16320}
16321
16322
16323static int
16324test_xmlPopInput(void) {
16325    int test_ret = 0;
16326
16327    int mem_base;
16328    xmlChar ret_val;
16329    xmlParserCtxtPtr ctxt; /* an XML parser context */
16330    int n_ctxt;
16331
16332    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16333        mem_base = xmlMemBlocks();
16334        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16335
16336        ret_val = xmlPopInput(ctxt);
16337        desret_xmlChar(ret_val);
16338        call_tests++;
16339        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16340        xmlResetLastError();
16341        if (mem_base != xmlMemBlocks()) {
16342            printf("Leak of %d blocks found in xmlPopInput",
16343	           xmlMemBlocks() - mem_base);
16344	    test_ret++;
16345            printf(" %d", n_ctxt);
16346            printf("\n");
16347        }
16348    }
16349    function_tests++;
16350
16351    return(test_ret);
16352}
16353
16354
16355static int
16356test_xmlPushInput(void) {
16357    int test_ret = 0;
16358
16359    int mem_base;
16360    int ret_val;
16361    xmlParserCtxtPtr ctxt; /* an XML parser context */
16362    int n_ctxt;
16363    xmlParserInputPtr input; /* an XML parser input fragment (entity, XML fragment ...). */
16364    int n_input;
16365
16366    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16367    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
16368        mem_base = xmlMemBlocks();
16369        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16370        input = gen_xmlParserInputPtr(n_input, 1);
16371
16372        ret_val = xmlPushInput(ctxt, input);
16373        desret_int(ret_val);
16374        call_tests++;
16375        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16376        des_xmlParserInputPtr(n_input, input, 1);
16377        xmlResetLastError();
16378        if (mem_base != xmlMemBlocks()) {
16379            printf("Leak of %d blocks found in xmlPushInput",
16380	           xmlMemBlocks() - mem_base);
16381	    test_ret++;
16382            printf(" %d", n_ctxt);
16383            printf(" %d", n_input);
16384            printf("\n");
16385        }
16386    }
16387    }
16388    function_tests++;
16389
16390    return(test_ret);
16391}
16392
16393
16394static int
16395test_xmlSetEntityReferenceFunc(void) {
16396    int test_ret = 0;
16397
16398
16399    /* missing type support */
16400    return(test_ret);
16401}
16402
16403
16404static int
16405test_xmlSplitQName(void) {
16406    int test_ret = 0;
16407
16408    int mem_base;
16409    xmlChar * ret_val;
16410    xmlParserCtxtPtr ctxt; /* an XML parser context */
16411    int n_ctxt;
16412    xmlChar * name; /* an XML parser context */
16413    int n_name;
16414    xmlChar ** prefix; /* a xmlChar ** */
16415    int n_prefix;
16416
16417    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16418    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
16419    for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
16420        mem_base = xmlMemBlocks();
16421        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16422        name = gen_const_xmlChar_ptr(n_name, 1);
16423        prefix = gen_xmlChar_ptr_ptr(n_prefix, 2);
16424
16425        ret_val = xmlSplitQName(ctxt, (const xmlChar *)name, prefix);
16426        desret_xmlChar_ptr(ret_val);
16427        call_tests++;
16428        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16429        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
16430        des_xmlChar_ptr_ptr(n_prefix, prefix, 2);
16431        xmlResetLastError();
16432        if (mem_base != xmlMemBlocks()) {
16433            printf("Leak of %d blocks found in xmlSplitQName",
16434	           xmlMemBlocks() - mem_base);
16435	    test_ret++;
16436            printf(" %d", n_ctxt);
16437            printf(" %d", n_name);
16438            printf(" %d", n_prefix);
16439            printf("\n");
16440        }
16441    }
16442    }
16443    }
16444    function_tests++;
16445
16446    return(test_ret);
16447}
16448
16449
16450static int
16451test_xmlStringCurrentChar(void) {
16452    int test_ret = 0;
16453
16454    int mem_base;
16455    int ret_val;
16456    xmlParserCtxtPtr ctxt; /* the XML parser context */
16457    int n_ctxt;
16458    xmlChar * cur; /* pointer to the beginning of the char */
16459    int n_cur;
16460    int * len; /* pointer to the length of the char read */
16461    int n_len;
16462
16463    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16464    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
16465    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
16466        mem_base = xmlMemBlocks();
16467        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16468        cur = gen_const_xmlChar_ptr(n_cur, 1);
16469        len = gen_int_ptr(n_len, 2);
16470
16471        ret_val = xmlStringCurrentChar(ctxt, (const xmlChar *)cur, len);
16472        desret_int(ret_val);
16473        call_tests++;
16474        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16475        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
16476        des_int_ptr(n_len, len, 2);
16477        xmlResetLastError();
16478        if (mem_base != xmlMemBlocks()) {
16479            printf("Leak of %d blocks found in xmlStringCurrentChar",
16480	           xmlMemBlocks() - mem_base);
16481	    test_ret++;
16482            printf(" %d", n_ctxt);
16483            printf(" %d", n_cur);
16484            printf(" %d", n_len);
16485            printf("\n");
16486        }
16487    }
16488    }
16489    }
16490    function_tests++;
16491
16492    return(test_ret);
16493}
16494
16495
16496static int
16497test_xmlStringDecodeEntities(void) {
16498    int test_ret = 0;
16499
16500    int mem_base;
16501    xmlChar * ret_val;
16502    xmlParserCtxtPtr ctxt; /* the parser context */
16503    int n_ctxt;
16504    xmlChar * str; /* the input string */
16505    int n_str;
16506    int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
16507    int n_what;
16508    xmlChar end; /* an end marker xmlChar, 0 if none */
16509    int n_end;
16510    xmlChar end2; /* an end marker xmlChar, 0 if none */
16511    int n_end2;
16512    xmlChar end3; /* an end marker xmlChar, 0 if none */
16513    int n_end3;
16514
16515    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16516    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
16517    for (n_what = 0;n_what < gen_nb_int;n_what++) {
16518    for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
16519    for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
16520    for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
16521        mem_base = xmlMemBlocks();
16522        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16523        str = gen_const_xmlChar_ptr(n_str, 1);
16524        what = gen_int(n_what, 2);
16525        end = gen_xmlChar(n_end, 3);
16526        end2 = gen_xmlChar(n_end2, 4);
16527        end3 = gen_xmlChar(n_end3, 5);
16528
16529        ret_val = xmlStringDecodeEntities(ctxt, (const xmlChar *)str, what, end, end2, end3);
16530        desret_xmlChar_ptr(ret_val);
16531        call_tests++;
16532        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16533        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
16534        des_int(n_what, what, 2);
16535        des_xmlChar(n_end, end, 3);
16536        des_xmlChar(n_end2, end2, 4);
16537        des_xmlChar(n_end3, end3, 5);
16538        xmlResetLastError();
16539        if (mem_base != xmlMemBlocks()) {
16540            printf("Leak of %d blocks found in xmlStringDecodeEntities",
16541	           xmlMemBlocks() - mem_base);
16542	    test_ret++;
16543            printf(" %d", n_ctxt);
16544            printf(" %d", n_str);
16545            printf(" %d", n_what);
16546            printf(" %d", n_end);
16547            printf(" %d", n_end2);
16548            printf(" %d", n_end3);
16549            printf("\n");
16550        }
16551    }
16552    }
16553    }
16554    }
16555    }
16556    }
16557    function_tests++;
16558
16559    return(test_ret);
16560}
16561
16562
16563static int
16564test_xmlStringLenDecodeEntities(void) {
16565    int test_ret = 0;
16566
16567    int mem_base;
16568    xmlChar * ret_val;
16569    xmlParserCtxtPtr ctxt; /* the parser context */
16570    int n_ctxt;
16571    xmlChar * str; /* the input string */
16572    int n_str;
16573    int len; /* the string length */
16574    int n_len;
16575    int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
16576    int n_what;
16577    xmlChar end; /* an end marker xmlChar, 0 if none */
16578    int n_end;
16579    xmlChar end2; /* an end marker xmlChar, 0 if none */
16580    int n_end2;
16581    xmlChar end3; /* an end marker xmlChar, 0 if none */
16582    int n_end3;
16583
16584    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16585    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
16586    for (n_len = 0;n_len < gen_nb_int;n_len++) {
16587    for (n_what = 0;n_what < gen_nb_int;n_what++) {
16588    for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
16589    for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
16590    for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
16591        mem_base = xmlMemBlocks();
16592        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16593        str = gen_const_xmlChar_ptr(n_str, 1);
16594        len = gen_int(n_len, 2);
16595        what = gen_int(n_what, 3);
16596        end = gen_xmlChar(n_end, 4);
16597        end2 = gen_xmlChar(n_end2, 5);
16598        end3 = gen_xmlChar(n_end3, 6);
16599
16600        ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
16601        desret_xmlChar_ptr(ret_val);
16602        call_tests++;
16603        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16604        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
16605        des_int(n_len, len, 2);
16606        des_int(n_what, what, 3);
16607        des_xmlChar(n_end, end, 4);
16608        des_xmlChar(n_end2, end2, 5);
16609        des_xmlChar(n_end3, end3, 6);
16610        xmlResetLastError();
16611        if (mem_base != xmlMemBlocks()) {
16612            printf("Leak of %d blocks found in xmlStringLenDecodeEntities",
16613	           xmlMemBlocks() - mem_base);
16614	    test_ret++;
16615            printf(" %d", n_ctxt);
16616            printf(" %d", n_str);
16617            printf(" %d", n_len);
16618            printf(" %d", n_what);
16619            printf(" %d", n_end);
16620            printf(" %d", n_end2);
16621            printf(" %d", n_end3);
16622            printf("\n");
16623        }
16624    }
16625    }
16626    }
16627    }
16628    }
16629    }
16630    }
16631    function_tests++;
16632
16633    return(test_ret);
16634}
16635
16636
16637static int
16638test_xmlSwitchEncoding(void) {
16639    int test_ret = 0;
16640
16641    int mem_base;
16642    int ret_val;
16643    xmlParserCtxtPtr ctxt; /* the parser context */
16644    int n_ctxt;
16645    xmlCharEncoding enc; /* the encoding value (number) */
16646    int n_enc;
16647
16648    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16649    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
16650        mem_base = xmlMemBlocks();
16651        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16652        enc = gen_xmlCharEncoding(n_enc, 1);
16653
16654        ret_val = xmlSwitchEncoding(ctxt, enc);
16655        desret_int(ret_val);
16656        call_tests++;
16657        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16658        des_xmlCharEncoding(n_enc, enc, 1);
16659        xmlResetLastError();
16660        if (mem_base != xmlMemBlocks()) {
16661            printf("Leak of %d blocks found in xmlSwitchEncoding",
16662	           xmlMemBlocks() - mem_base);
16663	    test_ret++;
16664            printf(" %d", n_ctxt);
16665            printf(" %d", n_enc);
16666            printf("\n");
16667        }
16668    }
16669    }
16670    function_tests++;
16671
16672    return(test_ret);
16673}
16674
16675
16676static int
16677test_xmlSwitchInputEncoding(void) {
16678    int test_ret = 0;
16679
16680    int mem_base;
16681    int ret_val;
16682    xmlParserCtxtPtr ctxt; /* the parser context */
16683    int n_ctxt;
16684    xmlParserInputPtr input; /* the input stream */
16685    int n_input;
16686    xmlCharEncodingHandlerPtr handler; /* the encoding handler */
16687    int n_handler;
16688
16689    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16690    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
16691    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
16692        mem_base = xmlMemBlocks();
16693        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16694        input = gen_xmlParserInputPtr(n_input, 1);
16695        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 2);
16696
16697        ret_val = xmlSwitchInputEncoding(ctxt, input, handler);
16698        desret_int(ret_val);
16699        call_tests++;
16700        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16701        des_xmlParserInputPtr(n_input, input, 1);
16702        des_xmlCharEncodingHandlerPtr(n_handler, handler, 2);
16703        xmlResetLastError();
16704        if (mem_base != xmlMemBlocks()) {
16705            printf("Leak of %d blocks found in xmlSwitchInputEncoding",
16706	           xmlMemBlocks() - mem_base);
16707	    test_ret++;
16708            printf(" %d", n_ctxt);
16709            printf(" %d", n_input);
16710            printf(" %d", n_handler);
16711            printf("\n");
16712        }
16713    }
16714    }
16715    }
16716    function_tests++;
16717
16718    return(test_ret);
16719}
16720
16721
16722static int
16723test_xmlSwitchToEncoding(void) {
16724    int test_ret = 0;
16725
16726    int mem_base;
16727    int ret_val;
16728    xmlParserCtxtPtr ctxt; /* the parser context */
16729    int n_ctxt;
16730    xmlCharEncodingHandlerPtr handler; /* the encoding handler */
16731    int n_handler;
16732
16733    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
16734    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
16735        mem_base = xmlMemBlocks();
16736        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
16737        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 1);
16738
16739        ret_val = xmlSwitchToEncoding(ctxt, handler);
16740        desret_int(ret_val);
16741        call_tests++;
16742        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
16743        des_xmlCharEncodingHandlerPtr(n_handler, handler, 1);
16744        xmlResetLastError();
16745        if (mem_base != xmlMemBlocks()) {
16746            printf("Leak of %d blocks found in xmlSwitchToEncoding",
16747	           xmlMemBlocks() - mem_base);
16748	    test_ret++;
16749            printf(" %d", n_ctxt);
16750            printf(" %d", n_handler);
16751            printf("\n");
16752        }
16753    }
16754    }
16755    function_tests++;
16756
16757    return(test_ret);
16758}
16759
16760static int
16761test_parserInternals(void) {
16762    int test_ret = 0;
16763
16764    if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n");
16765    test_ret += test_htmlCreateFileParserCtxt();
16766    test_ret += test_htmlInitAutoClose();
16767    test_ret += test_inputPop();
16768    test_ret += test_inputPush();
16769    test_ret += test_namePop();
16770    test_ret += test_namePush();
16771    test_ret += test_nodePop();
16772    test_ret += test_nodePush();
16773    test_ret += test_xmlCheckLanguageID();
16774    test_ret += test_xmlCopyChar();
16775    test_ret += test_xmlCopyCharMultiByte();
16776    test_ret += test_xmlCreateEntityParserCtxt();
16777    test_ret += test_xmlCreateFileParserCtxt();
16778    test_ret += test_xmlCreateMemoryParserCtxt();
16779    test_ret += test_xmlCreateURLParserCtxt();
16780    test_ret += test_xmlCurrentChar();
16781    test_ret += test_xmlErrMemory();
16782    test_ret += test_xmlIsLetter();
16783    test_ret += test_xmlNewEntityInputStream();
16784    test_ret += test_xmlNewInputFromFile();
16785    test_ret += test_xmlNewInputStream();
16786    test_ret += test_xmlNewStringInputStream();
16787    test_ret += test_xmlNextChar();
16788    test_ret += test_xmlParserInputShrink();
16789    test_ret += test_xmlPopInput();
16790    test_ret += test_xmlPushInput();
16791    test_ret += test_xmlSetEntityReferenceFunc();
16792    test_ret += test_xmlSplitQName();
16793    test_ret += test_xmlStringCurrentChar();
16794    test_ret += test_xmlStringDecodeEntities();
16795    test_ret += test_xmlStringLenDecodeEntities();
16796    test_ret += test_xmlSwitchEncoding();
16797    test_ret += test_xmlSwitchInputEncoding();
16798    test_ret += test_xmlSwitchToEncoding();
16799
16800    if (test_ret != 0)
16801	printf("Module parserInternals: %d errors\n", test_ret);
16802    return(test_ret);
16803}
16804
16805static int
16806test_xmlPatternFromRoot(void) {
16807    int test_ret = 0;
16808
16809#if defined(LIBXML_PATTERN_ENABLED)
16810    int mem_base;
16811    int ret_val;
16812    xmlPatternPtr comp; /* the precompiled pattern */
16813    int n_comp;
16814
16815    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
16816        mem_base = xmlMemBlocks();
16817        comp = gen_xmlPatternPtr(n_comp, 0);
16818
16819        ret_val = xmlPatternFromRoot(comp);
16820        desret_int(ret_val);
16821        call_tests++;
16822        des_xmlPatternPtr(n_comp, comp, 0);
16823        xmlResetLastError();
16824        if (mem_base != xmlMemBlocks()) {
16825            printf("Leak of %d blocks found in xmlPatternFromRoot",
16826	           xmlMemBlocks() - mem_base);
16827	    test_ret++;
16828            printf(" %d", n_comp);
16829            printf("\n");
16830        }
16831    }
16832    function_tests++;
16833#endif
16834
16835    return(test_ret);
16836}
16837
16838
16839static int
16840test_xmlPatternGetStreamCtxt(void) {
16841    int test_ret = 0;
16842
16843
16844    /* missing type support */
16845    return(test_ret);
16846}
16847
16848
16849static int
16850test_xmlPatternMatch(void) {
16851    int test_ret = 0;
16852
16853#if defined(LIBXML_PATTERN_ENABLED)
16854    int mem_base;
16855    int ret_val;
16856    xmlPatternPtr comp; /* the precompiled pattern */
16857    int n_comp;
16858    xmlNodePtr node; /* a node */
16859    int n_node;
16860
16861    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
16862    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
16863        mem_base = xmlMemBlocks();
16864        comp = gen_xmlPatternPtr(n_comp, 0);
16865        node = gen_xmlNodePtr(n_node, 1);
16866
16867        ret_val = xmlPatternMatch(comp, node);
16868        desret_int(ret_val);
16869        call_tests++;
16870        des_xmlPatternPtr(n_comp, comp, 0);
16871        des_xmlNodePtr(n_node, node, 1);
16872        xmlResetLastError();
16873        if (mem_base != xmlMemBlocks()) {
16874            printf("Leak of %d blocks found in xmlPatternMatch",
16875	           xmlMemBlocks() - mem_base);
16876	    test_ret++;
16877            printf(" %d", n_comp);
16878            printf(" %d", n_node);
16879            printf("\n");
16880        }
16881    }
16882    }
16883    function_tests++;
16884#endif
16885
16886    return(test_ret);
16887}
16888
16889
16890static int
16891test_xmlPatternMaxDepth(void) {
16892    int test_ret = 0;
16893
16894#if defined(LIBXML_PATTERN_ENABLED)
16895    int mem_base;
16896    int ret_val;
16897    xmlPatternPtr comp; /* the precompiled pattern */
16898    int n_comp;
16899
16900    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
16901        mem_base = xmlMemBlocks();
16902        comp = gen_xmlPatternPtr(n_comp, 0);
16903
16904        ret_val = xmlPatternMaxDepth(comp);
16905        desret_int(ret_val);
16906        call_tests++;
16907        des_xmlPatternPtr(n_comp, comp, 0);
16908        xmlResetLastError();
16909        if (mem_base != xmlMemBlocks()) {
16910            printf("Leak of %d blocks found in xmlPatternMaxDepth",
16911	           xmlMemBlocks() - mem_base);
16912	    test_ret++;
16913            printf(" %d", n_comp);
16914            printf("\n");
16915        }
16916    }
16917    function_tests++;
16918#endif
16919
16920    return(test_ret);
16921}
16922
16923
16924static int
16925test_xmlPatternMinDepth(void) {
16926    int test_ret = 0;
16927
16928#if defined(LIBXML_PATTERN_ENABLED)
16929    int mem_base;
16930    int ret_val;
16931    xmlPatternPtr comp; /* the precompiled pattern */
16932    int n_comp;
16933
16934    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
16935        mem_base = xmlMemBlocks();
16936        comp = gen_xmlPatternPtr(n_comp, 0);
16937
16938        ret_val = xmlPatternMinDepth(comp);
16939        desret_int(ret_val);
16940        call_tests++;
16941        des_xmlPatternPtr(n_comp, comp, 0);
16942        xmlResetLastError();
16943        if (mem_base != xmlMemBlocks()) {
16944            printf("Leak of %d blocks found in xmlPatternMinDepth",
16945	           xmlMemBlocks() - mem_base);
16946	    test_ret++;
16947            printf(" %d", n_comp);
16948            printf("\n");
16949        }
16950    }
16951    function_tests++;
16952#endif
16953
16954    return(test_ret);
16955}
16956
16957
16958static int
16959test_xmlPatternStreamable(void) {
16960    int test_ret = 0;
16961
16962#if defined(LIBXML_PATTERN_ENABLED)
16963    int mem_base;
16964    int ret_val;
16965    xmlPatternPtr comp; /* the precompiled pattern */
16966    int n_comp;
16967
16968    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
16969        mem_base = xmlMemBlocks();
16970        comp = gen_xmlPatternPtr(n_comp, 0);
16971
16972        ret_val = xmlPatternStreamable(comp);
16973        desret_int(ret_val);
16974        call_tests++;
16975        des_xmlPatternPtr(n_comp, comp, 0);
16976        xmlResetLastError();
16977        if (mem_base != xmlMemBlocks()) {
16978            printf("Leak of %d blocks found in xmlPatternStreamable",
16979	           xmlMemBlocks() - mem_base);
16980	    test_ret++;
16981            printf(" %d", n_comp);
16982            printf("\n");
16983        }
16984    }
16985    function_tests++;
16986#endif
16987
16988    return(test_ret);
16989}
16990
16991
16992static int
16993test_xmlPatterncompile(void) {
16994    int test_ret = 0;
16995
16996
16997    /* missing type support */
16998    return(test_ret);
16999}
17000
17001#ifdef LIBXML_PATTERN_ENABLED
17002
17003#define gen_nb_xmlStreamCtxtPtr 1
17004static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17005    return(NULL);
17006}
17007static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17008}
17009#endif
17010
17011
17012static int
17013test_xmlStreamPop(void) {
17014    int test_ret = 0;
17015
17016#if defined(LIBXML_PATTERN_ENABLED)
17017    int mem_base;
17018    int ret_val;
17019    xmlStreamCtxtPtr stream; /* the stream context */
17020    int n_stream;
17021
17022    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
17023        mem_base = xmlMemBlocks();
17024        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
17025
17026        ret_val = xmlStreamPop(stream);
17027        desret_int(ret_val);
17028        call_tests++;
17029        des_xmlStreamCtxtPtr(n_stream, stream, 0);
17030        xmlResetLastError();
17031        if (mem_base != xmlMemBlocks()) {
17032            printf("Leak of %d blocks found in xmlStreamPop",
17033	           xmlMemBlocks() - mem_base);
17034	    test_ret++;
17035            printf(" %d", n_stream);
17036            printf("\n");
17037        }
17038    }
17039    function_tests++;
17040#endif
17041
17042    return(test_ret);
17043}
17044
17045
17046static int
17047test_xmlStreamPush(void) {
17048    int test_ret = 0;
17049
17050#if defined(LIBXML_PATTERN_ENABLED)
17051    int mem_base;
17052    int ret_val;
17053    xmlStreamCtxtPtr stream; /* the stream context */
17054    int n_stream;
17055    xmlChar * name; /* the current name */
17056    int n_name;
17057    xmlChar * ns; /* the namespace name */
17058    int n_ns;
17059
17060    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
17061    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
17062    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
17063        mem_base = xmlMemBlocks();
17064        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
17065        name = gen_const_xmlChar_ptr(n_name, 1);
17066        ns = gen_const_xmlChar_ptr(n_ns, 2);
17067
17068        ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns);
17069        desret_int(ret_val);
17070        call_tests++;
17071        des_xmlStreamCtxtPtr(n_stream, stream, 0);
17072        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
17073        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
17074        xmlResetLastError();
17075        if (mem_base != xmlMemBlocks()) {
17076            printf("Leak of %d blocks found in xmlStreamPush",
17077	           xmlMemBlocks() - mem_base);
17078	    test_ret++;
17079            printf(" %d", n_stream);
17080            printf(" %d", n_name);
17081            printf(" %d", n_ns);
17082            printf("\n");
17083        }
17084    }
17085    }
17086    }
17087    function_tests++;
17088#endif
17089
17090    return(test_ret);
17091}
17092
17093
17094static int
17095test_xmlStreamPushAttr(void) {
17096    int test_ret = 0;
17097
17098#if defined(LIBXML_PATTERN_ENABLED)
17099    int mem_base;
17100    int ret_val;
17101    xmlStreamCtxtPtr stream; /* the stream context */
17102    int n_stream;
17103    xmlChar * name; /* the current name */
17104    int n_name;
17105    xmlChar * ns; /* the namespace name */
17106    int n_ns;
17107
17108    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
17109    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
17110    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
17111        mem_base = xmlMemBlocks();
17112        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
17113        name = gen_const_xmlChar_ptr(n_name, 1);
17114        ns = gen_const_xmlChar_ptr(n_ns, 2);
17115
17116        ret_val = xmlStreamPushAttr(stream, (const xmlChar *)name, (const xmlChar *)ns);
17117        desret_int(ret_val);
17118        call_tests++;
17119        des_xmlStreamCtxtPtr(n_stream, stream, 0);
17120        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
17121        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
17122        xmlResetLastError();
17123        if (mem_base != xmlMemBlocks()) {
17124            printf("Leak of %d blocks found in xmlStreamPushAttr",
17125	           xmlMemBlocks() - mem_base);
17126	    test_ret++;
17127            printf(" %d", n_stream);
17128            printf(" %d", n_name);
17129            printf(" %d", n_ns);
17130            printf("\n");
17131        }
17132    }
17133    }
17134    }
17135    function_tests++;
17136#endif
17137
17138    return(test_ret);
17139}
17140
17141
17142static int
17143test_xmlStreamPushNode(void) {
17144    int test_ret = 0;
17145
17146#if defined(LIBXML_PATTERN_ENABLED)
17147    int mem_base;
17148    int ret_val;
17149    xmlStreamCtxtPtr stream; /* the stream context */
17150    int n_stream;
17151    xmlChar * name; /* the current name */
17152    int n_name;
17153    xmlChar * ns; /* the namespace name */
17154    int n_ns;
17155    int nodeType; /* the type of the node being pushed */
17156    int n_nodeType;
17157
17158    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
17159    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
17160    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
17161    for (n_nodeType = 0;n_nodeType < gen_nb_int;n_nodeType++) {
17162        mem_base = xmlMemBlocks();
17163        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
17164        name = gen_const_xmlChar_ptr(n_name, 1);
17165        ns = gen_const_xmlChar_ptr(n_ns, 2);
17166        nodeType = gen_int(n_nodeType, 3);
17167
17168        ret_val = xmlStreamPushNode(stream, (const xmlChar *)name, (const xmlChar *)ns, nodeType);
17169        desret_int(ret_val);
17170        call_tests++;
17171        des_xmlStreamCtxtPtr(n_stream, stream, 0);
17172        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
17173        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
17174        des_int(n_nodeType, nodeType, 3);
17175        xmlResetLastError();
17176        if (mem_base != xmlMemBlocks()) {
17177            printf("Leak of %d blocks found in xmlStreamPushNode",
17178	           xmlMemBlocks() - mem_base);
17179	    test_ret++;
17180            printf(" %d", n_stream);
17181            printf(" %d", n_name);
17182            printf(" %d", n_ns);
17183            printf(" %d", n_nodeType);
17184            printf("\n");
17185        }
17186    }
17187    }
17188    }
17189    }
17190    function_tests++;
17191#endif
17192
17193    return(test_ret);
17194}
17195
17196
17197static int
17198test_xmlStreamWantsAnyNode(void) {
17199    int test_ret = 0;
17200
17201#if defined(LIBXML_PATTERN_ENABLED)
17202    int mem_base;
17203    int ret_val;
17204    xmlStreamCtxtPtr streamCtxt; /* the stream context */
17205    int n_streamCtxt;
17206
17207    for (n_streamCtxt = 0;n_streamCtxt < gen_nb_xmlStreamCtxtPtr;n_streamCtxt++) {
17208        mem_base = xmlMemBlocks();
17209        streamCtxt = gen_xmlStreamCtxtPtr(n_streamCtxt, 0);
17210
17211        ret_val = xmlStreamWantsAnyNode(streamCtxt);
17212        desret_int(ret_val);
17213        call_tests++;
17214        des_xmlStreamCtxtPtr(n_streamCtxt, streamCtxt, 0);
17215        xmlResetLastError();
17216        if (mem_base != xmlMemBlocks()) {
17217            printf("Leak of %d blocks found in xmlStreamWantsAnyNode",
17218	           xmlMemBlocks() - mem_base);
17219	    test_ret++;
17220            printf(" %d", n_streamCtxt);
17221            printf("\n");
17222        }
17223    }
17224    function_tests++;
17225#endif
17226
17227    return(test_ret);
17228}
17229
17230static int
17231test_pattern(void) {
17232    int test_ret = 0;
17233
17234    if (quiet == 0) printf("Testing pattern : 10 of 15 functions ...\n");
17235    test_ret += test_xmlPatternFromRoot();
17236    test_ret += test_xmlPatternGetStreamCtxt();
17237    test_ret += test_xmlPatternMatch();
17238    test_ret += test_xmlPatternMaxDepth();
17239    test_ret += test_xmlPatternMinDepth();
17240    test_ret += test_xmlPatternStreamable();
17241    test_ret += test_xmlPatterncompile();
17242    test_ret += test_xmlStreamPop();
17243    test_ret += test_xmlStreamPush();
17244    test_ret += test_xmlStreamPushAttr();
17245    test_ret += test_xmlStreamPushNode();
17246    test_ret += test_xmlStreamWantsAnyNode();
17247
17248    if (test_ret != 0)
17249	printf("Module pattern: %d errors\n", test_ret);
17250    return(test_ret);
17251}
17252#ifdef LIBXML_SCHEMAS_ENABLED
17253
17254#define gen_nb_xmlRelaxNGPtr 1
17255static xmlRelaxNGPtr gen_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17256    return(NULL);
17257}
17258static void des_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17259}
17260#endif
17261
17262
17263static int
17264test_xmlRelaxNGDump(void) {
17265    int test_ret = 0;
17266
17267#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
17268    int mem_base;
17269    FILE * output; /* the file output */
17270    int n_output;
17271    xmlRelaxNGPtr schema; /* a schema structure */
17272    int n_schema;
17273
17274    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
17275    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
17276        mem_base = xmlMemBlocks();
17277        output = gen_FILE_ptr(n_output, 0);
17278        schema = gen_xmlRelaxNGPtr(n_schema, 1);
17279
17280        xmlRelaxNGDump(output, schema);
17281        call_tests++;
17282        des_FILE_ptr(n_output, output, 0);
17283        des_xmlRelaxNGPtr(n_schema, schema, 1);
17284        xmlResetLastError();
17285        if (mem_base != xmlMemBlocks()) {
17286            printf("Leak of %d blocks found in xmlRelaxNGDump",
17287	           xmlMemBlocks() - mem_base);
17288	    test_ret++;
17289            printf(" %d", n_output);
17290            printf(" %d", n_schema);
17291            printf("\n");
17292        }
17293    }
17294    }
17295    function_tests++;
17296#endif
17297
17298    return(test_ret);
17299}
17300
17301
17302static int
17303test_xmlRelaxNGDumpTree(void) {
17304    int test_ret = 0;
17305
17306#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
17307    int mem_base;
17308    FILE * output; /* the file output */
17309    int n_output;
17310    xmlRelaxNGPtr schema; /* a schema structure */
17311    int n_schema;
17312
17313    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
17314    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
17315        mem_base = xmlMemBlocks();
17316        output = gen_FILE_ptr(n_output, 0);
17317        schema = gen_xmlRelaxNGPtr(n_schema, 1);
17318
17319        xmlRelaxNGDumpTree(output, schema);
17320        call_tests++;
17321        des_FILE_ptr(n_output, output, 0);
17322        des_xmlRelaxNGPtr(n_schema, schema, 1);
17323        xmlResetLastError();
17324        if (mem_base != xmlMemBlocks()) {
17325            printf("Leak of %d blocks found in xmlRelaxNGDumpTree",
17326	           xmlMemBlocks() - mem_base);
17327	    test_ret++;
17328            printf(" %d", n_output);
17329            printf(" %d", n_schema);
17330            printf("\n");
17331        }
17332    }
17333    }
17334    function_tests++;
17335#endif
17336
17337    return(test_ret);
17338}
17339
17340#ifdef LIBXML_SCHEMAS_ENABLED
17341
17342#define gen_nb_xmlRelaxNGParserCtxtPtr 1
17343static xmlRelaxNGParserCtxtPtr gen_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17344    return(NULL);
17345}
17346static void des_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17347}
17348#endif
17349
17350#ifdef LIBXML_SCHEMAS_ENABLED
17351
17352#define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1
17353static xmlRelaxNGValidityErrorFunc * gen_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17354    return(NULL);
17355}
17356static void des_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17357}
17358#endif
17359
17360#ifdef LIBXML_SCHEMAS_ENABLED
17361
17362#define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1
17363static xmlRelaxNGValidityWarningFunc * gen_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17364    return(NULL);
17365}
17366static void des_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17367}
17368#endif
17369
17370
17371static int
17372test_xmlRelaxNGGetParserErrors(void) {
17373    int test_ret = 0;
17374
17375#if defined(LIBXML_SCHEMAS_ENABLED)
17376    int mem_base;
17377    int ret_val;
17378    xmlRelaxNGParserCtxtPtr ctxt; /* a Relax-NG validation context */
17379    int n_ctxt;
17380    xmlRelaxNGValidityErrorFunc * err; /* the error callback result */
17381    int n_err;
17382    xmlRelaxNGValidityWarningFunc * warn; /* the warning callback result */
17383    int n_warn;
17384    void ** ctx; /* contextual data for the callbacks result */
17385    int n_ctx;
17386
17387    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
17388    for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
17389    for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
17390    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
17391        mem_base = xmlMemBlocks();
17392        ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
17393        err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
17394        warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
17395        ctx = gen_void_ptr_ptr(n_ctx, 3);
17396
17397        ret_val = xmlRelaxNGGetParserErrors(ctxt, err, warn, ctx);
17398        desret_int(ret_val);
17399        call_tests++;
17400        des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
17401        des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
17402        des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
17403        des_void_ptr_ptr(n_ctx, ctx, 3);
17404        xmlResetLastError();
17405        if (mem_base != xmlMemBlocks()) {
17406            printf("Leak of %d blocks found in xmlRelaxNGGetParserErrors",
17407	           xmlMemBlocks() - mem_base);
17408	    test_ret++;
17409            printf(" %d", n_ctxt);
17410            printf(" %d", n_err);
17411            printf(" %d", n_warn);
17412            printf(" %d", n_ctx);
17413            printf("\n");
17414        }
17415    }
17416    }
17417    }
17418    }
17419    function_tests++;
17420#endif
17421
17422    return(test_ret);
17423}
17424
17425#ifdef LIBXML_SCHEMAS_ENABLED
17426
17427#define gen_nb_xmlRelaxNGValidCtxtPtr 1
17428static xmlRelaxNGValidCtxtPtr gen_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17429    return(NULL);
17430}
17431static void des_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
17432}
17433#endif
17434
17435
17436static int
17437test_xmlRelaxNGGetValidErrors(void) {
17438    int test_ret = 0;
17439
17440#if defined(LIBXML_SCHEMAS_ENABLED)
17441    int mem_base;
17442    int ret_val;
17443    xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
17444    int n_ctxt;
17445    xmlRelaxNGValidityErrorFunc * err; /* the error function result */
17446    int n_err;
17447    xmlRelaxNGValidityWarningFunc * warn; /* the warning function result */
17448    int n_warn;
17449    void ** ctx; /* the functions context result */
17450    int n_ctx;
17451
17452    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17453    for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
17454    for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
17455    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
17456        mem_base = xmlMemBlocks();
17457        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17458        err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
17459        warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
17460        ctx = gen_void_ptr_ptr(n_ctx, 3);
17461
17462        ret_val = xmlRelaxNGGetValidErrors(ctxt, err, warn, ctx);
17463        desret_int(ret_val);
17464        call_tests++;
17465        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17466        des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
17467        des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
17468        des_void_ptr_ptr(n_ctx, ctx, 3);
17469        xmlResetLastError();
17470        if (mem_base != xmlMemBlocks()) {
17471            printf("Leak of %d blocks found in xmlRelaxNGGetValidErrors",
17472	           xmlMemBlocks() - mem_base);
17473	    test_ret++;
17474            printf(" %d", n_ctxt);
17475            printf(" %d", n_err);
17476            printf(" %d", n_warn);
17477            printf(" %d", n_ctx);
17478            printf("\n");
17479        }
17480    }
17481    }
17482    }
17483    }
17484    function_tests++;
17485#endif
17486
17487    return(test_ret);
17488}
17489
17490
17491static int
17492test_xmlRelaxNGInitTypes(void) {
17493    int test_ret = 0;
17494
17495#if defined(LIBXML_SCHEMAS_ENABLED)
17496    int mem_base;
17497    int ret_val;
17498
17499        mem_base = xmlMemBlocks();
17500
17501        ret_val = xmlRelaxNGInitTypes();
17502        desret_int(ret_val);
17503        call_tests++;
17504        xmlResetLastError();
17505        if (mem_base != xmlMemBlocks()) {
17506            printf("Leak of %d blocks found in xmlRelaxNGInitTypes",
17507	           xmlMemBlocks() - mem_base);
17508	    test_ret++;
17509            printf("\n");
17510        }
17511    function_tests++;
17512#endif
17513
17514    return(test_ret);
17515}
17516
17517
17518static int
17519test_xmlRelaxNGNewDocParserCtxt(void) {
17520    int test_ret = 0;
17521
17522#if defined(LIBXML_SCHEMAS_ENABLED)
17523    int mem_base;
17524    xmlRelaxNGParserCtxtPtr ret_val;
17525    xmlDocPtr doc; /* a preparsed document tree */
17526    int n_doc;
17527
17528    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
17529        mem_base = xmlMemBlocks();
17530        doc = gen_xmlDocPtr(n_doc, 0);
17531
17532        ret_val = xmlRelaxNGNewDocParserCtxt(doc);
17533        desret_xmlRelaxNGParserCtxtPtr(ret_val);
17534        call_tests++;
17535        des_xmlDocPtr(n_doc, doc, 0);
17536        xmlResetLastError();
17537        if (mem_base != xmlMemBlocks()) {
17538            printf("Leak of %d blocks found in xmlRelaxNGNewDocParserCtxt",
17539	           xmlMemBlocks() - mem_base);
17540	    test_ret++;
17541            printf(" %d", n_doc);
17542            printf("\n");
17543        }
17544    }
17545    function_tests++;
17546#endif
17547
17548    return(test_ret);
17549}
17550
17551
17552static int
17553test_xmlRelaxNGNewMemParserCtxt(void) {
17554    int test_ret = 0;
17555
17556#if defined(LIBXML_SCHEMAS_ENABLED)
17557    int mem_base;
17558    xmlRelaxNGParserCtxtPtr ret_val;
17559    char * buffer; /* a pointer to a char array containing the schemas */
17560    int n_buffer;
17561    int size; /* the size of the array */
17562    int n_size;
17563
17564    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
17565    for (n_size = 0;n_size < gen_nb_int;n_size++) {
17566        mem_base = xmlMemBlocks();
17567        buffer = gen_const_char_ptr(n_buffer, 0);
17568        size = gen_int(n_size, 1);
17569
17570        ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
17571        desret_xmlRelaxNGParserCtxtPtr(ret_val);
17572        call_tests++;
17573        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
17574        des_int(n_size, size, 1);
17575        xmlResetLastError();
17576        if (mem_base != xmlMemBlocks()) {
17577            printf("Leak of %d blocks found in xmlRelaxNGNewMemParserCtxt",
17578	           xmlMemBlocks() - mem_base);
17579	    test_ret++;
17580            printf(" %d", n_buffer);
17581            printf(" %d", n_size);
17582            printf("\n");
17583        }
17584    }
17585    }
17586    function_tests++;
17587#endif
17588
17589    return(test_ret);
17590}
17591
17592
17593static int
17594test_xmlRelaxNGNewParserCtxt(void) {
17595    int test_ret = 0;
17596
17597#if defined(LIBXML_SCHEMAS_ENABLED)
17598    int mem_base;
17599    xmlRelaxNGParserCtxtPtr ret_val;
17600    char * URL; /* the location of the schema */
17601    int n_URL;
17602
17603    for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
17604        mem_base = xmlMemBlocks();
17605        URL = gen_const_char_ptr(n_URL, 0);
17606
17607        ret_val = xmlRelaxNGNewParserCtxt((const char *)URL);
17608        desret_xmlRelaxNGParserCtxtPtr(ret_val);
17609        call_tests++;
17610        des_const_char_ptr(n_URL, (const char *)URL, 0);
17611        xmlResetLastError();
17612        if (mem_base != xmlMemBlocks()) {
17613            printf("Leak of %d blocks found in xmlRelaxNGNewParserCtxt",
17614	           xmlMemBlocks() - mem_base);
17615	    test_ret++;
17616            printf(" %d", n_URL);
17617            printf("\n");
17618        }
17619    }
17620    function_tests++;
17621#endif
17622
17623    return(test_ret);
17624}
17625
17626
17627static int
17628test_xmlRelaxNGNewValidCtxt(void) {
17629    int test_ret = 0;
17630
17631
17632    /* missing type support */
17633    return(test_ret);
17634}
17635
17636
17637static int
17638test_xmlRelaxNGParse(void) {
17639    int test_ret = 0;
17640
17641
17642    /* missing type support */
17643    return(test_ret);
17644}
17645
17646
17647static int
17648test_xmlRelaxNGSetParserErrors(void) {
17649    int test_ret = 0;
17650
17651
17652    /* missing type support */
17653    return(test_ret);
17654}
17655
17656
17657static int
17658test_xmlRelaxNGSetParserStructuredErrors(void) {
17659    int test_ret = 0;
17660
17661
17662    /* missing type support */
17663    return(test_ret);
17664}
17665
17666
17667static int
17668test_xmlRelaxNGSetValidErrors(void) {
17669    int test_ret = 0;
17670
17671
17672    /* missing type support */
17673    return(test_ret);
17674}
17675
17676
17677static int
17678test_xmlRelaxNGSetValidStructuredErrors(void) {
17679    int test_ret = 0;
17680
17681
17682    /* missing type support */
17683    return(test_ret);
17684}
17685
17686
17687static int
17688test_xmlRelaxNGValidateDoc(void) {
17689    int test_ret = 0;
17690
17691#if defined(LIBXML_SCHEMAS_ENABLED)
17692    int mem_base;
17693    int ret_val;
17694    xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
17695    int n_ctxt;
17696    xmlDocPtr doc; /* a parsed document tree */
17697    int n_doc;
17698
17699    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17700    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
17701        mem_base = xmlMemBlocks();
17702        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17703        doc = gen_xmlDocPtr(n_doc, 1);
17704
17705        ret_val = xmlRelaxNGValidateDoc(ctxt, doc);
17706        desret_int(ret_val);
17707        call_tests++;
17708        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17709        des_xmlDocPtr(n_doc, doc, 1);
17710        xmlResetLastError();
17711        if (mem_base != xmlMemBlocks()) {
17712            printf("Leak of %d blocks found in xmlRelaxNGValidateDoc",
17713	           xmlMemBlocks() - mem_base);
17714	    test_ret++;
17715            printf(" %d", n_ctxt);
17716            printf(" %d", n_doc);
17717            printf("\n");
17718        }
17719    }
17720    }
17721    function_tests++;
17722#endif
17723
17724    return(test_ret);
17725}
17726
17727
17728static int
17729test_xmlRelaxNGValidateFullElement(void) {
17730    int test_ret = 0;
17731
17732#if defined(LIBXML_SCHEMAS_ENABLED)
17733    int mem_base;
17734    int ret_val;
17735    xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
17736    int n_ctxt;
17737    xmlDocPtr doc; /* a document instance */
17738    int n_doc;
17739    xmlNodePtr elem; /* an element instance */
17740    int n_elem;
17741
17742    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17743    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
17744    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
17745        mem_base = xmlMemBlocks();
17746        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17747        doc = gen_xmlDocPtr(n_doc, 1);
17748        elem = gen_xmlNodePtr(n_elem, 2);
17749
17750        ret_val = xmlRelaxNGValidateFullElement(ctxt, doc, elem);
17751        desret_int(ret_val);
17752        call_tests++;
17753        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17754        des_xmlDocPtr(n_doc, doc, 1);
17755        des_xmlNodePtr(n_elem, elem, 2);
17756        xmlResetLastError();
17757        if (mem_base != xmlMemBlocks()) {
17758            printf("Leak of %d blocks found in xmlRelaxNGValidateFullElement",
17759	           xmlMemBlocks() - mem_base);
17760	    test_ret++;
17761            printf(" %d", n_ctxt);
17762            printf(" %d", n_doc);
17763            printf(" %d", n_elem);
17764            printf("\n");
17765        }
17766    }
17767    }
17768    }
17769    function_tests++;
17770#endif
17771
17772    return(test_ret);
17773}
17774
17775
17776static int
17777test_xmlRelaxNGValidatePopElement(void) {
17778    int test_ret = 0;
17779
17780#if defined(LIBXML_SCHEMAS_ENABLED)
17781    int mem_base;
17782    int ret_val;
17783    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
17784    int n_ctxt;
17785    xmlDocPtr doc; /* a document instance */
17786    int n_doc;
17787    xmlNodePtr elem; /* an element instance */
17788    int n_elem;
17789
17790    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17791    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
17792    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
17793        mem_base = xmlMemBlocks();
17794        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17795        doc = gen_xmlDocPtr(n_doc, 1);
17796        elem = gen_xmlNodePtr(n_elem, 2);
17797
17798        ret_val = xmlRelaxNGValidatePopElement(ctxt, doc, elem);
17799        desret_int(ret_val);
17800        call_tests++;
17801        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17802        des_xmlDocPtr(n_doc, doc, 1);
17803        des_xmlNodePtr(n_elem, elem, 2);
17804        xmlResetLastError();
17805        if (mem_base != xmlMemBlocks()) {
17806            printf("Leak of %d blocks found in xmlRelaxNGValidatePopElement",
17807	           xmlMemBlocks() - mem_base);
17808	    test_ret++;
17809            printf(" %d", n_ctxt);
17810            printf(" %d", n_doc);
17811            printf(" %d", n_elem);
17812            printf("\n");
17813        }
17814    }
17815    }
17816    }
17817    function_tests++;
17818#endif
17819
17820    return(test_ret);
17821}
17822
17823
17824static int
17825test_xmlRelaxNGValidatePushCData(void) {
17826    int test_ret = 0;
17827
17828#if defined(LIBXML_SCHEMAS_ENABLED)
17829    int mem_base;
17830    int ret_val;
17831    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
17832    int n_ctxt;
17833    xmlChar * data; /* some character data read */
17834    int n_data;
17835    int len; /* the length of the data */
17836    int n_len;
17837
17838    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17839    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
17840    for (n_len = 0;n_len < gen_nb_int;n_len++) {
17841        mem_base = xmlMemBlocks();
17842        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17843        data = gen_const_xmlChar_ptr(n_data, 1);
17844        len = gen_int(n_len, 2);
17845
17846        ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
17847        desret_int(ret_val);
17848        call_tests++;
17849        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17850        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
17851        des_int(n_len, len, 2);
17852        xmlResetLastError();
17853        if (mem_base != xmlMemBlocks()) {
17854            printf("Leak of %d blocks found in xmlRelaxNGValidatePushCData",
17855	           xmlMemBlocks() - mem_base);
17856	    test_ret++;
17857            printf(" %d", n_ctxt);
17858            printf(" %d", n_data);
17859            printf(" %d", n_len);
17860            printf("\n");
17861        }
17862    }
17863    }
17864    }
17865    function_tests++;
17866#endif
17867
17868    return(test_ret);
17869}
17870
17871
17872static int
17873test_xmlRelaxNGValidatePushElement(void) {
17874    int test_ret = 0;
17875
17876#if defined(LIBXML_SCHEMAS_ENABLED)
17877    int mem_base;
17878    int ret_val;
17879    xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
17880    int n_ctxt;
17881    xmlDocPtr doc; /* a document instance */
17882    int n_doc;
17883    xmlNodePtr elem; /* an element instance */
17884    int n_elem;
17885
17886    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
17887    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
17888    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
17889        mem_base = xmlMemBlocks();
17890        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
17891        doc = gen_xmlDocPtr(n_doc, 1);
17892        elem = gen_xmlNodePtr(n_elem, 2);
17893
17894        ret_val = xmlRelaxNGValidatePushElement(ctxt, doc, elem);
17895        desret_int(ret_val);
17896        call_tests++;
17897        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
17898        des_xmlDocPtr(n_doc, doc, 1);
17899        des_xmlNodePtr(n_elem, elem, 2);
17900        xmlResetLastError();
17901        if (mem_base != xmlMemBlocks()) {
17902            printf("Leak of %d blocks found in xmlRelaxNGValidatePushElement",
17903	           xmlMemBlocks() - mem_base);
17904	    test_ret++;
17905            printf(" %d", n_ctxt);
17906            printf(" %d", n_doc);
17907            printf(" %d", n_elem);
17908            printf("\n");
17909        }
17910    }
17911    }
17912    }
17913    function_tests++;
17914#endif
17915
17916    return(test_ret);
17917}
17918
17919
17920static int
17921test_xmlRelaxParserSetFlag(void) {
17922    int test_ret = 0;
17923
17924#if defined(LIBXML_SCHEMAS_ENABLED)
17925    int mem_base;
17926    int ret_val;
17927    xmlRelaxNGParserCtxtPtr ctxt; /* a RelaxNG parser context */
17928    int n_ctxt;
17929    int flags; /* a set of flags values */
17930    int n_flags;
17931
17932    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
17933    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
17934        mem_base = xmlMemBlocks();
17935        ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
17936        flags = gen_int(n_flags, 1);
17937
17938        ret_val = xmlRelaxParserSetFlag(ctxt, flags);
17939        desret_int(ret_val);
17940        call_tests++;
17941        des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
17942        des_int(n_flags, flags, 1);
17943        xmlResetLastError();
17944        if (mem_base != xmlMemBlocks()) {
17945            printf("Leak of %d blocks found in xmlRelaxParserSetFlag",
17946	           xmlMemBlocks() - mem_base);
17947	    test_ret++;
17948            printf(" %d", n_ctxt);
17949            printf(" %d", n_flags);
17950            printf("\n");
17951        }
17952    }
17953    }
17954    function_tests++;
17955#endif
17956
17957    return(test_ret);
17958}
17959
17960static int
17961test_relaxng(void) {
17962    int test_ret = 0;
17963
17964    if (quiet == 0) printf("Testing relaxng : 14 of 24 functions ...\n");
17965    test_ret += test_xmlRelaxNGDump();
17966    test_ret += test_xmlRelaxNGDumpTree();
17967    test_ret += test_xmlRelaxNGGetParserErrors();
17968    test_ret += test_xmlRelaxNGGetValidErrors();
17969    test_ret += test_xmlRelaxNGInitTypes();
17970    test_ret += test_xmlRelaxNGNewDocParserCtxt();
17971    test_ret += test_xmlRelaxNGNewMemParserCtxt();
17972    test_ret += test_xmlRelaxNGNewParserCtxt();
17973    test_ret += test_xmlRelaxNGNewValidCtxt();
17974    test_ret += test_xmlRelaxNGParse();
17975    test_ret += test_xmlRelaxNGSetParserErrors();
17976    test_ret += test_xmlRelaxNGSetParserStructuredErrors();
17977    test_ret += test_xmlRelaxNGSetValidErrors();
17978    test_ret += test_xmlRelaxNGSetValidStructuredErrors();
17979    test_ret += test_xmlRelaxNGValidateDoc();
17980    test_ret += test_xmlRelaxNGValidateFullElement();
17981    test_ret += test_xmlRelaxNGValidatePopElement();
17982    test_ret += test_xmlRelaxNGValidatePushCData();
17983    test_ret += test_xmlRelaxNGValidatePushElement();
17984    test_ret += test_xmlRelaxParserSetFlag();
17985
17986    if (test_ret != 0)
17987	printf("Module relaxng: %d errors\n", test_ret);
17988    return(test_ret);
17989}
17990static int
17991test_schemasInternals(void) {
17992    int test_ret = 0;
17993
17994    if (quiet == 0) printf("Testing schemasInternals : 0 of 2 functions ...\n");
17995
17996    if (test_ret != 0)
17997	printf("Module schemasInternals: %d errors\n", test_ret);
17998    return(test_ret);
17999}
18000
18001static int
18002test_xmlSchematronNewDocParserCtxt(void) {
18003    int test_ret = 0;
18004
18005
18006    /* missing type support */
18007    return(test_ret);
18008}
18009
18010
18011static int
18012test_xmlSchematronNewMemParserCtxt(void) {
18013    int test_ret = 0;
18014
18015
18016    /* missing type support */
18017    return(test_ret);
18018}
18019
18020
18021static int
18022test_xmlSchematronNewParserCtxt(void) {
18023    int test_ret = 0;
18024
18025
18026    /* missing type support */
18027    return(test_ret);
18028}
18029
18030#ifdef LIBXML_SCHEMATRON_ENABLED
18031
18032#define gen_nb_xmlSchematronPtr 1
18033static xmlSchematronPtr gen_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18034    return(NULL);
18035}
18036static void des_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, xmlSchematronPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18037}
18038#endif
18039
18040
18041static int
18042test_xmlSchematronNewValidCtxt(void) {
18043    int test_ret = 0;
18044
18045
18046    /* missing type support */
18047    return(test_ret);
18048}
18049
18050#ifdef LIBXML_SCHEMATRON_ENABLED
18051
18052#define gen_nb_xmlSchematronParserCtxtPtr 1
18053static xmlSchematronParserCtxtPtr gen_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18054    return(NULL);
18055}
18056static void des_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18057}
18058#endif
18059
18060
18061static int
18062test_xmlSchematronParse(void) {
18063    int test_ret = 0;
18064
18065
18066    /* missing type support */
18067    return(test_ret);
18068}
18069
18070#ifdef LIBXML_SCHEMATRON_ENABLED
18071
18072#define gen_nb_xmlSchematronValidCtxtPtr 1
18073static xmlSchematronValidCtxtPtr gen_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18074    return(NULL);
18075}
18076static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18077}
18078#endif
18079
18080
18081static int
18082test_xmlSchematronSetValidStructuredErrors(void) {
18083    int test_ret = 0;
18084
18085
18086    /* missing type support */
18087    return(test_ret);
18088}
18089
18090
18091static int
18092test_xmlSchematronValidateDoc(void) {
18093    int test_ret = 0;
18094
18095#if defined(LIBXML_SCHEMATRON_ENABLED)
18096    int mem_base;
18097    int ret_val;
18098    xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */
18099    int n_ctxt;
18100    xmlDocPtr instance; /* the document instace tree */
18101    int n_instance;
18102
18103    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) {
18104    for (n_instance = 0;n_instance < gen_nb_xmlDocPtr;n_instance++) {
18105        mem_base = xmlMemBlocks();
18106        ctxt = gen_xmlSchematronValidCtxtPtr(n_ctxt, 0);
18107        instance = gen_xmlDocPtr(n_instance, 1);
18108
18109        ret_val = xmlSchematronValidateDoc(ctxt, instance);
18110        desret_int(ret_val);
18111        call_tests++;
18112        des_xmlSchematronValidCtxtPtr(n_ctxt, ctxt, 0);
18113        des_xmlDocPtr(n_instance, instance, 1);
18114        xmlResetLastError();
18115        if (mem_base != xmlMemBlocks()) {
18116            printf("Leak of %d blocks found in xmlSchematronValidateDoc",
18117	           xmlMemBlocks() - mem_base);
18118	    test_ret++;
18119            printf(" %d", n_ctxt);
18120            printf(" %d", n_instance);
18121            printf("\n");
18122        }
18123    }
18124    }
18125    function_tests++;
18126#endif
18127
18128    return(test_ret);
18129}
18130
18131static int
18132test_schematron(void) {
18133    int test_ret = 0;
18134
18135    if (quiet == 0) printf("Testing schematron : 1 of 10 functions ...\n");
18136    test_ret += test_xmlSchematronNewDocParserCtxt();
18137    test_ret += test_xmlSchematronNewMemParserCtxt();
18138    test_ret += test_xmlSchematronNewParserCtxt();
18139    test_ret += test_xmlSchematronNewValidCtxt();
18140    test_ret += test_xmlSchematronParse();
18141    test_ret += test_xmlSchematronSetValidStructuredErrors();
18142    test_ret += test_xmlSchematronValidateDoc();
18143
18144    if (test_ret != 0)
18145	printf("Module schematron: %d errors\n", test_ret);
18146    return(test_ret);
18147}
18148
18149static int
18150test_xmlAddChild(void) {
18151    int test_ret = 0;
18152
18153    int mem_base;
18154    xmlNodePtr ret_val;
18155    xmlNodePtr parent; /* the parent node */
18156    int n_parent;
18157    xmlNodePtr cur; /* the child node */
18158    int n_cur;
18159
18160    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
18161    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
18162        mem_base = xmlMemBlocks();
18163        parent = gen_xmlNodePtr(n_parent, 0);
18164        cur = gen_xmlNodePtr_in(n_cur, 1);
18165
18166        ret_val = xmlAddChild(parent, cur);
18167        if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; }
18168        desret_xmlNodePtr(ret_val);
18169        call_tests++;
18170        des_xmlNodePtr(n_parent, parent, 0);
18171        des_xmlNodePtr_in(n_cur, cur, 1);
18172        xmlResetLastError();
18173        if (mem_base != xmlMemBlocks()) {
18174            printf("Leak of %d blocks found in xmlAddChild",
18175	           xmlMemBlocks() - mem_base);
18176	    test_ret++;
18177            printf(" %d", n_parent);
18178            printf(" %d", n_cur);
18179            printf("\n");
18180        }
18181    }
18182    }
18183    function_tests++;
18184
18185    return(test_ret);
18186}
18187
18188
18189static int
18190test_xmlAddChildList(void) {
18191    int test_ret = 0;
18192
18193    int mem_base;
18194    xmlNodePtr ret_val;
18195    xmlNodePtr parent; /* the parent node */
18196    int n_parent;
18197    xmlNodePtr cur; /* the first node in the list */
18198    int n_cur;
18199
18200    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
18201    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
18202        mem_base = xmlMemBlocks();
18203        parent = gen_xmlNodePtr(n_parent, 0);
18204        cur = gen_xmlNodePtr_in(n_cur, 1);
18205
18206        ret_val = xmlAddChildList(parent, cur);
18207        if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; }
18208        desret_xmlNodePtr(ret_val);
18209        call_tests++;
18210        des_xmlNodePtr(n_parent, parent, 0);
18211        des_xmlNodePtr_in(n_cur, cur, 1);
18212        xmlResetLastError();
18213        if (mem_base != xmlMemBlocks()) {
18214            printf("Leak of %d blocks found in xmlAddChildList",
18215	           xmlMemBlocks() - mem_base);
18216	    test_ret++;
18217            printf(" %d", n_parent);
18218            printf(" %d", n_cur);
18219            printf("\n");
18220        }
18221    }
18222    }
18223    function_tests++;
18224
18225    return(test_ret);
18226}
18227
18228
18229static int
18230test_xmlAddNextSibling(void) {
18231    int test_ret = 0;
18232
18233    int mem_base;
18234    xmlNodePtr ret_val;
18235    xmlNodePtr cur; /* the child node */
18236    int n_cur;
18237    xmlNodePtr elem; /* the new node */
18238    int n_elem;
18239
18240    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
18241    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
18242        mem_base = xmlMemBlocks();
18243        cur = gen_xmlNodePtr(n_cur, 0);
18244        elem = gen_xmlNodePtr_in(n_elem, 1);
18245
18246        ret_val = xmlAddNextSibling(cur, elem);
18247        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
18248        desret_xmlNodePtr(ret_val);
18249        call_tests++;
18250        des_xmlNodePtr(n_cur, cur, 0);
18251        des_xmlNodePtr_in(n_elem, elem, 1);
18252        xmlResetLastError();
18253        if (mem_base != xmlMemBlocks()) {
18254            printf("Leak of %d blocks found in xmlAddNextSibling",
18255	           xmlMemBlocks() - mem_base);
18256	    test_ret++;
18257            printf(" %d", n_cur);
18258            printf(" %d", n_elem);
18259            printf("\n");
18260        }
18261    }
18262    }
18263    function_tests++;
18264
18265    return(test_ret);
18266}
18267
18268
18269static int
18270test_xmlAddPrevSibling(void) {
18271    int test_ret = 0;
18272
18273#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
18274    int mem_base;
18275    xmlNodePtr ret_val;
18276    xmlNodePtr cur; /* the child node */
18277    int n_cur;
18278    xmlNodePtr elem; /* the new node */
18279    int n_elem;
18280
18281    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
18282    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
18283        mem_base = xmlMemBlocks();
18284        cur = gen_xmlNodePtr(n_cur, 0);
18285        elem = gen_xmlNodePtr_in(n_elem, 1);
18286
18287        ret_val = xmlAddPrevSibling(cur, elem);
18288        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
18289        desret_xmlNodePtr(ret_val);
18290        call_tests++;
18291        des_xmlNodePtr(n_cur, cur, 0);
18292        des_xmlNodePtr_in(n_elem, elem, 1);
18293        xmlResetLastError();
18294        if (mem_base != xmlMemBlocks()) {
18295            printf("Leak of %d blocks found in xmlAddPrevSibling",
18296	           xmlMemBlocks() - mem_base);
18297	    test_ret++;
18298            printf(" %d", n_cur);
18299            printf(" %d", n_elem);
18300            printf("\n");
18301        }
18302    }
18303    }
18304    function_tests++;
18305#endif
18306
18307    return(test_ret);
18308}
18309
18310
18311static int
18312test_xmlAddSibling(void) {
18313    int test_ret = 0;
18314
18315    int mem_base;
18316    xmlNodePtr ret_val;
18317    xmlNodePtr cur; /* the child node */
18318    int n_cur;
18319    xmlNodePtr elem; /* the new node */
18320    int n_elem;
18321
18322    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
18323    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
18324        mem_base = xmlMemBlocks();
18325        cur = gen_xmlNodePtr(n_cur, 0);
18326        elem = gen_xmlNodePtr_in(n_elem, 1);
18327
18328        ret_val = xmlAddSibling(cur, elem);
18329        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
18330        desret_xmlNodePtr(ret_val);
18331        call_tests++;
18332        des_xmlNodePtr(n_cur, cur, 0);
18333        des_xmlNodePtr_in(n_elem, elem, 1);
18334        xmlResetLastError();
18335        if (mem_base != xmlMemBlocks()) {
18336            printf("Leak of %d blocks found in xmlAddSibling",
18337	           xmlMemBlocks() - mem_base);
18338	    test_ret++;
18339            printf(" %d", n_cur);
18340            printf(" %d", n_elem);
18341            printf("\n");
18342        }
18343    }
18344    }
18345    function_tests++;
18346
18347    return(test_ret);
18348}
18349
18350
18351static int
18352test_xmlAttrSerializeTxtContent(void) {
18353    int test_ret = 0;
18354
18355#if defined(LIBXML_OUTPUT_ENABLED)
18356#ifdef LIBXML_OUTPUT_ENABLED
18357    int mem_base;
18358    xmlBufferPtr buf; /* the XML buffer output */
18359    int n_buf;
18360    xmlDocPtr doc; /* the document */
18361    int n_doc;
18362    xmlAttrPtr attr; /* the attribute node */
18363    int n_attr;
18364    xmlChar * string; /* the text content */
18365    int n_string;
18366
18367    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18368    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
18369    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
18370    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
18371        mem_base = xmlMemBlocks();
18372        buf = gen_xmlBufferPtr(n_buf, 0);
18373        doc = gen_xmlDocPtr(n_doc, 1);
18374        attr = gen_xmlAttrPtr(n_attr, 2);
18375        string = gen_const_xmlChar_ptr(n_string, 3);
18376
18377        xmlAttrSerializeTxtContent(buf, doc, attr, (const xmlChar *)string);
18378        call_tests++;
18379        des_xmlBufferPtr(n_buf, buf, 0);
18380        des_xmlDocPtr(n_doc, doc, 1);
18381        des_xmlAttrPtr(n_attr, attr, 2);
18382        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 3);
18383        xmlResetLastError();
18384        if (mem_base != xmlMemBlocks()) {
18385            printf("Leak of %d blocks found in xmlAttrSerializeTxtContent",
18386	           xmlMemBlocks() - mem_base);
18387	    test_ret++;
18388            printf(" %d", n_buf);
18389            printf(" %d", n_doc);
18390            printf(" %d", n_attr);
18391            printf(" %d", n_string);
18392            printf("\n");
18393        }
18394    }
18395    }
18396    }
18397    }
18398    function_tests++;
18399#endif
18400#endif
18401
18402    return(test_ret);
18403}
18404
18405
18406#define gen_nb_const_xmlBufPtr 1
18407static xmlBufPtr gen_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18408    return(NULL);
18409}
18410static void des_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, const xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18411}
18412
18413static int
18414test_xmlBufContent(void) {
18415    int test_ret = 0;
18416
18417    int mem_base;
18418    xmlChar * ret_val;
18419    xmlBufPtr buf; /* the buffer */
18420    int n_buf;
18421
18422    for (n_buf = 0;n_buf < gen_nb_const_xmlBufPtr;n_buf++) {
18423        mem_base = xmlMemBlocks();
18424        buf = gen_const_xmlBufPtr(n_buf, 0);
18425
18426        ret_val = xmlBufContent((const xmlBufPtr)buf);
18427        desret_xmlChar_ptr(ret_val);
18428        call_tests++;
18429        des_const_xmlBufPtr(n_buf, (const xmlBufPtr)buf, 0);
18430        xmlResetLastError();
18431        if (mem_base != xmlMemBlocks()) {
18432            printf("Leak of %d blocks found in xmlBufContent",
18433	           xmlMemBlocks() - mem_base);
18434	    test_ret++;
18435            printf(" %d", n_buf);
18436            printf("\n");
18437        }
18438    }
18439    function_tests++;
18440
18441    return(test_ret);
18442}
18443
18444
18445static int
18446test_xmlBufEnd(void) {
18447    int test_ret = 0;
18448
18449    int mem_base;
18450    xmlChar * ret_val;
18451    xmlBufPtr buf; /* the buffer */
18452    int n_buf;
18453
18454    for (n_buf = 0;n_buf < gen_nb_const_xmlBufPtr;n_buf++) {
18455        mem_base = xmlMemBlocks();
18456        buf = gen_const_xmlBufPtr(n_buf, 0);
18457
18458        ret_val = xmlBufEnd((const xmlBufPtr)buf);
18459        desret_xmlChar_ptr(ret_val);
18460        call_tests++;
18461        des_const_xmlBufPtr(n_buf, (const xmlBufPtr)buf, 0);
18462        xmlResetLastError();
18463        if (mem_base != xmlMemBlocks()) {
18464            printf("Leak of %d blocks found in xmlBufEnd",
18465	           xmlMemBlocks() - mem_base);
18466	    test_ret++;
18467            printf(" %d", n_buf);
18468            printf("\n");
18469        }
18470    }
18471    function_tests++;
18472
18473    return(test_ret);
18474}
18475
18476
18477#define gen_nb_xmlBufPtr 1
18478static xmlBufPtr gen_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18479    return(NULL);
18480}
18481static void des_xmlBufPtr(int no ATTRIBUTE_UNUSED, xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18482}
18483
18484static int
18485test_xmlBufGetNodeContent(void) {
18486    int test_ret = 0;
18487
18488    int mem_base;
18489    int ret_val;
18490    xmlBufPtr buf; /* a buffer xmlBufPtr */
18491    int n_buf;
18492    xmlNodePtr cur; /* the node being read */
18493    int n_cur;
18494
18495    for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) {
18496    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
18497        mem_base = xmlMemBlocks();
18498        buf = gen_xmlBufPtr(n_buf, 0);
18499        cur = gen_xmlNodePtr(n_cur, 1);
18500
18501        ret_val = xmlBufGetNodeContent(buf, cur);
18502        desret_int(ret_val);
18503        call_tests++;
18504        des_xmlBufPtr(n_buf, buf, 0);
18505        des_xmlNodePtr(n_cur, cur, 1);
18506        xmlResetLastError();
18507        if (mem_base != xmlMemBlocks()) {
18508            printf("Leak of %d blocks found in xmlBufGetNodeContent",
18509	           xmlMemBlocks() - mem_base);
18510	    test_ret++;
18511            printf(" %d", n_buf);
18512            printf(" %d", n_cur);
18513            printf("\n");
18514        }
18515    }
18516    }
18517    function_tests++;
18518
18519    return(test_ret);
18520}
18521
18522
18523static int
18524test_xmlBufNodeDump(void) {
18525    int test_ret = 0;
18526
18527
18528    /* missing type support */
18529    return(test_ret);
18530}
18531
18532
18533static int
18534test_xmlBufShrink(void) {
18535    int test_ret = 0;
18536
18537
18538    /* missing type support */
18539    return(test_ret);
18540}
18541
18542
18543static int
18544test_xmlBufUse(void) {
18545    int test_ret = 0;
18546
18547
18548    /* missing type support */
18549    return(test_ret);
18550}
18551
18552
18553static int
18554test_xmlBufferAdd(void) {
18555    int test_ret = 0;
18556
18557    int mem_base;
18558    int ret_val;
18559    xmlBufferPtr buf; /* the buffer to dump */
18560    int n_buf;
18561    xmlChar * str; /* the #xmlChar string */
18562    int n_str;
18563    int len; /* the number of #xmlChar to add */
18564    int n_len;
18565
18566    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18567    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
18568    for (n_len = 0;n_len < gen_nb_int;n_len++) {
18569        mem_base = xmlMemBlocks();
18570        buf = gen_xmlBufferPtr(n_buf, 0);
18571        str = gen_const_xmlChar_ptr(n_str, 1);
18572        len = gen_int(n_len, 2);
18573
18574        ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
18575        desret_int(ret_val);
18576        call_tests++;
18577        des_xmlBufferPtr(n_buf, buf, 0);
18578        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
18579        des_int(n_len, len, 2);
18580        xmlResetLastError();
18581        if (mem_base != xmlMemBlocks()) {
18582            printf("Leak of %d blocks found in xmlBufferAdd",
18583	           xmlMemBlocks() - mem_base);
18584	    test_ret++;
18585            printf(" %d", n_buf);
18586            printf(" %d", n_str);
18587            printf(" %d", n_len);
18588            printf("\n");
18589        }
18590    }
18591    }
18592    }
18593    function_tests++;
18594
18595    return(test_ret);
18596}
18597
18598
18599static int
18600test_xmlBufferAddHead(void) {
18601    int test_ret = 0;
18602
18603    int mem_base;
18604    int ret_val;
18605    xmlBufferPtr buf; /* the buffer */
18606    int n_buf;
18607    xmlChar * str; /* the #xmlChar string */
18608    int n_str;
18609    int len; /* the number of #xmlChar to add */
18610    int n_len;
18611
18612    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18613    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
18614    for (n_len = 0;n_len < gen_nb_int;n_len++) {
18615        mem_base = xmlMemBlocks();
18616        buf = gen_xmlBufferPtr(n_buf, 0);
18617        str = gen_const_xmlChar_ptr(n_str, 1);
18618        len = gen_int(n_len, 2);
18619
18620        ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
18621        desret_int(ret_val);
18622        call_tests++;
18623        des_xmlBufferPtr(n_buf, buf, 0);
18624        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
18625        des_int(n_len, len, 2);
18626        xmlResetLastError();
18627        if (mem_base != xmlMemBlocks()) {
18628            printf("Leak of %d blocks found in xmlBufferAddHead",
18629	           xmlMemBlocks() - mem_base);
18630	    test_ret++;
18631            printf(" %d", n_buf);
18632            printf(" %d", n_str);
18633            printf(" %d", n_len);
18634            printf("\n");
18635        }
18636    }
18637    }
18638    }
18639    function_tests++;
18640
18641    return(test_ret);
18642}
18643
18644
18645static int
18646test_xmlBufferCCat(void) {
18647    int test_ret = 0;
18648
18649    int mem_base;
18650    int ret_val;
18651    xmlBufferPtr buf; /* the buffer to dump */
18652    int n_buf;
18653    char * str; /* the C char string */
18654    int n_str;
18655
18656    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18657    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
18658        mem_base = xmlMemBlocks();
18659        buf = gen_xmlBufferPtr(n_buf, 0);
18660        str = gen_const_char_ptr(n_str, 1);
18661
18662        ret_val = xmlBufferCCat(buf, (const char *)str);
18663        desret_int(ret_val);
18664        call_tests++;
18665        des_xmlBufferPtr(n_buf, buf, 0);
18666        des_const_char_ptr(n_str, (const char *)str, 1);
18667        xmlResetLastError();
18668        if (mem_base != xmlMemBlocks()) {
18669            printf("Leak of %d blocks found in xmlBufferCCat",
18670	           xmlMemBlocks() - mem_base);
18671	    test_ret++;
18672            printf(" %d", n_buf);
18673            printf(" %d", n_str);
18674            printf("\n");
18675        }
18676    }
18677    }
18678    function_tests++;
18679
18680    return(test_ret);
18681}
18682
18683
18684static int
18685test_xmlBufferCat(void) {
18686    int test_ret = 0;
18687
18688    int mem_base;
18689    int ret_val;
18690    xmlBufferPtr buf; /* the buffer to add to */
18691    int n_buf;
18692    xmlChar * str; /* the #xmlChar string */
18693    int n_str;
18694
18695    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18696    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
18697        mem_base = xmlMemBlocks();
18698        buf = gen_xmlBufferPtr(n_buf, 0);
18699        str = gen_const_xmlChar_ptr(n_str, 1);
18700
18701        ret_val = xmlBufferCat(buf, (const xmlChar *)str);
18702        desret_int(ret_val);
18703        call_tests++;
18704        des_xmlBufferPtr(n_buf, buf, 0);
18705        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
18706        xmlResetLastError();
18707        if (mem_base != xmlMemBlocks()) {
18708            printf("Leak of %d blocks found in xmlBufferCat",
18709	           xmlMemBlocks() - mem_base);
18710	    test_ret++;
18711            printf(" %d", n_buf);
18712            printf(" %d", n_str);
18713            printf("\n");
18714        }
18715    }
18716    }
18717    function_tests++;
18718
18719    return(test_ret);
18720}
18721
18722
18723#define gen_nb_const_xmlBufferPtr 1
18724static xmlBufferPtr gen_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18725    return(NULL);
18726}
18727static void des_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, const xmlBufferPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
18728}
18729
18730static int
18731test_xmlBufferContent(void) {
18732    int test_ret = 0;
18733
18734    int mem_base;
18735    const xmlChar * ret_val;
18736    xmlBufferPtr buf; /* the buffer */
18737    int n_buf;
18738
18739    for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
18740        mem_base = xmlMemBlocks();
18741        buf = gen_const_xmlBufferPtr(n_buf, 0);
18742
18743        ret_val = xmlBufferContent((const xmlBufferPtr)buf);
18744        desret_const_xmlChar_ptr(ret_val);
18745        call_tests++;
18746        des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
18747        xmlResetLastError();
18748        if (mem_base != xmlMemBlocks()) {
18749            printf("Leak of %d blocks found in xmlBufferContent",
18750	           xmlMemBlocks() - mem_base);
18751	    test_ret++;
18752            printf(" %d", n_buf);
18753            printf("\n");
18754        }
18755    }
18756    function_tests++;
18757
18758    return(test_ret);
18759}
18760
18761
18762static int
18763test_xmlBufferCreate(void) {
18764    int test_ret = 0;
18765
18766    int mem_base;
18767    xmlBufferPtr ret_val;
18768
18769        mem_base = xmlMemBlocks();
18770
18771        ret_val = xmlBufferCreate();
18772        desret_xmlBufferPtr(ret_val);
18773        call_tests++;
18774        xmlResetLastError();
18775        if (mem_base != xmlMemBlocks()) {
18776            printf("Leak of %d blocks found in xmlBufferCreate",
18777	           xmlMemBlocks() - mem_base);
18778	    test_ret++;
18779            printf("\n");
18780        }
18781    function_tests++;
18782
18783    return(test_ret);
18784}
18785
18786
18787static int
18788test_xmlBufferCreateSize(void) {
18789    int test_ret = 0;
18790
18791
18792    /* missing type support */
18793    return(test_ret);
18794}
18795
18796
18797static int
18798test_xmlBufferCreateStatic(void) {
18799    int test_ret = 0;
18800
18801
18802    /* missing type support */
18803    return(test_ret);
18804}
18805
18806
18807static int
18808test_xmlBufferDetach(void) {
18809    int test_ret = 0;
18810
18811    int mem_base;
18812    xmlChar * ret_val;
18813    xmlBufferPtr buf; /* the buffer */
18814    int n_buf;
18815
18816    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18817        mem_base = xmlMemBlocks();
18818        buf = gen_xmlBufferPtr(n_buf, 0);
18819
18820        ret_val = xmlBufferDetach(buf);
18821        desret_xmlChar_ptr(ret_val);
18822        call_tests++;
18823        des_xmlBufferPtr(n_buf, buf, 0);
18824        xmlResetLastError();
18825        if (mem_base != xmlMemBlocks()) {
18826            printf("Leak of %d blocks found in xmlBufferDetach",
18827	           xmlMemBlocks() - mem_base);
18828	    test_ret++;
18829            printf(" %d", n_buf);
18830            printf("\n");
18831        }
18832    }
18833    function_tests++;
18834
18835    return(test_ret);
18836}
18837
18838
18839static int
18840test_xmlBufferEmpty(void) {
18841    int test_ret = 0;
18842
18843    int mem_base;
18844    xmlBufferPtr buf; /* the buffer */
18845    int n_buf;
18846
18847    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18848        mem_base = xmlMemBlocks();
18849        buf = gen_xmlBufferPtr(n_buf, 0);
18850
18851        xmlBufferEmpty(buf);
18852        call_tests++;
18853        des_xmlBufferPtr(n_buf, buf, 0);
18854        xmlResetLastError();
18855        if (mem_base != xmlMemBlocks()) {
18856            printf("Leak of %d blocks found in xmlBufferEmpty",
18857	           xmlMemBlocks() - mem_base);
18858	    test_ret++;
18859            printf(" %d", n_buf);
18860            printf("\n");
18861        }
18862    }
18863    function_tests++;
18864
18865    return(test_ret);
18866}
18867
18868
18869static int
18870test_xmlBufferGrow(void) {
18871    int test_ret = 0;
18872
18873    int mem_base;
18874    int ret_val;
18875    xmlBufferPtr buf; /* the buffer */
18876    int n_buf;
18877    unsigned int len; /* the minimum free size to allocate */
18878    int n_len;
18879
18880    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18881    for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
18882        mem_base = xmlMemBlocks();
18883        buf = gen_xmlBufferPtr(n_buf, 0);
18884        len = gen_unsigned_int(n_len, 1);
18885
18886        ret_val = xmlBufferGrow(buf, len);
18887        desret_int(ret_val);
18888        call_tests++;
18889        des_xmlBufferPtr(n_buf, buf, 0);
18890        des_unsigned_int(n_len, len, 1);
18891        xmlResetLastError();
18892        if (mem_base != xmlMemBlocks()) {
18893            printf("Leak of %d blocks found in xmlBufferGrow",
18894	           xmlMemBlocks() - mem_base);
18895	    test_ret++;
18896            printf(" %d", n_buf);
18897            printf(" %d", n_len);
18898            printf("\n");
18899        }
18900    }
18901    }
18902    function_tests++;
18903
18904    return(test_ret);
18905}
18906
18907
18908static int
18909test_xmlBufferLength(void) {
18910    int test_ret = 0;
18911
18912    int mem_base;
18913    int ret_val;
18914    xmlBufferPtr buf; /* the buffer */
18915    int n_buf;
18916
18917    for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
18918        mem_base = xmlMemBlocks();
18919        buf = gen_const_xmlBufferPtr(n_buf, 0);
18920
18921        ret_val = xmlBufferLength((const xmlBufferPtr)buf);
18922        desret_int(ret_val);
18923        call_tests++;
18924        des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
18925        xmlResetLastError();
18926        if (mem_base != xmlMemBlocks()) {
18927            printf("Leak of %d blocks found in xmlBufferLength",
18928	           xmlMemBlocks() - mem_base);
18929	    test_ret++;
18930            printf(" %d", n_buf);
18931            printf("\n");
18932        }
18933    }
18934    function_tests++;
18935
18936    return(test_ret);
18937}
18938
18939
18940static int
18941test_xmlBufferResize(void) {
18942    int test_ret = 0;
18943
18944    int mem_base;
18945    int ret_val;
18946    xmlBufferPtr buf; /* the buffer to resize */
18947    int n_buf;
18948    unsigned int size; /* the desired size */
18949    int n_size;
18950
18951    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18952    for (n_size = 0;n_size < gen_nb_unsigned_int;n_size++) {
18953        mem_base = xmlMemBlocks();
18954        buf = gen_xmlBufferPtr(n_buf, 0);
18955        size = gen_unsigned_int(n_size, 1);
18956
18957        ret_val = xmlBufferResize(buf, size);
18958        desret_int(ret_val);
18959        call_tests++;
18960        des_xmlBufferPtr(n_buf, buf, 0);
18961        des_unsigned_int(n_size, size, 1);
18962        xmlResetLastError();
18963        if (mem_base != xmlMemBlocks()) {
18964            printf("Leak of %d blocks found in xmlBufferResize",
18965	           xmlMemBlocks() - mem_base);
18966	    test_ret++;
18967            printf(" %d", n_buf);
18968            printf(" %d", n_size);
18969            printf("\n");
18970        }
18971    }
18972    }
18973    function_tests++;
18974
18975    return(test_ret);
18976}
18977
18978
18979static int
18980test_xmlBufferSetAllocationScheme(void) {
18981    int test_ret = 0;
18982
18983    int mem_base;
18984    xmlBufferPtr buf; /* the buffer to tune */
18985    int n_buf;
18986    xmlBufferAllocationScheme scheme; /* allocation scheme to use */
18987    int n_scheme;
18988
18989    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
18990    for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
18991        mem_base = xmlMemBlocks();
18992        buf = gen_xmlBufferPtr(n_buf, 0);
18993        scheme = gen_xmlBufferAllocationScheme(n_scheme, 1);
18994
18995        xmlBufferSetAllocationScheme(buf, scheme);
18996        if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}
18997        call_tests++;
18998        des_xmlBufferPtr(n_buf, buf, 0);
18999        des_xmlBufferAllocationScheme(n_scheme, scheme, 1);
19000        xmlResetLastError();
19001        if (mem_base != xmlMemBlocks()) {
19002            printf("Leak of %d blocks found in xmlBufferSetAllocationScheme",
19003	           xmlMemBlocks() - mem_base);
19004	    test_ret++;
19005            printf(" %d", n_buf);
19006            printf(" %d", n_scheme);
19007            printf("\n");
19008        }
19009    }
19010    }
19011    function_tests++;
19012
19013    return(test_ret);
19014}
19015
19016
19017static int
19018test_xmlBufferShrink(void) {
19019    int test_ret = 0;
19020
19021    int mem_base;
19022    int ret_val;
19023    xmlBufferPtr buf; /* the buffer to dump */
19024    int n_buf;
19025    unsigned int len; /* the number of xmlChar to remove */
19026    int n_len;
19027
19028    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
19029    for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
19030        mem_base = xmlMemBlocks();
19031        buf = gen_xmlBufferPtr(n_buf, 0);
19032        len = gen_unsigned_int(n_len, 1);
19033
19034        ret_val = xmlBufferShrink(buf, len);
19035        desret_int(ret_val);
19036        call_tests++;
19037        des_xmlBufferPtr(n_buf, buf, 0);
19038        des_unsigned_int(n_len, len, 1);
19039        xmlResetLastError();
19040        if (mem_base != xmlMemBlocks()) {
19041            printf("Leak of %d blocks found in xmlBufferShrink",
19042	           xmlMemBlocks() - mem_base);
19043	    test_ret++;
19044            printf(" %d", n_buf);
19045            printf(" %d", n_len);
19046            printf("\n");
19047        }
19048    }
19049    }
19050    function_tests++;
19051
19052    return(test_ret);
19053}
19054
19055
19056static int
19057test_xmlBufferWriteCHAR(void) {
19058    int test_ret = 0;
19059
19060    int mem_base;
19061    xmlBufferPtr buf; /* the XML buffer */
19062    int n_buf;
19063    xmlChar * string; /* the string to add */
19064    int n_string;
19065
19066    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
19067    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
19068        mem_base = xmlMemBlocks();
19069        buf = gen_xmlBufferPtr(n_buf, 0);
19070        string = gen_const_xmlChar_ptr(n_string, 1);
19071
19072        xmlBufferWriteCHAR(buf, (const xmlChar *)string);
19073        call_tests++;
19074        des_xmlBufferPtr(n_buf, buf, 0);
19075        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
19076        xmlResetLastError();
19077        if (mem_base != xmlMemBlocks()) {
19078            printf("Leak of %d blocks found in xmlBufferWriteCHAR",
19079	           xmlMemBlocks() - mem_base);
19080	    test_ret++;
19081            printf(" %d", n_buf);
19082            printf(" %d", n_string);
19083            printf("\n");
19084        }
19085    }
19086    }
19087    function_tests++;
19088
19089    return(test_ret);
19090}
19091
19092
19093static int
19094test_xmlBufferWriteChar(void) {
19095    int test_ret = 0;
19096
19097    int mem_base;
19098    xmlBufferPtr buf; /* the XML buffer output */
19099    int n_buf;
19100    char * string; /* the string to add */
19101    int n_string;
19102
19103    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
19104    for (n_string = 0;n_string < gen_nb_const_char_ptr;n_string++) {
19105        mem_base = xmlMemBlocks();
19106        buf = gen_xmlBufferPtr(n_buf, 0);
19107        string = gen_const_char_ptr(n_string, 1);
19108
19109        xmlBufferWriteChar(buf, (const char *)string);
19110        call_tests++;
19111        des_xmlBufferPtr(n_buf, buf, 0);
19112        des_const_char_ptr(n_string, (const char *)string, 1);
19113        xmlResetLastError();
19114        if (mem_base != xmlMemBlocks()) {
19115            printf("Leak of %d blocks found in xmlBufferWriteChar",
19116	           xmlMemBlocks() - mem_base);
19117	    test_ret++;
19118            printf(" %d", n_buf);
19119            printf(" %d", n_string);
19120            printf("\n");
19121        }
19122    }
19123    }
19124    function_tests++;
19125
19126    return(test_ret);
19127}
19128
19129
19130static int
19131test_xmlBufferWriteQuotedString(void) {
19132    int test_ret = 0;
19133
19134    int mem_base;
19135    xmlBufferPtr buf; /* the XML buffer output */
19136    int n_buf;
19137    xmlChar * string; /* the string to add */
19138    int n_string;
19139
19140    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
19141    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
19142        mem_base = xmlMemBlocks();
19143        buf = gen_xmlBufferPtr(n_buf, 0);
19144        string = gen_const_xmlChar_ptr(n_string, 1);
19145
19146        xmlBufferWriteQuotedString(buf, (const xmlChar *)string);
19147        call_tests++;
19148        des_xmlBufferPtr(n_buf, buf, 0);
19149        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
19150        xmlResetLastError();
19151        if (mem_base != xmlMemBlocks()) {
19152            printf("Leak of %d blocks found in xmlBufferWriteQuotedString",
19153	           xmlMemBlocks() - mem_base);
19154	    test_ret++;
19155            printf(" %d", n_buf);
19156            printf(" %d", n_string);
19157            printf("\n");
19158        }
19159    }
19160    }
19161    function_tests++;
19162
19163    return(test_ret);
19164}
19165
19166
19167static int
19168test_xmlBuildQName(void) {
19169    int test_ret = 0;
19170
19171    int mem_base;
19172    xmlChar * ret_val;
19173    xmlChar * ncname; /* the Name */
19174    int n_ncname;
19175    xmlChar * prefix; /* the prefix */
19176    int n_prefix;
19177    xmlChar * memory; /* preallocated memory */
19178    int n_memory;
19179    int len; /* preallocated memory length */
19180    int n_len;
19181
19182    for (n_ncname = 0;n_ncname < gen_nb_const_xmlChar_ptr;n_ncname++) {
19183    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
19184    for (n_memory = 0;n_memory < gen_nb_xmlChar_ptr;n_memory++) {
19185    for (n_len = 0;n_len < gen_nb_int;n_len++) {
19186        mem_base = xmlMemBlocks();
19187        ncname = gen_const_xmlChar_ptr(n_ncname, 0);
19188        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
19189        memory = gen_xmlChar_ptr(n_memory, 2);
19190        len = gen_int(n_len, 3);
19191
19192        ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
19193        if ((ret_val != NULL) && (ret_val != ncname) &&
19194              (ret_val != prefix) && (ret_val != memory))
19195              xmlFree(ret_val);
19196	  ret_val = NULL;
19197        desret_xmlChar_ptr(ret_val);
19198        call_tests++;
19199        des_const_xmlChar_ptr(n_ncname, (const xmlChar *)ncname, 0);
19200        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
19201        des_xmlChar_ptr(n_memory, memory, 2);
19202        des_int(n_len, len, 3);
19203        xmlResetLastError();
19204        if (mem_base != xmlMemBlocks()) {
19205            printf("Leak of %d blocks found in xmlBuildQName",
19206	           xmlMemBlocks() - mem_base);
19207	    test_ret++;
19208            printf(" %d", n_ncname);
19209            printf(" %d", n_prefix);
19210            printf(" %d", n_memory);
19211            printf(" %d", n_len);
19212            printf("\n");
19213        }
19214    }
19215    }
19216    }
19217    }
19218    function_tests++;
19219
19220    return(test_ret);
19221}
19222
19223
19224static int
19225test_xmlChildElementCount(void) {
19226    int test_ret = 0;
19227
19228#if defined(LIBXML_TREE_ENABLED)
19229    int mem_base;
19230    unsigned long ret_val;
19231    xmlNodePtr parent; /* the parent node */
19232    int n_parent;
19233
19234    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
19235        mem_base = xmlMemBlocks();
19236        parent = gen_xmlNodePtr(n_parent, 0);
19237
19238        ret_val = xmlChildElementCount(parent);
19239        desret_unsigned_long(ret_val);
19240        call_tests++;
19241        des_xmlNodePtr(n_parent, parent, 0);
19242        xmlResetLastError();
19243        if (mem_base != xmlMemBlocks()) {
19244            printf("Leak of %d blocks found in xmlChildElementCount",
19245	           xmlMemBlocks() - mem_base);
19246	    test_ret++;
19247            printf(" %d", n_parent);
19248            printf("\n");
19249        }
19250    }
19251    function_tests++;
19252#endif
19253
19254    return(test_ret);
19255}
19256
19257
19258static int
19259test_xmlCopyDoc(void) {
19260    int test_ret = 0;
19261
19262#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
19263    int mem_base;
19264    xmlDocPtr ret_val;
19265    xmlDocPtr doc; /* the document */
19266    int n_doc;
19267    int recursive; /* if not zero do a recursive copy. */
19268    int n_recursive;
19269
19270    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
19271    for (n_recursive = 0;n_recursive < gen_nb_int;n_recursive++) {
19272        mem_base = xmlMemBlocks();
19273        doc = gen_xmlDocPtr(n_doc, 0);
19274        recursive = gen_int(n_recursive, 1);
19275
19276        ret_val = xmlCopyDoc(doc, recursive);
19277        desret_xmlDocPtr(ret_val);
19278        call_tests++;
19279        des_xmlDocPtr(n_doc, doc, 0);
19280        des_int(n_recursive, recursive, 1);
19281        xmlResetLastError();
19282        if (mem_base != xmlMemBlocks()) {
19283            printf("Leak of %d blocks found in xmlCopyDoc",
19284	           xmlMemBlocks() - mem_base);
19285	    test_ret++;
19286            printf(" %d", n_doc);
19287            printf(" %d", n_recursive);
19288            printf("\n");
19289        }
19290    }
19291    }
19292    function_tests++;
19293#endif
19294
19295    return(test_ret);
19296}
19297
19298
19299static int
19300test_xmlCopyDtd(void) {
19301    int test_ret = 0;
19302
19303#if defined(LIBXML_TREE_ENABLED)
19304    int mem_base;
19305    xmlDtdPtr ret_val;
19306    xmlDtdPtr dtd; /* the dtd */
19307    int n_dtd;
19308
19309    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
19310        mem_base = xmlMemBlocks();
19311        dtd = gen_xmlDtdPtr(n_dtd, 0);
19312
19313        ret_val = xmlCopyDtd(dtd);
19314        desret_xmlDtdPtr(ret_val);
19315        call_tests++;
19316        des_xmlDtdPtr(n_dtd, dtd, 0);
19317        xmlResetLastError();
19318        if (mem_base != xmlMemBlocks()) {
19319            printf("Leak of %d blocks found in xmlCopyDtd",
19320	           xmlMemBlocks() - mem_base);
19321	    test_ret++;
19322            printf(" %d", n_dtd);
19323            printf("\n");
19324        }
19325    }
19326    function_tests++;
19327#endif
19328
19329    return(test_ret);
19330}
19331
19332
19333static int
19334test_xmlCopyNamespace(void) {
19335    int test_ret = 0;
19336
19337    int mem_base;
19338    xmlNsPtr ret_val;
19339    xmlNsPtr cur; /* the namespace */
19340    int n_cur;
19341
19342    for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
19343        mem_base = xmlMemBlocks();
19344        cur = gen_xmlNsPtr(n_cur, 0);
19345
19346        ret_val = xmlCopyNamespace(cur);
19347        if (ret_val != NULL) xmlFreeNs(ret_val);
19348        desret_xmlNsPtr(ret_val);
19349        call_tests++;
19350        des_xmlNsPtr(n_cur, cur, 0);
19351        xmlResetLastError();
19352        if (mem_base != xmlMemBlocks()) {
19353            printf("Leak of %d blocks found in xmlCopyNamespace",
19354	           xmlMemBlocks() - mem_base);
19355	    test_ret++;
19356            printf(" %d", n_cur);
19357            printf("\n");
19358        }
19359    }
19360    function_tests++;
19361
19362    return(test_ret);
19363}
19364
19365
19366static int
19367test_xmlCopyNamespaceList(void) {
19368    int test_ret = 0;
19369
19370    int mem_base;
19371    xmlNsPtr ret_val;
19372    xmlNsPtr cur; /* the first namespace */
19373    int n_cur;
19374
19375    for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
19376        mem_base = xmlMemBlocks();
19377        cur = gen_xmlNsPtr(n_cur, 0);
19378
19379        ret_val = xmlCopyNamespaceList(cur);
19380        if (ret_val != NULL) xmlFreeNsList(ret_val);
19381        desret_xmlNsPtr(ret_val);
19382        call_tests++;
19383        des_xmlNsPtr(n_cur, cur, 0);
19384        xmlResetLastError();
19385        if (mem_base != xmlMemBlocks()) {
19386            printf("Leak of %d blocks found in xmlCopyNamespaceList",
19387	           xmlMemBlocks() - mem_base);
19388	    test_ret++;
19389            printf(" %d", n_cur);
19390            printf("\n");
19391        }
19392    }
19393    function_tests++;
19394
19395    return(test_ret);
19396}
19397
19398
19399static int
19400test_xmlCopyNode(void) {
19401    int test_ret = 0;
19402
19403    int mem_base;
19404    xmlNodePtr ret_val;
19405    xmlNodePtr node; /* the node */
19406    int n_node;
19407    int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
19408    int n_extended;
19409
19410    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
19411    for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
19412        mem_base = xmlMemBlocks();
19413        node = gen_const_xmlNodePtr(n_node, 0);
19414        extended = gen_int(n_extended, 1);
19415
19416        ret_val = xmlCopyNode((const xmlNodePtr)node, extended);
19417        desret_xmlNodePtr(ret_val);
19418        call_tests++;
19419        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
19420        des_int(n_extended, extended, 1);
19421        xmlResetLastError();
19422        if (mem_base != xmlMemBlocks()) {
19423            printf("Leak of %d blocks found in xmlCopyNode",
19424	           xmlMemBlocks() - mem_base);
19425	    test_ret++;
19426            printf(" %d", n_node);
19427            printf(" %d", n_extended);
19428            printf("\n");
19429        }
19430    }
19431    }
19432    function_tests++;
19433
19434    return(test_ret);
19435}
19436
19437
19438static int
19439test_xmlCopyNodeList(void) {
19440    int test_ret = 0;
19441
19442    int mem_base;
19443    xmlNodePtr ret_val;
19444    xmlNodePtr node; /* the first node in the list. */
19445    int n_node;
19446
19447    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
19448        mem_base = xmlMemBlocks();
19449        node = gen_const_xmlNodePtr(n_node, 0);
19450
19451        ret_val = xmlCopyNodeList((const xmlNodePtr)node);
19452        desret_xmlNodePtr(ret_val);
19453        call_tests++;
19454        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
19455        xmlResetLastError();
19456        if (mem_base != xmlMemBlocks()) {
19457            printf("Leak of %d blocks found in xmlCopyNodeList",
19458	           xmlMemBlocks() - mem_base);
19459	    test_ret++;
19460            printf(" %d", n_node);
19461            printf("\n");
19462        }
19463    }
19464    function_tests++;
19465
19466    return(test_ret);
19467}
19468
19469
19470static int
19471test_xmlCopyProp(void) {
19472    int test_ret = 0;
19473
19474    int mem_base;
19475    xmlAttrPtr ret_val;
19476    xmlNodePtr target; /* the element where the attribute will be grafted */
19477    int n_target;
19478    xmlAttrPtr cur; /* the attribute */
19479    int n_cur;
19480
19481    for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
19482    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
19483        mem_base = xmlMemBlocks();
19484        target = gen_xmlNodePtr(n_target, 0);
19485        cur = gen_xmlAttrPtr(n_cur, 1);
19486
19487        ret_val = xmlCopyProp(target, cur);
19488        desret_xmlAttrPtr(ret_val);
19489        call_tests++;
19490        des_xmlNodePtr(n_target, target, 0);
19491        des_xmlAttrPtr(n_cur, cur, 1);
19492        xmlResetLastError();
19493        if (mem_base != xmlMemBlocks()) {
19494            printf("Leak of %d blocks found in xmlCopyProp",
19495	           xmlMemBlocks() - mem_base);
19496	    test_ret++;
19497            printf(" %d", n_target);
19498            printf(" %d", n_cur);
19499            printf("\n");
19500        }
19501    }
19502    }
19503    function_tests++;
19504
19505    return(test_ret);
19506}
19507
19508
19509static int
19510test_xmlCopyPropList(void) {
19511    int test_ret = 0;
19512
19513    int mem_base;
19514    xmlAttrPtr ret_val;
19515    xmlNodePtr target; /* the element where the attributes will be grafted */
19516    int n_target;
19517    xmlAttrPtr cur; /* the first attribute */
19518    int n_cur;
19519
19520    for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
19521    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
19522        mem_base = xmlMemBlocks();
19523        target = gen_xmlNodePtr(n_target, 0);
19524        cur = gen_xmlAttrPtr(n_cur, 1);
19525
19526        ret_val = xmlCopyPropList(target, cur);
19527        desret_xmlAttrPtr(ret_val);
19528        call_tests++;
19529        des_xmlNodePtr(n_target, target, 0);
19530        des_xmlAttrPtr(n_cur, cur, 1);
19531        xmlResetLastError();
19532        if (mem_base != xmlMemBlocks()) {
19533            printf("Leak of %d blocks found in xmlCopyPropList",
19534	           xmlMemBlocks() - mem_base);
19535	    test_ret++;
19536            printf(" %d", n_target);
19537            printf(" %d", n_cur);
19538            printf("\n");
19539        }
19540    }
19541    }
19542    function_tests++;
19543
19544    return(test_ret);
19545}
19546
19547
19548static int
19549test_xmlCreateIntSubset(void) {
19550    int test_ret = 0;
19551
19552    int mem_base;
19553    xmlDtdPtr ret_val;
19554    xmlDocPtr doc; /* the document pointer */
19555    int n_doc;
19556    xmlChar * name; /* the DTD name */
19557    int n_name;
19558    xmlChar * ExternalID; /* the external (PUBLIC) ID */
19559    int n_ExternalID;
19560    xmlChar * SystemID; /* the system ID */
19561    int n_SystemID;
19562
19563    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
19564    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
19565    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
19566    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
19567        mem_base = xmlMemBlocks();
19568        doc = gen_xmlDocPtr(n_doc, 0);
19569        name = gen_const_xmlChar_ptr(n_name, 1);
19570        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
19571        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
19572
19573        ret_val = xmlCreateIntSubset(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
19574        desret_xmlDtdPtr(ret_val);
19575        call_tests++;
19576        des_xmlDocPtr(n_doc, doc, 0);
19577        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
19578        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
19579        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
19580        xmlResetLastError();
19581        if (mem_base != xmlMemBlocks()) {
19582            printf("Leak of %d blocks found in xmlCreateIntSubset",
19583	           xmlMemBlocks() - mem_base);
19584	    test_ret++;
19585            printf(" %d", n_doc);
19586            printf(" %d", n_name);
19587            printf(" %d", n_ExternalID);
19588            printf(" %d", n_SystemID);
19589            printf("\n");
19590        }
19591    }
19592    }
19593    }
19594    }
19595    function_tests++;
19596
19597    return(test_ret);
19598}
19599
19600
19601#define gen_nb_xmlDOMWrapCtxtPtr 1
19602static xmlDOMWrapCtxtPtr gen_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
19603    return(NULL);
19604}
19605static void des_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, xmlDOMWrapCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
19606}
19607
19608static int
19609test_xmlDOMWrapAdoptNode(void) {
19610    int test_ret = 0;
19611
19612    int mem_base;
19613    int ret_val;
19614    xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
19615    int n_ctxt;
19616    xmlDocPtr sourceDoc; /* the optional sourceDoc */
19617    int n_sourceDoc;
19618    xmlNodePtr node; /* the node to start with */
19619    int n_node;
19620    xmlDocPtr destDoc; /* the destination doc */
19621    int n_destDoc;
19622    xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
19623    int n_destParent;
19624    int options; /* option flags */
19625    int n_options;
19626
19627    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
19628    for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
19629    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
19630    for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
19631    for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
19632    for (n_options = 0;n_options < gen_nb_int;n_options++) {
19633        mem_base = xmlMemBlocks();
19634        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
19635        sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
19636        node = gen_xmlNodePtr(n_node, 2);
19637        destDoc = gen_xmlDocPtr(n_destDoc, 3);
19638        destParent = gen_xmlNodePtr(n_destParent, 4);
19639        options = gen_int(n_options, 5);
19640
19641        ret_val = xmlDOMWrapAdoptNode(ctxt, sourceDoc, node, destDoc, destParent, options);
19642        if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}
19643        desret_int(ret_val);
19644        call_tests++;
19645        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
19646        des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
19647        des_xmlNodePtr(n_node, node, 2);
19648        des_xmlDocPtr(n_destDoc, destDoc, 3);
19649        des_xmlNodePtr(n_destParent, destParent, 4);
19650        des_int(n_options, options, 5);
19651        xmlResetLastError();
19652        if (mem_base != xmlMemBlocks()) {
19653            printf("Leak of %d blocks found in xmlDOMWrapAdoptNode",
19654	           xmlMemBlocks() - mem_base);
19655	    test_ret++;
19656            printf(" %d", n_ctxt);
19657            printf(" %d", n_sourceDoc);
19658            printf(" %d", n_node);
19659            printf(" %d", n_destDoc);
19660            printf(" %d", n_destParent);
19661            printf(" %d", n_options);
19662            printf("\n");
19663        }
19664    }
19665    }
19666    }
19667    }
19668    }
19669    }
19670    function_tests++;
19671
19672    return(test_ret);
19673}
19674
19675
19676static int
19677test_xmlDOMWrapCloneNode(void) {
19678    int test_ret = 0;
19679
19680    int mem_base;
19681    int ret_val;
19682    xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
19683    int n_ctxt;
19684    xmlDocPtr sourceDoc; /* the optional sourceDoc */
19685    int n_sourceDoc;
19686    xmlNodePtr node; /* the node to start with */
19687    int n_node;
19688    xmlNodePtr * resNode; /* the clone of the given @node */
19689    int n_resNode;
19690    xmlDocPtr destDoc; /* the destination doc */
19691    int n_destDoc;
19692    xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
19693    int n_destParent;
19694    int deep; /* descend into child if set */
19695    int n_deep;
19696    int options; /* option flags */
19697    int n_options;
19698
19699    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
19700    for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
19701    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
19702    for (n_resNode = 0;n_resNode < gen_nb_xmlNodePtr_ptr;n_resNode++) {
19703    for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
19704    for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
19705    for (n_deep = 0;n_deep < gen_nb_int;n_deep++) {
19706    for (n_options = 0;n_options < gen_nb_int;n_options++) {
19707        mem_base = xmlMemBlocks();
19708        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
19709        sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
19710        node = gen_xmlNodePtr(n_node, 2);
19711        resNode = gen_xmlNodePtr_ptr(n_resNode, 3);
19712        destDoc = gen_xmlDocPtr(n_destDoc, 4);
19713        destParent = gen_xmlNodePtr(n_destParent, 5);
19714        deep = gen_int(n_deep, 6);
19715        options = gen_int(n_options, 7);
19716
19717        ret_val = xmlDOMWrapCloneNode(ctxt, sourceDoc, node, resNode, destDoc, destParent, deep, options);
19718        desret_int(ret_val);
19719        call_tests++;
19720        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
19721        des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
19722        des_xmlNodePtr(n_node, node, 2);
19723        des_xmlNodePtr_ptr(n_resNode, resNode, 3);
19724        des_xmlDocPtr(n_destDoc, destDoc, 4);
19725        des_xmlNodePtr(n_destParent, destParent, 5);
19726        des_int(n_deep, deep, 6);
19727        des_int(n_options, options, 7);
19728        xmlResetLastError();
19729        if (mem_base != xmlMemBlocks()) {
19730            printf("Leak of %d blocks found in xmlDOMWrapCloneNode",
19731	           xmlMemBlocks() - mem_base);
19732	    test_ret++;
19733            printf(" %d", n_ctxt);
19734            printf(" %d", n_sourceDoc);
19735            printf(" %d", n_node);
19736            printf(" %d", n_resNode);
19737            printf(" %d", n_destDoc);
19738            printf(" %d", n_destParent);
19739            printf(" %d", n_deep);
19740            printf(" %d", n_options);
19741            printf("\n");
19742        }
19743    }
19744    }
19745    }
19746    }
19747    }
19748    }
19749    }
19750    }
19751    function_tests++;
19752
19753    return(test_ret);
19754}
19755
19756
19757static int
19758test_xmlDOMWrapNewCtxt(void) {
19759    int test_ret = 0;
19760
19761
19762    /* missing type support */
19763    return(test_ret);
19764}
19765
19766
19767static int
19768test_xmlDOMWrapReconcileNamespaces(void) {
19769    int test_ret = 0;
19770
19771    int mem_base;
19772    int ret_val;
19773    xmlDOMWrapCtxtPtr ctxt; /* DOM wrapper context, unused at the moment */
19774    int n_ctxt;
19775    xmlNodePtr elem; /* the element-node */
19776    int n_elem;
19777    int options; /* option flags */
19778    int n_options;
19779
19780    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
19781    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
19782    for (n_options = 0;n_options < gen_nb_int;n_options++) {
19783        mem_base = xmlMemBlocks();
19784        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
19785        elem = gen_xmlNodePtr(n_elem, 1);
19786        options = gen_int(n_options, 2);
19787
19788        ret_val = xmlDOMWrapReconcileNamespaces(ctxt, elem, options);
19789        desret_int(ret_val);
19790        call_tests++;
19791        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
19792        des_xmlNodePtr(n_elem, elem, 1);
19793        des_int(n_options, options, 2);
19794        xmlResetLastError();
19795        if (mem_base != xmlMemBlocks()) {
19796            printf("Leak of %d blocks found in xmlDOMWrapReconcileNamespaces",
19797	           xmlMemBlocks() - mem_base);
19798	    test_ret++;
19799            printf(" %d", n_ctxt);
19800            printf(" %d", n_elem);
19801            printf(" %d", n_options);
19802            printf("\n");
19803        }
19804    }
19805    }
19806    }
19807    function_tests++;
19808
19809    return(test_ret);
19810}
19811
19812
19813static int
19814test_xmlDOMWrapRemoveNode(void) {
19815    int test_ret = 0;
19816
19817    int mem_base;
19818    int ret_val;
19819    xmlDOMWrapCtxtPtr ctxt; /* a DOM wrapper context */
19820    int n_ctxt;
19821    xmlDocPtr doc; /* the doc */
19822    int n_doc;
19823    xmlNodePtr node; /* the node to be removed. */
19824    int n_node;
19825    int options; /* set of options, unused at the moment */
19826    int n_options;
19827
19828    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
19829    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
19830    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
19831    for (n_options = 0;n_options < gen_nb_int;n_options++) {
19832        mem_base = xmlMemBlocks();
19833        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
19834        doc = gen_xmlDocPtr(n_doc, 1);
19835        node = gen_xmlNodePtr(n_node, 2);
19836        options = gen_int(n_options, 3);
19837
19838        ret_val = xmlDOMWrapRemoveNode(ctxt, doc, node, options);
19839        desret_int(ret_val);
19840        call_tests++;
19841        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
19842        des_xmlDocPtr(n_doc, doc, 1);
19843        des_xmlNodePtr(n_node, node, 2);
19844        des_int(n_options, options, 3);
19845        xmlResetLastError();
19846        if (mem_base != xmlMemBlocks()) {
19847            printf("Leak of %d blocks found in xmlDOMWrapRemoveNode",
19848	           xmlMemBlocks() - mem_base);
19849	    test_ret++;
19850            printf(" %d", n_ctxt);
19851            printf(" %d", n_doc);
19852            printf(" %d", n_node);
19853            printf(" %d", n_options);
19854            printf("\n");
19855        }
19856    }
19857    }
19858    }
19859    }
19860    function_tests++;
19861
19862    return(test_ret);
19863}
19864
19865
19866static int
19867test_xmlDocCopyNode(void) {
19868    int test_ret = 0;
19869
19870    int mem_base;
19871    xmlNodePtr ret_val;
19872    xmlNodePtr node; /* the node */
19873    int n_node;
19874    xmlDocPtr doc; /* the document */
19875    int n_doc;
19876    int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
19877    int n_extended;
19878
19879    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
19880    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
19881    for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
19882        mem_base = xmlMemBlocks();
19883        node = gen_const_xmlNodePtr(n_node, 0);
19884        doc = gen_xmlDocPtr(n_doc, 1);
19885        extended = gen_int(n_extended, 2);
19886
19887        ret_val = xmlDocCopyNode((const xmlNodePtr)node, doc, extended);
19888        desret_xmlNodePtr(ret_val);
19889        call_tests++;
19890        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
19891        des_xmlDocPtr(n_doc, doc, 1);
19892        des_int(n_extended, extended, 2);
19893        xmlResetLastError();
19894        if (mem_base != xmlMemBlocks()) {
19895            printf("Leak of %d blocks found in xmlDocCopyNode",
19896	           xmlMemBlocks() - mem_base);
19897	    test_ret++;
19898            printf(" %d", n_node);
19899            printf(" %d", n_doc);
19900            printf(" %d", n_extended);
19901            printf("\n");
19902        }
19903    }
19904    }
19905    }
19906    function_tests++;
19907
19908    return(test_ret);
19909}
19910
19911
19912static int
19913test_xmlDocCopyNodeList(void) {
19914    int test_ret = 0;
19915
19916    int mem_base;
19917    xmlNodePtr ret_val;
19918    xmlDocPtr doc; /* the target document */
19919    int n_doc;
19920    xmlNodePtr node; /* the first node in the list. */
19921    int n_node;
19922
19923    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
19924    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
19925        mem_base = xmlMemBlocks();
19926        doc = gen_xmlDocPtr(n_doc, 0);
19927        node = gen_const_xmlNodePtr(n_node, 1);
19928
19929        ret_val = xmlDocCopyNodeList(doc, (const xmlNodePtr)node);
19930        desret_xmlNodePtr(ret_val);
19931        call_tests++;
19932        des_xmlDocPtr(n_doc, doc, 0);
19933        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
19934        xmlResetLastError();
19935        if (mem_base != xmlMemBlocks()) {
19936            printf("Leak of %d blocks found in xmlDocCopyNodeList",
19937	           xmlMemBlocks() - mem_base);
19938	    test_ret++;
19939            printf(" %d", n_doc);
19940            printf(" %d", n_node);
19941            printf("\n");
19942        }
19943    }
19944    }
19945    function_tests++;
19946
19947    return(test_ret);
19948}
19949
19950
19951static int
19952test_xmlDocDump(void) {
19953    int test_ret = 0;
19954
19955#if defined(LIBXML_OUTPUT_ENABLED)
19956    int mem_base;
19957    int ret_val;
19958    FILE * f; /* the FILE* */
19959    int n_f;
19960    xmlDocPtr cur; /* the document */
19961    int n_cur;
19962
19963    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
19964    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
19965        mem_base = xmlMemBlocks();
19966        f = gen_FILE_ptr(n_f, 0);
19967        cur = gen_xmlDocPtr(n_cur, 1);
19968
19969        ret_val = xmlDocDump(f, cur);
19970        desret_int(ret_val);
19971        call_tests++;
19972        des_FILE_ptr(n_f, f, 0);
19973        des_xmlDocPtr(n_cur, cur, 1);
19974        xmlResetLastError();
19975        if (mem_base != xmlMemBlocks()) {
19976            printf("Leak of %d blocks found in xmlDocDump",
19977	           xmlMemBlocks() - mem_base);
19978	    test_ret++;
19979            printf(" %d", n_f);
19980            printf(" %d", n_cur);
19981            printf("\n");
19982        }
19983    }
19984    }
19985    function_tests++;
19986#endif
19987
19988    return(test_ret);
19989}
19990
19991
19992static int
19993test_xmlDocDumpFormatMemory(void) {
19994    int test_ret = 0;
19995
19996#if defined(LIBXML_OUTPUT_ENABLED)
19997    int mem_base;
19998    xmlDocPtr cur; /* the document */
19999    int n_cur;
20000    xmlChar ** mem; /* OUT: the memory pointer */
20001    int n_mem;
20002    int * size; /* OUT: the memory length */
20003    int n_size;
20004    int format; /* should formatting spaces been added */
20005    int n_format;
20006
20007    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
20008    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
20009    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
20010    for (n_format = 0;n_format < gen_nb_int;n_format++) {
20011        mem_base = xmlMemBlocks();
20012        cur = gen_xmlDocPtr(n_cur, 0);
20013        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
20014        size = gen_int_ptr(n_size, 2);
20015        format = gen_int(n_format, 3);
20016
20017        xmlDocDumpFormatMemory(cur, mem, size, format);
20018        call_tests++;
20019        des_xmlDocPtr(n_cur, cur, 0);
20020        des_xmlChar_ptr_ptr(n_mem, mem, 1);
20021        des_int_ptr(n_size, size, 2);
20022        des_int(n_format, format, 3);
20023        xmlResetLastError();
20024        if (mem_base != xmlMemBlocks()) {
20025            printf("Leak of %d blocks found in xmlDocDumpFormatMemory",
20026	           xmlMemBlocks() - mem_base);
20027	    test_ret++;
20028            printf(" %d", n_cur);
20029            printf(" %d", n_mem);
20030            printf(" %d", n_size);
20031            printf(" %d", n_format);
20032            printf("\n");
20033        }
20034    }
20035    }
20036    }
20037    }
20038    function_tests++;
20039#endif
20040
20041    return(test_ret);
20042}
20043
20044
20045static int
20046test_xmlDocDumpFormatMemoryEnc(void) {
20047    int test_ret = 0;
20048
20049#if defined(LIBXML_OUTPUT_ENABLED)
20050    int mem_base;
20051    xmlDocPtr out_doc; /* Document to generate XML text from */
20052    int n_out_doc;
20053    xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
20054    int n_doc_txt_ptr;
20055    int * doc_txt_len; /* Length of the generated XML text */
20056    int n_doc_txt_len;
20057    char * txt_encoding; /* Character encoding to use when generating XML text */
20058    int n_txt_encoding;
20059    int format; /* should formatting spaces been added */
20060    int n_format;
20061
20062    for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
20063    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
20064    for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
20065    for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
20066    for (n_format = 0;n_format < gen_nb_int;n_format++) {
20067        mem_base = xmlMemBlocks();
20068        out_doc = gen_xmlDocPtr(n_out_doc, 0);
20069        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
20070        doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
20071        txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
20072        format = gen_int(n_format, 4);
20073
20074        xmlDocDumpFormatMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding, format);
20075        call_tests++;
20076        des_xmlDocPtr(n_out_doc, out_doc, 0);
20077        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
20078        des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
20079        des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
20080        des_int(n_format, format, 4);
20081        xmlResetLastError();
20082        if (mem_base != xmlMemBlocks()) {
20083            printf("Leak of %d blocks found in xmlDocDumpFormatMemoryEnc",
20084	           xmlMemBlocks() - mem_base);
20085	    test_ret++;
20086            printf(" %d", n_out_doc);
20087            printf(" %d", n_doc_txt_ptr);
20088            printf(" %d", n_doc_txt_len);
20089            printf(" %d", n_txt_encoding);
20090            printf(" %d", n_format);
20091            printf("\n");
20092        }
20093    }
20094    }
20095    }
20096    }
20097    }
20098    function_tests++;
20099#endif
20100
20101    return(test_ret);
20102}
20103
20104
20105static int
20106test_xmlDocDumpMemory(void) {
20107    int test_ret = 0;
20108
20109#if defined(LIBXML_OUTPUT_ENABLED)
20110    int mem_base;
20111    xmlDocPtr cur; /* the document */
20112    int n_cur;
20113    xmlChar ** mem; /* OUT: the memory pointer */
20114    int n_mem;
20115    int * size; /* OUT: the memory length */
20116    int n_size;
20117
20118    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
20119    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
20120    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
20121        mem_base = xmlMemBlocks();
20122        cur = gen_xmlDocPtr(n_cur, 0);
20123        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
20124        size = gen_int_ptr(n_size, 2);
20125
20126        xmlDocDumpMemory(cur, mem, size);
20127        call_tests++;
20128        des_xmlDocPtr(n_cur, cur, 0);
20129        des_xmlChar_ptr_ptr(n_mem, mem, 1);
20130        des_int_ptr(n_size, size, 2);
20131        xmlResetLastError();
20132        if (mem_base != xmlMemBlocks()) {
20133            printf("Leak of %d blocks found in xmlDocDumpMemory",
20134	           xmlMemBlocks() - mem_base);
20135	    test_ret++;
20136            printf(" %d", n_cur);
20137            printf(" %d", n_mem);
20138            printf(" %d", n_size);
20139            printf("\n");
20140        }
20141    }
20142    }
20143    }
20144    function_tests++;
20145#endif
20146
20147    return(test_ret);
20148}
20149
20150
20151static int
20152test_xmlDocDumpMemoryEnc(void) {
20153    int test_ret = 0;
20154
20155#if defined(LIBXML_OUTPUT_ENABLED)
20156    int mem_base;
20157    xmlDocPtr out_doc; /* Document to generate XML text from */
20158    int n_out_doc;
20159    xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
20160    int n_doc_txt_ptr;
20161    int * doc_txt_len; /* Length of the generated XML text */
20162    int n_doc_txt_len;
20163    char * txt_encoding; /* Character encoding to use when generating XML text */
20164    int n_txt_encoding;
20165
20166    for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
20167    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
20168    for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
20169    for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
20170        mem_base = xmlMemBlocks();
20171        out_doc = gen_xmlDocPtr(n_out_doc, 0);
20172        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
20173        doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
20174        txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
20175
20176        xmlDocDumpMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding);
20177        call_tests++;
20178        des_xmlDocPtr(n_out_doc, out_doc, 0);
20179        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
20180        des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
20181        des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
20182        xmlResetLastError();
20183        if (mem_base != xmlMemBlocks()) {
20184            printf("Leak of %d blocks found in xmlDocDumpMemoryEnc",
20185	           xmlMemBlocks() - mem_base);
20186	    test_ret++;
20187            printf(" %d", n_out_doc);
20188            printf(" %d", n_doc_txt_ptr);
20189            printf(" %d", n_doc_txt_len);
20190            printf(" %d", n_txt_encoding);
20191            printf("\n");
20192        }
20193    }
20194    }
20195    }
20196    }
20197    function_tests++;
20198#endif
20199
20200    return(test_ret);
20201}
20202
20203
20204static int
20205test_xmlDocFormatDump(void) {
20206    int test_ret = 0;
20207
20208#if defined(LIBXML_OUTPUT_ENABLED)
20209    int mem_base;
20210    int ret_val;
20211    FILE * f; /* the FILE* */
20212    int n_f;
20213    xmlDocPtr cur; /* the document */
20214    int n_cur;
20215    int format; /* should formatting spaces been added */
20216    int n_format;
20217
20218    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
20219    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
20220    for (n_format = 0;n_format < gen_nb_int;n_format++) {
20221        mem_base = xmlMemBlocks();
20222        f = gen_FILE_ptr(n_f, 0);
20223        cur = gen_xmlDocPtr(n_cur, 1);
20224        format = gen_int(n_format, 2);
20225
20226        ret_val = xmlDocFormatDump(f, cur, format);
20227        desret_int(ret_val);
20228        call_tests++;
20229        des_FILE_ptr(n_f, f, 0);
20230        des_xmlDocPtr(n_cur, cur, 1);
20231        des_int(n_format, format, 2);
20232        xmlResetLastError();
20233        if (mem_base != xmlMemBlocks()) {
20234            printf("Leak of %d blocks found in xmlDocFormatDump",
20235	           xmlMemBlocks() - mem_base);
20236	    test_ret++;
20237            printf(" %d", n_f);
20238            printf(" %d", n_cur);
20239            printf(" %d", n_format);
20240            printf("\n");
20241        }
20242    }
20243    }
20244    }
20245    function_tests++;
20246#endif
20247
20248    return(test_ret);
20249}
20250
20251
20252static int
20253test_xmlDocGetRootElement(void) {
20254    int test_ret = 0;
20255
20256    int mem_base;
20257    xmlNodePtr ret_val;
20258    xmlDocPtr doc; /* the document */
20259    int n_doc;
20260
20261    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20262        mem_base = xmlMemBlocks();
20263        doc = gen_xmlDocPtr(n_doc, 0);
20264
20265        ret_val = xmlDocGetRootElement(doc);
20266        desret_xmlNodePtr(ret_val);
20267        call_tests++;
20268        des_xmlDocPtr(n_doc, doc, 0);
20269        xmlResetLastError();
20270        if (mem_base != xmlMemBlocks()) {
20271            printf("Leak of %d blocks found in xmlDocGetRootElement",
20272	           xmlMemBlocks() - mem_base);
20273	    test_ret++;
20274            printf(" %d", n_doc);
20275            printf("\n");
20276        }
20277    }
20278    function_tests++;
20279
20280    return(test_ret);
20281}
20282
20283
20284static int
20285test_xmlDocSetRootElement(void) {
20286    int test_ret = 0;
20287
20288#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
20289    int mem_base;
20290    xmlNodePtr ret_val;
20291    xmlDocPtr doc; /* the document */
20292    int n_doc;
20293    xmlNodePtr root; /* the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead. */
20294    int n_root;
20295
20296    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20297    for (n_root = 0;n_root < gen_nb_xmlNodePtr_in;n_root++) {
20298        mem_base = xmlMemBlocks();
20299        doc = gen_xmlDocPtr(n_doc, 0);
20300        root = gen_xmlNodePtr_in(n_root, 1);
20301
20302        ret_val = xmlDocSetRootElement(doc, root);
20303        if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; }
20304        desret_xmlNodePtr(ret_val);
20305        call_tests++;
20306        des_xmlDocPtr(n_doc, doc, 0);
20307        des_xmlNodePtr_in(n_root, root, 1);
20308        xmlResetLastError();
20309        if (mem_base != xmlMemBlocks()) {
20310            printf("Leak of %d blocks found in xmlDocSetRootElement",
20311	           xmlMemBlocks() - mem_base);
20312	    test_ret++;
20313            printf(" %d", n_doc);
20314            printf(" %d", n_root);
20315            printf("\n");
20316        }
20317    }
20318    }
20319    function_tests++;
20320#endif
20321
20322    return(test_ret);
20323}
20324
20325
20326static int
20327test_xmlElemDump(void) {
20328    int test_ret = 0;
20329
20330#if defined(LIBXML_OUTPUT_ENABLED)
20331    int mem_base;
20332    FILE * f; /* the FILE * for the output */
20333    int n_f;
20334    xmlDocPtr doc; /* the document */
20335    int n_doc;
20336    xmlNodePtr cur; /* the current node */
20337    int n_cur;
20338
20339    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
20340    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20341    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
20342        mem_base = xmlMemBlocks();
20343        f = gen_FILE_ptr(n_f, 0);
20344        doc = gen_xmlDocPtr(n_doc, 1);
20345        cur = gen_xmlNodePtr(n_cur, 2);
20346
20347        xmlElemDump(f, doc, cur);
20348        call_tests++;
20349        des_FILE_ptr(n_f, f, 0);
20350        des_xmlDocPtr(n_doc, doc, 1);
20351        des_xmlNodePtr(n_cur, cur, 2);
20352        xmlResetLastError();
20353        if (mem_base != xmlMemBlocks()) {
20354            printf("Leak of %d blocks found in xmlElemDump",
20355	           xmlMemBlocks() - mem_base);
20356	    test_ret++;
20357            printf(" %d", n_f);
20358            printf(" %d", n_doc);
20359            printf(" %d", n_cur);
20360            printf("\n");
20361        }
20362    }
20363    }
20364    }
20365    function_tests++;
20366#endif
20367
20368    return(test_ret);
20369}
20370
20371
20372static int
20373test_xmlFirstElementChild(void) {
20374    int test_ret = 0;
20375
20376#if defined(LIBXML_TREE_ENABLED)
20377    int mem_base;
20378    xmlNodePtr ret_val;
20379    xmlNodePtr parent; /* the parent node */
20380    int n_parent;
20381
20382    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
20383        mem_base = xmlMemBlocks();
20384        parent = gen_xmlNodePtr(n_parent, 0);
20385
20386        ret_val = xmlFirstElementChild(parent);
20387        desret_xmlNodePtr(ret_val);
20388        call_tests++;
20389        des_xmlNodePtr(n_parent, parent, 0);
20390        xmlResetLastError();
20391        if (mem_base != xmlMemBlocks()) {
20392            printf("Leak of %d blocks found in xmlFirstElementChild",
20393	           xmlMemBlocks() - mem_base);
20394	    test_ret++;
20395            printf(" %d", n_parent);
20396            printf("\n");
20397        }
20398    }
20399    function_tests++;
20400#endif
20401
20402    return(test_ret);
20403}
20404
20405
20406static int
20407test_xmlGetBufferAllocationScheme(void) {
20408    int test_ret = 0;
20409
20410    int mem_base;
20411    xmlBufferAllocationScheme ret_val;
20412
20413        mem_base = xmlMemBlocks();
20414
20415        ret_val = xmlGetBufferAllocationScheme();
20416        desret_xmlBufferAllocationScheme(ret_val);
20417        call_tests++;
20418        xmlResetLastError();
20419        if (mem_base != xmlMemBlocks()) {
20420            printf("Leak of %d blocks found in xmlGetBufferAllocationScheme",
20421	           xmlMemBlocks() - mem_base);
20422	    test_ret++;
20423            printf("\n");
20424        }
20425    function_tests++;
20426
20427    return(test_ret);
20428}
20429
20430
20431static int
20432test_xmlGetCompressMode(void) {
20433    int test_ret = 0;
20434
20435    int mem_base;
20436    int ret_val;
20437
20438        mem_base = xmlMemBlocks();
20439
20440        ret_val = xmlGetCompressMode();
20441        desret_int(ret_val);
20442        call_tests++;
20443        xmlResetLastError();
20444        if (mem_base != xmlMemBlocks()) {
20445            printf("Leak of %d blocks found in xmlGetCompressMode",
20446	           xmlMemBlocks() - mem_base);
20447	    test_ret++;
20448            printf("\n");
20449        }
20450    function_tests++;
20451
20452    return(test_ret);
20453}
20454
20455
20456static int
20457test_xmlGetDocCompressMode(void) {
20458    int test_ret = 0;
20459
20460    int mem_base;
20461    int ret_val;
20462    xmlDocPtr doc; /* the document */
20463    int n_doc;
20464
20465    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20466        mem_base = xmlMemBlocks();
20467        doc = gen_xmlDocPtr(n_doc, 0);
20468
20469        ret_val = xmlGetDocCompressMode(doc);
20470        desret_int(ret_val);
20471        call_tests++;
20472        des_xmlDocPtr(n_doc, doc, 0);
20473        xmlResetLastError();
20474        if (mem_base != xmlMemBlocks()) {
20475            printf("Leak of %d blocks found in xmlGetDocCompressMode",
20476	           xmlMemBlocks() - mem_base);
20477	    test_ret++;
20478            printf(" %d", n_doc);
20479            printf("\n");
20480        }
20481    }
20482    function_tests++;
20483
20484    return(test_ret);
20485}
20486
20487
20488static int
20489test_xmlGetIntSubset(void) {
20490    int test_ret = 0;
20491
20492    int mem_base;
20493    xmlDtdPtr ret_val;
20494    xmlDocPtr doc; /* the document pointer */
20495    int n_doc;
20496
20497    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20498        mem_base = xmlMemBlocks();
20499        doc = gen_xmlDocPtr(n_doc, 0);
20500
20501        ret_val = xmlGetIntSubset(doc);
20502        desret_xmlDtdPtr(ret_val);
20503        call_tests++;
20504        des_xmlDocPtr(n_doc, doc, 0);
20505        xmlResetLastError();
20506        if (mem_base != xmlMemBlocks()) {
20507            printf("Leak of %d blocks found in xmlGetIntSubset",
20508	           xmlMemBlocks() - mem_base);
20509	    test_ret++;
20510            printf(" %d", n_doc);
20511            printf("\n");
20512        }
20513    }
20514    function_tests++;
20515
20516    return(test_ret);
20517}
20518
20519
20520static int
20521test_xmlGetLastChild(void) {
20522    int test_ret = 0;
20523
20524    int mem_base;
20525    xmlNodePtr ret_val;
20526    xmlNodePtr parent; /* the parent node */
20527    int n_parent;
20528
20529    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
20530        mem_base = xmlMemBlocks();
20531        parent = gen_xmlNodePtr(n_parent, 0);
20532
20533        ret_val = xmlGetLastChild(parent);
20534        desret_xmlNodePtr(ret_val);
20535        call_tests++;
20536        des_xmlNodePtr(n_parent, parent, 0);
20537        xmlResetLastError();
20538        if (mem_base != xmlMemBlocks()) {
20539            printf("Leak of %d blocks found in xmlGetLastChild",
20540	           xmlMemBlocks() - mem_base);
20541	    test_ret++;
20542            printf(" %d", n_parent);
20543            printf("\n");
20544        }
20545    }
20546    function_tests++;
20547
20548    return(test_ret);
20549}
20550
20551
20552static int
20553test_xmlGetLineNo(void) {
20554    int test_ret = 0;
20555
20556    int mem_base;
20557    long ret_val;
20558    xmlNodePtr node; /* valid node */
20559    int n_node;
20560
20561    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20562        mem_base = xmlMemBlocks();
20563        node = gen_xmlNodePtr(n_node, 0);
20564
20565        ret_val = xmlGetLineNo(node);
20566        desret_long(ret_val);
20567        call_tests++;
20568        des_xmlNodePtr(n_node, node, 0);
20569        xmlResetLastError();
20570        if (mem_base != xmlMemBlocks()) {
20571            printf("Leak of %d blocks found in xmlGetLineNo",
20572	           xmlMemBlocks() - mem_base);
20573	    test_ret++;
20574            printf(" %d", n_node);
20575            printf("\n");
20576        }
20577    }
20578    function_tests++;
20579
20580    return(test_ret);
20581}
20582
20583
20584static int
20585test_xmlGetNoNsProp(void) {
20586    int test_ret = 0;
20587
20588    int mem_base;
20589    xmlChar * ret_val;
20590    xmlNodePtr node; /* the node */
20591    int n_node;
20592    xmlChar * name; /* the attribute name */
20593    int n_name;
20594
20595    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20596    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
20597        mem_base = xmlMemBlocks();
20598        node = gen_xmlNodePtr(n_node, 0);
20599        name = gen_const_xmlChar_ptr(n_name, 1);
20600
20601        ret_val = xmlGetNoNsProp(node, (const xmlChar *)name);
20602        desret_xmlChar_ptr(ret_val);
20603        call_tests++;
20604        des_xmlNodePtr(n_node, node, 0);
20605        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
20606        xmlResetLastError();
20607        if (mem_base != xmlMemBlocks()) {
20608            printf("Leak of %d blocks found in xmlGetNoNsProp",
20609	           xmlMemBlocks() - mem_base);
20610	    test_ret++;
20611            printf(" %d", n_node);
20612            printf(" %d", n_name);
20613            printf("\n");
20614        }
20615    }
20616    }
20617    function_tests++;
20618
20619    return(test_ret);
20620}
20621
20622
20623static int
20624test_xmlGetNodePath(void) {
20625    int test_ret = 0;
20626
20627#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
20628    int mem_base;
20629    xmlChar * ret_val;
20630    xmlNodePtr node; /* a node */
20631    int n_node;
20632
20633    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20634        mem_base = xmlMemBlocks();
20635        node = gen_xmlNodePtr(n_node, 0);
20636
20637        ret_val = xmlGetNodePath(node);
20638        desret_xmlChar_ptr(ret_val);
20639        call_tests++;
20640        des_xmlNodePtr(n_node, node, 0);
20641        xmlResetLastError();
20642        if (mem_base != xmlMemBlocks()) {
20643            printf("Leak of %d blocks found in xmlGetNodePath",
20644	           xmlMemBlocks() - mem_base);
20645	    test_ret++;
20646            printf(" %d", n_node);
20647            printf("\n");
20648        }
20649    }
20650    function_tests++;
20651#endif
20652
20653    return(test_ret);
20654}
20655
20656
20657static int
20658test_xmlGetNsList(void) {
20659    int test_ret = 0;
20660
20661
20662    /* missing type support */
20663    return(test_ret);
20664}
20665
20666
20667static int
20668test_xmlGetNsProp(void) {
20669    int test_ret = 0;
20670
20671    int mem_base;
20672    xmlChar * ret_val;
20673    xmlNodePtr node; /* the node */
20674    int n_node;
20675    xmlChar * name; /* the attribute name */
20676    int n_name;
20677    xmlChar * nameSpace; /* the URI of the namespace */
20678    int n_nameSpace;
20679
20680    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20681    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
20682    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
20683        mem_base = xmlMemBlocks();
20684        node = gen_xmlNodePtr(n_node, 0);
20685        name = gen_const_xmlChar_ptr(n_name, 1);
20686        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
20687
20688        ret_val = xmlGetNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
20689        desret_xmlChar_ptr(ret_val);
20690        call_tests++;
20691        des_xmlNodePtr(n_node, node, 0);
20692        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
20693        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
20694        xmlResetLastError();
20695        if (mem_base != xmlMemBlocks()) {
20696            printf("Leak of %d blocks found in xmlGetNsProp",
20697	           xmlMemBlocks() - mem_base);
20698	    test_ret++;
20699            printf(" %d", n_node);
20700            printf(" %d", n_name);
20701            printf(" %d", n_nameSpace);
20702            printf("\n");
20703        }
20704    }
20705    }
20706    }
20707    function_tests++;
20708
20709    return(test_ret);
20710}
20711
20712
20713static int
20714test_xmlGetProp(void) {
20715    int test_ret = 0;
20716
20717    int mem_base;
20718    xmlChar * ret_val;
20719    xmlNodePtr node; /* the node */
20720    int n_node;
20721    xmlChar * name; /* the attribute name */
20722    int n_name;
20723
20724    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20725    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
20726        mem_base = xmlMemBlocks();
20727        node = gen_xmlNodePtr(n_node, 0);
20728        name = gen_const_xmlChar_ptr(n_name, 1);
20729
20730        ret_val = xmlGetProp(node, (const xmlChar *)name);
20731        desret_xmlChar_ptr(ret_val);
20732        call_tests++;
20733        des_xmlNodePtr(n_node, node, 0);
20734        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
20735        xmlResetLastError();
20736        if (mem_base != xmlMemBlocks()) {
20737            printf("Leak of %d blocks found in xmlGetProp",
20738	           xmlMemBlocks() - mem_base);
20739	    test_ret++;
20740            printf(" %d", n_node);
20741            printf(" %d", n_name);
20742            printf("\n");
20743        }
20744    }
20745    }
20746    function_tests++;
20747
20748    return(test_ret);
20749}
20750
20751
20752static int
20753test_xmlHasNsProp(void) {
20754    int test_ret = 0;
20755
20756    int mem_base;
20757    xmlAttrPtr ret_val;
20758    xmlNodePtr node; /* the node */
20759    int n_node;
20760    xmlChar * name; /* the attribute name */
20761    int n_name;
20762    xmlChar * nameSpace; /* the URI of the namespace */
20763    int n_nameSpace;
20764
20765    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20766    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
20767    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
20768        mem_base = xmlMemBlocks();
20769        node = gen_xmlNodePtr(n_node, 0);
20770        name = gen_const_xmlChar_ptr(n_name, 1);
20771        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
20772
20773        ret_val = xmlHasNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
20774        desret_xmlAttrPtr(ret_val);
20775        call_tests++;
20776        des_xmlNodePtr(n_node, node, 0);
20777        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
20778        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
20779        xmlResetLastError();
20780        if (mem_base != xmlMemBlocks()) {
20781            printf("Leak of %d blocks found in xmlHasNsProp",
20782	           xmlMemBlocks() - mem_base);
20783	    test_ret++;
20784            printf(" %d", n_node);
20785            printf(" %d", n_name);
20786            printf(" %d", n_nameSpace);
20787            printf("\n");
20788        }
20789    }
20790    }
20791    }
20792    function_tests++;
20793
20794    return(test_ret);
20795}
20796
20797
20798static int
20799test_xmlHasProp(void) {
20800    int test_ret = 0;
20801
20802    int mem_base;
20803    xmlAttrPtr ret_val;
20804    xmlNodePtr node; /* the node */
20805    int n_node;
20806    xmlChar * name; /* the attribute name */
20807    int n_name;
20808
20809    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20810    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
20811        mem_base = xmlMemBlocks();
20812        node = gen_xmlNodePtr(n_node, 0);
20813        name = gen_const_xmlChar_ptr(n_name, 1);
20814
20815        ret_val = xmlHasProp(node, (const xmlChar *)name);
20816        desret_xmlAttrPtr(ret_val);
20817        call_tests++;
20818        des_xmlNodePtr(n_node, node, 0);
20819        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
20820        xmlResetLastError();
20821        if (mem_base != xmlMemBlocks()) {
20822            printf("Leak of %d blocks found in xmlHasProp",
20823	           xmlMemBlocks() - mem_base);
20824	    test_ret++;
20825            printf(" %d", n_node);
20826            printf(" %d", n_name);
20827            printf("\n");
20828        }
20829    }
20830    }
20831    function_tests++;
20832
20833    return(test_ret);
20834}
20835
20836
20837static int
20838test_xmlIsBlankNode(void) {
20839    int test_ret = 0;
20840
20841    int mem_base;
20842    int ret_val;
20843    xmlNodePtr node; /* the node */
20844    int n_node;
20845
20846    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
20847        mem_base = xmlMemBlocks();
20848        node = gen_xmlNodePtr(n_node, 0);
20849
20850        ret_val = xmlIsBlankNode(node);
20851        desret_int(ret_val);
20852        call_tests++;
20853        des_xmlNodePtr(n_node, node, 0);
20854        xmlResetLastError();
20855        if (mem_base != xmlMemBlocks()) {
20856            printf("Leak of %d blocks found in xmlIsBlankNode",
20857	           xmlMemBlocks() - mem_base);
20858	    test_ret++;
20859            printf(" %d", n_node);
20860            printf("\n");
20861        }
20862    }
20863    function_tests++;
20864
20865    return(test_ret);
20866}
20867
20868
20869static int
20870test_xmlIsXHTML(void) {
20871    int test_ret = 0;
20872
20873    int mem_base;
20874    int ret_val;
20875    xmlChar * systemID; /* the system identifier */
20876    int n_systemID;
20877    xmlChar * publicID; /* the public identifier */
20878    int n_publicID;
20879
20880    for (n_systemID = 0;n_systemID < gen_nb_const_xmlChar_ptr;n_systemID++) {
20881    for (n_publicID = 0;n_publicID < gen_nb_const_xmlChar_ptr;n_publicID++) {
20882        mem_base = xmlMemBlocks();
20883        systemID = gen_const_xmlChar_ptr(n_systemID, 0);
20884        publicID = gen_const_xmlChar_ptr(n_publicID, 1);
20885
20886        ret_val = xmlIsXHTML((const xmlChar *)systemID, (const xmlChar *)publicID);
20887        desret_int(ret_val);
20888        call_tests++;
20889        des_const_xmlChar_ptr(n_systemID, (const xmlChar *)systemID, 0);
20890        des_const_xmlChar_ptr(n_publicID, (const xmlChar *)publicID, 1);
20891        xmlResetLastError();
20892        if (mem_base != xmlMemBlocks()) {
20893            printf("Leak of %d blocks found in xmlIsXHTML",
20894	           xmlMemBlocks() - mem_base);
20895	    test_ret++;
20896            printf(" %d", n_systemID);
20897            printf(" %d", n_publicID);
20898            printf("\n");
20899        }
20900    }
20901    }
20902    function_tests++;
20903
20904    return(test_ret);
20905}
20906
20907
20908static int
20909test_xmlLastElementChild(void) {
20910    int test_ret = 0;
20911
20912#if defined(LIBXML_TREE_ENABLED)
20913    int mem_base;
20914    xmlNodePtr ret_val;
20915    xmlNodePtr parent; /* the parent node */
20916    int n_parent;
20917
20918    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
20919        mem_base = xmlMemBlocks();
20920        parent = gen_xmlNodePtr(n_parent, 0);
20921
20922        ret_val = xmlLastElementChild(parent);
20923        desret_xmlNodePtr(ret_val);
20924        call_tests++;
20925        des_xmlNodePtr(n_parent, parent, 0);
20926        xmlResetLastError();
20927        if (mem_base != xmlMemBlocks()) {
20928            printf("Leak of %d blocks found in xmlLastElementChild",
20929	           xmlMemBlocks() - mem_base);
20930	    test_ret++;
20931            printf(" %d", n_parent);
20932            printf("\n");
20933        }
20934    }
20935    function_tests++;
20936#endif
20937
20938    return(test_ret);
20939}
20940
20941
20942static int
20943test_xmlNewCDataBlock(void) {
20944    int test_ret = 0;
20945
20946    int mem_base;
20947    xmlNodePtr ret_val;
20948    xmlDocPtr doc; /* the document */
20949    int n_doc;
20950    xmlChar * content; /* the CDATA block content content */
20951    int n_content;
20952    int len; /* the length of the block */
20953    int n_len;
20954
20955    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
20956    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
20957    for (n_len = 0;n_len < gen_nb_int;n_len++) {
20958        mem_base = xmlMemBlocks();
20959        doc = gen_xmlDocPtr(n_doc, 0);
20960        content = gen_const_xmlChar_ptr(n_content, 1);
20961        len = gen_int(n_len, 2);
20962
20963        ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
20964        desret_xmlNodePtr(ret_val);
20965        call_tests++;
20966        des_xmlDocPtr(n_doc, doc, 0);
20967        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
20968        des_int(n_len, len, 2);
20969        xmlResetLastError();
20970        if (mem_base != xmlMemBlocks()) {
20971            printf("Leak of %d blocks found in xmlNewCDataBlock",
20972	           xmlMemBlocks() - mem_base);
20973	    test_ret++;
20974            printf(" %d", n_doc);
20975            printf(" %d", n_content);
20976            printf(" %d", n_len);
20977            printf("\n");
20978        }
20979    }
20980    }
20981    }
20982    function_tests++;
20983
20984    return(test_ret);
20985}
20986
20987
20988static int
20989test_xmlNewCharRef(void) {
20990    int test_ret = 0;
20991
20992    int mem_base;
20993    xmlNodePtr ret_val;
20994    xmlDocPtr doc; /* the document */
20995    int n_doc;
20996    xmlChar * name; /* the char ref string, starting with # or "&# ... ;" */
20997    int n_name;
20998
20999    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21000    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21001        mem_base = xmlMemBlocks();
21002        doc = gen_xmlDocPtr(n_doc, 0);
21003        name = gen_const_xmlChar_ptr(n_name, 1);
21004
21005        ret_val = xmlNewCharRef(doc, (const xmlChar *)name);
21006        desret_xmlNodePtr(ret_val);
21007        call_tests++;
21008        des_xmlDocPtr(n_doc, doc, 0);
21009        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21010        xmlResetLastError();
21011        if (mem_base != xmlMemBlocks()) {
21012            printf("Leak of %d blocks found in xmlNewCharRef",
21013	           xmlMemBlocks() - mem_base);
21014	    test_ret++;
21015            printf(" %d", n_doc);
21016            printf(" %d", n_name);
21017            printf("\n");
21018        }
21019    }
21020    }
21021    function_tests++;
21022
21023    return(test_ret);
21024}
21025
21026
21027static int
21028test_xmlNewChild(void) {
21029    int test_ret = 0;
21030
21031#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
21032#ifdef LIBXML_TREE_ENABLED
21033    int mem_base;
21034    xmlNodePtr ret_val;
21035    xmlNodePtr parent; /* the parent node */
21036    int n_parent;
21037    xmlNsPtr ns; /* a namespace if any */
21038    int n_ns;
21039    xmlChar * name; /* the name of the child */
21040    int n_name;
21041    xmlChar * content; /* the XML content of the child if any. */
21042    int n_content;
21043
21044    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
21045    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21046    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21047    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21048        mem_base = xmlMemBlocks();
21049        parent = gen_xmlNodePtr(n_parent, 0);
21050        ns = gen_xmlNsPtr(n_ns, 1);
21051        name = gen_const_xmlChar_ptr(n_name, 2);
21052        content = gen_const_xmlChar_ptr(n_content, 3);
21053
21054        ret_val = xmlNewChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
21055        desret_xmlNodePtr(ret_val);
21056        call_tests++;
21057        des_xmlNodePtr(n_parent, parent, 0);
21058        des_xmlNsPtr(n_ns, ns, 1);
21059        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
21060        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
21061        xmlResetLastError();
21062        if (mem_base != xmlMemBlocks()) {
21063            printf("Leak of %d blocks found in xmlNewChild",
21064	           xmlMemBlocks() - mem_base);
21065	    test_ret++;
21066            printf(" %d", n_parent);
21067            printf(" %d", n_ns);
21068            printf(" %d", n_name);
21069            printf(" %d", n_content);
21070            printf("\n");
21071        }
21072    }
21073    }
21074    }
21075    }
21076    function_tests++;
21077#endif
21078#endif
21079
21080    return(test_ret);
21081}
21082
21083
21084static int
21085test_xmlNewComment(void) {
21086    int test_ret = 0;
21087
21088    int mem_base;
21089    xmlNodePtr ret_val;
21090    xmlChar * content; /* the comment content */
21091    int n_content;
21092
21093    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21094        mem_base = xmlMemBlocks();
21095        content = gen_const_xmlChar_ptr(n_content, 0);
21096
21097        ret_val = xmlNewComment((const xmlChar *)content);
21098        desret_xmlNodePtr(ret_val);
21099        call_tests++;
21100        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
21101        xmlResetLastError();
21102        if (mem_base != xmlMemBlocks()) {
21103            printf("Leak of %d blocks found in xmlNewComment",
21104	           xmlMemBlocks() - mem_base);
21105	    test_ret++;
21106            printf(" %d", n_content);
21107            printf("\n");
21108        }
21109    }
21110    function_tests++;
21111
21112    return(test_ret);
21113}
21114
21115
21116static int
21117test_xmlNewDoc(void) {
21118    int test_ret = 0;
21119
21120    int mem_base;
21121    xmlDocPtr ret_val;
21122    xmlChar * version; /* xmlChar string giving the version of XML "1.0" */
21123    int n_version;
21124
21125    for (n_version = 0;n_version < gen_nb_const_xmlChar_ptr;n_version++) {
21126        mem_base = xmlMemBlocks();
21127        version = gen_const_xmlChar_ptr(n_version, 0);
21128
21129        ret_val = xmlNewDoc((const xmlChar *)version);
21130        desret_xmlDocPtr(ret_val);
21131        call_tests++;
21132        des_const_xmlChar_ptr(n_version, (const xmlChar *)version, 0);
21133        xmlResetLastError();
21134        if (mem_base != xmlMemBlocks()) {
21135            printf("Leak of %d blocks found in xmlNewDoc",
21136	           xmlMemBlocks() - mem_base);
21137	    test_ret++;
21138            printf(" %d", n_version);
21139            printf("\n");
21140        }
21141    }
21142    function_tests++;
21143
21144    return(test_ret);
21145}
21146
21147
21148static int
21149test_xmlNewDocComment(void) {
21150    int test_ret = 0;
21151
21152    int mem_base;
21153    xmlNodePtr ret_val;
21154    xmlDocPtr doc; /* the document */
21155    int n_doc;
21156    xmlChar * content; /* the comment content */
21157    int n_content;
21158
21159    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21160    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21161        mem_base = xmlMemBlocks();
21162        doc = gen_xmlDocPtr(n_doc, 0);
21163        content = gen_const_xmlChar_ptr(n_content, 1);
21164
21165        ret_val = xmlNewDocComment(doc, (const xmlChar *)content);
21166        desret_xmlNodePtr(ret_val);
21167        call_tests++;
21168        des_xmlDocPtr(n_doc, doc, 0);
21169        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
21170        xmlResetLastError();
21171        if (mem_base != xmlMemBlocks()) {
21172            printf("Leak of %d blocks found in xmlNewDocComment",
21173	           xmlMemBlocks() - mem_base);
21174	    test_ret++;
21175            printf(" %d", n_doc);
21176            printf(" %d", n_content);
21177            printf("\n");
21178        }
21179    }
21180    }
21181    function_tests++;
21182
21183    return(test_ret);
21184}
21185
21186
21187static int
21188test_xmlNewDocFragment(void) {
21189    int test_ret = 0;
21190
21191#if defined(LIBXML_TREE_ENABLED)
21192    int mem_base;
21193    xmlNodePtr ret_val;
21194    xmlDocPtr doc; /* the document owning the fragment */
21195    int n_doc;
21196
21197    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21198        mem_base = xmlMemBlocks();
21199        doc = gen_xmlDocPtr(n_doc, 0);
21200
21201        ret_val = xmlNewDocFragment(doc);
21202        desret_xmlNodePtr(ret_val);
21203        call_tests++;
21204        des_xmlDocPtr(n_doc, doc, 0);
21205        xmlResetLastError();
21206        if (mem_base != xmlMemBlocks()) {
21207            printf("Leak of %d blocks found in xmlNewDocFragment",
21208	           xmlMemBlocks() - mem_base);
21209	    test_ret++;
21210            printf(" %d", n_doc);
21211            printf("\n");
21212        }
21213    }
21214    function_tests++;
21215#endif
21216
21217    return(test_ret);
21218}
21219
21220
21221static int
21222test_xmlNewDocNode(void) {
21223    int test_ret = 0;
21224
21225    int mem_base;
21226    xmlNodePtr ret_val;
21227    xmlDocPtr doc; /* the document */
21228    int n_doc;
21229    xmlNsPtr ns; /* namespace if any */
21230    int n_ns;
21231    xmlChar * name; /* the node name */
21232    int n_name;
21233    xmlChar * content; /* the XML text content if any */
21234    int n_content;
21235
21236    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21237    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21238    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21239    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21240        mem_base = xmlMemBlocks();
21241        doc = gen_xmlDocPtr(n_doc, 0);
21242        ns = gen_xmlNsPtr(n_ns, 1);
21243        name = gen_const_xmlChar_ptr(n_name, 2);
21244        content = gen_const_xmlChar_ptr(n_content, 3);
21245
21246        ret_val = xmlNewDocNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
21247        desret_xmlNodePtr(ret_val);
21248        call_tests++;
21249        des_xmlDocPtr(n_doc, doc, 0);
21250        des_xmlNsPtr(n_ns, ns, 1);
21251        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
21252        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
21253        xmlResetLastError();
21254        if (mem_base != xmlMemBlocks()) {
21255            printf("Leak of %d blocks found in xmlNewDocNode",
21256	           xmlMemBlocks() - mem_base);
21257	    test_ret++;
21258            printf(" %d", n_doc);
21259            printf(" %d", n_ns);
21260            printf(" %d", n_name);
21261            printf(" %d", n_content);
21262            printf("\n");
21263        }
21264    }
21265    }
21266    }
21267    }
21268    function_tests++;
21269
21270    return(test_ret);
21271}
21272
21273
21274static int
21275test_xmlNewDocNodeEatName(void) {
21276    int test_ret = 0;
21277
21278    int mem_base;
21279    xmlNodePtr ret_val;
21280    xmlDocPtr doc; /* the document */
21281    int n_doc;
21282    xmlNsPtr ns; /* namespace if any */
21283    int n_ns;
21284    xmlChar * name; /* the node name */
21285    int n_name;
21286    xmlChar * content; /* the XML text content if any */
21287    int n_content;
21288
21289    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21290    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21291    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
21292    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21293        mem_base = xmlMemBlocks();
21294        doc = gen_xmlDocPtr(n_doc, 0);
21295        ns = gen_xmlNsPtr(n_ns, 1);
21296        name = gen_eaten_name(n_name, 2);
21297        content = gen_const_xmlChar_ptr(n_content, 3);
21298
21299        ret_val = xmlNewDocNodeEatName(doc, ns, name, (const xmlChar *)content);
21300        desret_xmlNodePtr(ret_val);
21301        call_tests++;
21302        des_xmlDocPtr(n_doc, doc, 0);
21303        des_xmlNsPtr(n_ns, ns, 1);
21304        des_eaten_name(n_name, name, 2);
21305        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
21306        xmlResetLastError();
21307        if (mem_base != xmlMemBlocks()) {
21308            printf("Leak of %d blocks found in xmlNewDocNodeEatName",
21309	           xmlMemBlocks() - mem_base);
21310	    test_ret++;
21311            printf(" %d", n_doc);
21312            printf(" %d", n_ns);
21313            printf(" %d", n_name);
21314            printf(" %d", n_content);
21315            printf("\n");
21316        }
21317    }
21318    }
21319    }
21320    }
21321    function_tests++;
21322
21323    return(test_ret);
21324}
21325
21326
21327static int
21328test_xmlNewDocPI(void) {
21329    int test_ret = 0;
21330
21331    int mem_base;
21332    xmlNodePtr ret_val;
21333    xmlDocPtr doc; /* the target document */
21334    int n_doc;
21335    xmlChar * name; /* the processing instruction name */
21336    int n_name;
21337    xmlChar * content; /* the PI content */
21338    int n_content;
21339
21340    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21341    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21342    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21343        mem_base = xmlMemBlocks();
21344        doc = gen_xmlDocPtr(n_doc, 0);
21345        name = gen_const_xmlChar_ptr(n_name, 1);
21346        content = gen_const_xmlChar_ptr(n_content, 2);
21347
21348        ret_val = xmlNewDocPI(doc, (const xmlChar *)name, (const xmlChar *)content);
21349        desret_xmlNodePtr(ret_val);
21350        call_tests++;
21351        des_xmlDocPtr(n_doc, doc, 0);
21352        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21353        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
21354        xmlResetLastError();
21355        if (mem_base != xmlMemBlocks()) {
21356            printf("Leak of %d blocks found in xmlNewDocPI",
21357	           xmlMemBlocks() - mem_base);
21358	    test_ret++;
21359            printf(" %d", n_doc);
21360            printf(" %d", n_name);
21361            printf(" %d", n_content);
21362            printf("\n");
21363        }
21364    }
21365    }
21366    }
21367    function_tests++;
21368
21369    return(test_ret);
21370}
21371
21372
21373static int
21374test_xmlNewDocProp(void) {
21375    int test_ret = 0;
21376
21377    int mem_base;
21378    xmlAttrPtr ret_val;
21379    xmlDocPtr doc; /* the document */
21380    int n_doc;
21381    xmlChar * name; /* the name of the attribute */
21382    int n_name;
21383    xmlChar * value; /* the value of the attribute */
21384    int n_value;
21385
21386    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21387    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21388    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
21389        mem_base = xmlMemBlocks();
21390        doc = gen_xmlDocPtr(n_doc, 0);
21391        name = gen_const_xmlChar_ptr(n_name, 1);
21392        value = gen_const_xmlChar_ptr(n_value, 2);
21393
21394        ret_val = xmlNewDocProp(doc, (const xmlChar *)name, (const xmlChar *)value);
21395        desret_xmlAttrPtr(ret_val);
21396        call_tests++;
21397        des_xmlDocPtr(n_doc, doc, 0);
21398        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21399        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
21400        xmlResetLastError();
21401        if (mem_base != xmlMemBlocks()) {
21402            printf("Leak of %d blocks found in xmlNewDocProp",
21403	           xmlMemBlocks() - mem_base);
21404	    test_ret++;
21405            printf(" %d", n_doc);
21406            printf(" %d", n_name);
21407            printf(" %d", n_value);
21408            printf("\n");
21409        }
21410    }
21411    }
21412    }
21413    function_tests++;
21414
21415    return(test_ret);
21416}
21417
21418
21419static int
21420test_xmlNewDocRawNode(void) {
21421    int test_ret = 0;
21422
21423#if defined(LIBXML_TREE_ENABLED)
21424#ifdef LIBXML_TREE_ENABLED
21425    int mem_base;
21426    xmlNodePtr ret_val;
21427    xmlDocPtr doc; /* the document */
21428    int n_doc;
21429    xmlNsPtr ns; /* namespace if any */
21430    int n_ns;
21431    xmlChar * name; /* the node name */
21432    int n_name;
21433    xmlChar * content; /* the text content if any */
21434    int n_content;
21435
21436    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21437    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21438    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21439    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21440        mem_base = xmlMemBlocks();
21441        doc = gen_xmlDocPtr(n_doc, 0);
21442        ns = gen_xmlNsPtr(n_ns, 1);
21443        name = gen_const_xmlChar_ptr(n_name, 2);
21444        content = gen_const_xmlChar_ptr(n_content, 3);
21445
21446        ret_val = xmlNewDocRawNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
21447        desret_xmlNodePtr(ret_val);
21448        call_tests++;
21449        des_xmlDocPtr(n_doc, doc, 0);
21450        des_xmlNsPtr(n_ns, ns, 1);
21451        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
21452        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
21453        xmlResetLastError();
21454        if (mem_base != xmlMemBlocks()) {
21455            printf("Leak of %d blocks found in xmlNewDocRawNode",
21456	           xmlMemBlocks() - mem_base);
21457	    test_ret++;
21458            printf(" %d", n_doc);
21459            printf(" %d", n_ns);
21460            printf(" %d", n_name);
21461            printf(" %d", n_content);
21462            printf("\n");
21463        }
21464    }
21465    }
21466    }
21467    }
21468    function_tests++;
21469#endif
21470#endif
21471
21472    return(test_ret);
21473}
21474
21475
21476static int
21477test_xmlNewDocText(void) {
21478    int test_ret = 0;
21479
21480    int mem_base;
21481    xmlNodePtr ret_val;
21482    xmlDocPtr doc; /* the document */
21483    int n_doc;
21484    xmlChar * content; /* the text content */
21485    int n_content;
21486
21487    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21488    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21489        mem_base = xmlMemBlocks();
21490        doc = gen_xmlDocPtr(n_doc, 0);
21491        content = gen_const_xmlChar_ptr(n_content, 1);
21492
21493        ret_val = xmlNewDocText(doc, (const xmlChar *)content);
21494        desret_xmlNodePtr(ret_val);
21495        call_tests++;
21496        des_xmlDocPtr(n_doc, doc, 0);
21497        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
21498        xmlResetLastError();
21499        if (mem_base != xmlMemBlocks()) {
21500            printf("Leak of %d blocks found in xmlNewDocText",
21501	           xmlMemBlocks() - mem_base);
21502	    test_ret++;
21503            printf(" %d", n_doc);
21504            printf(" %d", n_content);
21505            printf("\n");
21506        }
21507    }
21508    }
21509    function_tests++;
21510
21511    return(test_ret);
21512}
21513
21514
21515static int
21516test_xmlNewDocTextLen(void) {
21517    int test_ret = 0;
21518
21519    int mem_base;
21520    xmlNodePtr ret_val;
21521    xmlDocPtr doc; /* the document */
21522    int n_doc;
21523    xmlChar * content; /* the text content */
21524    int n_content;
21525    int len; /* the text len. */
21526    int n_len;
21527
21528    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21529    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21530    for (n_len = 0;n_len < gen_nb_int;n_len++) {
21531        mem_base = xmlMemBlocks();
21532        doc = gen_xmlDocPtr(n_doc, 0);
21533        content = gen_const_xmlChar_ptr(n_content, 1);
21534        len = gen_int(n_len, 2);
21535
21536        ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
21537        desret_xmlNodePtr(ret_val);
21538        call_tests++;
21539        des_xmlDocPtr(n_doc, doc, 0);
21540        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
21541        des_int(n_len, len, 2);
21542        xmlResetLastError();
21543        if (mem_base != xmlMemBlocks()) {
21544            printf("Leak of %d blocks found in xmlNewDocTextLen",
21545	           xmlMemBlocks() - mem_base);
21546	    test_ret++;
21547            printf(" %d", n_doc);
21548            printf(" %d", n_content);
21549            printf(" %d", n_len);
21550            printf("\n");
21551        }
21552    }
21553    }
21554    }
21555    function_tests++;
21556
21557    return(test_ret);
21558}
21559
21560
21561static int
21562test_xmlNewDtd(void) {
21563    int test_ret = 0;
21564
21565    int mem_base;
21566    xmlDtdPtr ret_val;
21567    xmlDocPtr doc; /* the document pointer */
21568    int n_doc;
21569    xmlChar * name; /* the DTD name */
21570    int n_name;
21571    xmlChar * ExternalID; /* the external ID */
21572    int n_ExternalID;
21573    xmlChar * SystemID; /* the system ID */
21574    int n_SystemID;
21575
21576    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21577    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21578    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
21579    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
21580        mem_base = xmlMemBlocks();
21581        doc = gen_xmlDocPtr(n_doc, 0);
21582        name = gen_const_xmlChar_ptr(n_name, 1);
21583        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
21584        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
21585
21586        ret_val = xmlNewDtd(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
21587        desret_xmlDtdPtr(ret_val);
21588        call_tests++;
21589        des_xmlDocPtr(n_doc, doc, 0);
21590        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21591        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
21592        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
21593        xmlResetLastError();
21594        if (mem_base != xmlMemBlocks()) {
21595            printf("Leak of %d blocks found in xmlNewDtd",
21596	           xmlMemBlocks() - mem_base);
21597	    test_ret++;
21598            printf(" %d", n_doc);
21599            printf(" %d", n_name);
21600            printf(" %d", n_ExternalID);
21601            printf(" %d", n_SystemID);
21602            printf("\n");
21603        }
21604    }
21605    }
21606    }
21607    }
21608    function_tests++;
21609
21610    return(test_ret);
21611}
21612
21613
21614static int
21615test_xmlNewNode(void) {
21616    int test_ret = 0;
21617
21618    int mem_base;
21619    xmlNodePtr ret_val;
21620    xmlNsPtr ns; /* namespace if any */
21621    int n_ns;
21622    xmlChar * name; /* the node name */
21623    int n_name;
21624
21625    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21626    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21627        mem_base = xmlMemBlocks();
21628        ns = gen_xmlNsPtr(n_ns, 0);
21629        name = gen_const_xmlChar_ptr(n_name, 1);
21630
21631        ret_val = xmlNewNode(ns, (const xmlChar *)name);
21632        desret_xmlNodePtr(ret_val);
21633        call_tests++;
21634        des_xmlNsPtr(n_ns, ns, 0);
21635        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21636        xmlResetLastError();
21637        if (mem_base != xmlMemBlocks()) {
21638            printf("Leak of %d blocks found in xmlNewNode",
21639	           xmlMemBlocks() - mem_base);
21640	    test_ret++;
21641            printf(" %d", n_ns);
21642            printf(" %d", n_name);
21643            printf("\n");
21644        }
21645    }
21646    }
21647    function_tests++;
21648
21649    return(test_ret);
21650}
21651
21652
21653static int
21654test_xmlNewNodeEatName(void) {
21655    int test_ret = 0;
21656
21657    int mem_base;
21658    xmlNodePtr ret_val;
21659    xmlNsPtr ns; /* namespace if any */
21660    int n_ns;
21661    xmlChar * name; /* the node name */
21662    int n_name;
21663
21664    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21665    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
21666        mem_base = xmlMemBlocks();
21667        ns = gen_xmlNsPtr(n_ns, 0);
21668        name = gen_eaten_name(n_name, 1);
21669
21670        ret_val = xmlNewNodeEatName(ns, name);
21671        desret_xmlNodePtr(ret_val);
21672        call_tests++;
21673        des_xmlNsPtr(n_ns, ns, 0);
21674        des_eaten_name(n_name, name, 1);
21675        xmlResetLastError();
21676        if (mem_base != xmlMemBlocks()) {
21677            printf("Leak of %d blocks found in xmlNewNodeEatName",
21678	           xmlMemBlocks() - mem_base);
21679	    test_ret++;
21680            printf(" %d", n_ns);
21681            printf(" %d", n_name);
21682            printf("\n");
21683        }
21684    }
21685    }
21686    function_tests++;
21687
21688    return(test_ret);
21689}
21690
21691
21692static int
21693test_xmlNewNs(void) {
21694    int test_ret = 0;
21695
21696    int mem_base;
21697    xmlNsPtr ret_val;
21698    xmlNodePtr node; /* the element carrying the namespace */
21699    int n_node;
21700    xmlChar * href; /* the URI associated */
21701    int n_href;
21702    xmlChar * prefix; /* the prefix for the namespace */
21703    int n_prefix;
21704
21705    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
21706    for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
21707    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
21708        mem_base = xmlMemBlocks();
21709        node = gen_xmlNodePtr(n_node, 0);
21710        href = gen_const_xmlChar_ptr(n_href, 1);
21711        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
21712
21713        ret_val = xmlNewNs(node, (const xmlChar *)href, (const xmlChar *)prefix);
21714        if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val);
21715        desret_xmlNsPtr(ret_val);
21716        call_tests++;
21717        des_xmlNodePtr(n_node, node, 0);
21718        des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 1);
21719        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
21720        xmlResetLastError();
21721        if (mem_base != xmlMemBlocks()) {
21722            printf("Leak of %d blocks found in xmlNewNs",
21723	           xmlMemBlocks() - mem_base);
21724	    test_ret++;
21725            printf(" %d", n_node);
21726            printf(" %d", n_href);
21727            printf(" %d", n_prefix);
21728            printf("\n");
21729        }
21730    }
21731    }
21732    }
21733    function_tests++;
21734
21735    return(test_ret);
21736}
21737
21738
21739static int
21740test_xmlNewNsProp(void) {
21741    int test_ret = 0;
21742
21743    int mem_base;
21744    xmlAttrPtr ret_val;
21745    xmlNodePtr node; /* the holding node */
21746    int n_node;
21747    xmlNsPtr ns; /* the namespace */
21748    int n_ns;
21749    xmlChar * name; /* the name of the attribute */
21750    int n_name;
21751    xmlChar * value; /* the value of the attribute */
21752    int n_value;
21753
21754    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
21755    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21756    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21757    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
21758        mem_base = xmlMemBlocks();
21759        node = gen_xmlNodePtr(n_node, 0);
21760        ns = gen_xmlNsPtr(n_ns, 1);
21761        name = gen_const_xmlChar_ptr(n_name, 2);
21762        value = gen_const_xmlChar_ptr(n_value, 3);
21763
21764        ret_val = xmlNewNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
21765        desret_xmlAttrPtr(ret_val);
21766        call_tests++;
21767        des_xmlNodePtr(n_node, node, 0);
21768        des_xmlNsPtr(n_ns, ns, 1);
21769        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
21770        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
21771        xmlResetLastError();
21772        if (mem_base != xmlMemBlocks()) {
21773            printf("Leak of %d blocks found in xmlNewNsProp",
21774	           xmlMemBlocks() - mem_base);
21775	    test_ret++;
21776            printf(" %d", n_node);
21777            printf(" %d", n_ns);
21778            printf(" %d", n_name);
21779            printf(" %d", n_value);
21780            printf("\n");
21781        }
21782    }
21783    }
21784    }
21785    }
21786    function_tests++;
21787
21788    return(test_ret);
21789}
21790
21791
21792static int
21793test_xmlNewNsPropEatName(void) {
21794    int test_ret = 0;
21795
21796    int mem_base;
21797    xmlAttrPtr ret_val;
21798    xmlNodePtr node; /* the holding node */
21799    int n_node;
21800    xmlNsPtr ns; /* the namespace */
21801    int n_ns;
21802    xmlChar * name; /* the name of the attribute */
21803    int n_name;
21804    xmlChar * value; /* the value of the attribute */
21805    int n_value;
21806
21807    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
21808    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
21809    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
21810    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
21811        mem_base = xmlMemBlocks();
21812        node = gen_xmlNodePtr(n_node, 0);
21813        ns = gen_xmlNsPtr(n_ns, 1);
21814        name = gen_eaten_name(n_name, 2);
21815        value = gen_const_xmlChar_ptr(n_value, 3);
21816
21817        ret_val = xmlNewNsPropEatName(node, ns, name, (const xmlChar *)value);
21818        desret_xmlAttrPtr(ret_val);
21819        call_tests++;
21820        des_xmlNodePtr(n_node, node, 0);
21821        des_xmlNsPtr(n_ns, ns, 1);
21822        des_eaten_name(n_name, name, 2);
21823        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
21824        xmlResetLastError();
21825        if (mem_base != xmlMemBlocks()) {
21826            printf("Leak of %d blocks found in xmlNewNsPropEatName",
21827	           xmlMemBlocks() - mem_base);
21828	    test_ret++;
21829            printf(" %d", n_node);
21830            printf(" %d", n_ns);
21831            printf(" %d", n_name);
21832            printf(" %d", n_value);
21833            printf("\n");
21834        }
21835    }
21836    }
21837    }
21838    }
21839    function_tests++;
21840
21841    return(test_ret);
21842}
21843
21844
21845static int
21846test_xmlNewPI(void) {
21847    int test_ret = 0;
21848
21849    int mem_base;
21850    xmlNodePtr ret_val;
21851    xmlChar * name; /* the processing instruction name */
21852    int n_name;
21853    xmlChar * content; /* the PI content */
21854    int n_content;
21855
21856    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21857    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21858        mem_base = xmlMemBlocks();
21859        name = gen_const_xmlChar_ptr(n_name, 0);
21860        content = gen_const_xmlChar_ptr(n_content, 1);
21861
21862        ret_val = xmlNewPI((const xmlChar *)name, (const xmlChar *)content);
21863        desret_xmlNodePtr(ret_val);
21864        call_tests++;
21865        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
21866        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
21867        xmlResetLastError();
21868        if (mem_base != xmlMemBlocks()) {
21869            printf("Leak of %d blocks found in xmlNewPI",
21870	           xmlMemBlocks() - mem_base);
21871	    test_ret++;
21872            printf(" %d", n_name);
21873            printf(" %d", n_content);
21874            printf("\n");
21875        }
21876    }
21877    }
21878    function_tests++;
21879
21880    return(test_ret);
21881}
21882
21883
21884static int
21885test_xmlNewProp(void) {
21886    int test_ret = 0;
21887
21888#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
21889#ifdef LIBXML_TREE_ENABLED
21890    int mem_base;
21891    xmlAttrPtr ret_val;
21892    xmlNodePtr node; /* the holding node */
21893    int n_node;
21894    xmlChar * name; /* the name of the attribute */
21895    int n_name;
21896    xmlChar * value; /* the value of the attribute */
21897    int n_value;
21898
21899    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
21900    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21901    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
21902        mem_base = xmlMemBlocks();
21903        node = gen_xmlNodePtr(n_node, 0);
21904        name = gen_const_xmlChar_ptr(n_name, 1);
21905        value = gen_const_xmlChar_ptr(n_value, 2);
21906
21907        ret_val = xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value);
21908        desret_xmlAttrPtr(ret_val);
21909        call_tests++;
21910        des_xmlNodePtr(n_node, node, 0);
21911        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21912        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
21913        xmlResetLastError();
21914        if (mem_base != xmlMemBlocks()) {
21915            printf("Leak of %d blocks found in xmlNewProp",
21916	           xmlMemBlocks() - mem_base);
21917	    test_ret++;
21918            printf(" %d", n_node);
21919            printf(" %d", n_name);
21920            printf(" %d", n_value);
21921            printf("\n");
21922        }
21923    }
21924    }
21925    }
21926    function_tests++;
21927#endif
21928#endif
21929
21930    return(test_ret);
21931}
21932
21933
21934static int
21935test_xmlNewReference(void) {
21936    int test_ret = 0;
21937
21938    int mem_base;
21939    xmlNodePtr ret_val;
21940    xmlDocPtr doc; /* the document */
21941    int n_doc;
21942    xmlChar * name; /* the reference name, or the reference string with & and ; */
21943    int n_name;
21944
21945    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
21946    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
21947        mem_base = xmlMemBlocks();
21948        doc = gen_xmlDocPtr(n_doc, 0);
21949        name = gen_const_xmlChar_ptr(n_name, 1);
21950
21951        ret_val = xmlNewReference(doc, (const xmlChar *)name);
21952        desret_xmlNodePtr(ret_val);
21953        call_tests++;
21954        des_xmlDocPtr(n_doc, doc, 0);
21955        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
21956        xmlResetLastError();
21957        if (mem_base != xmlMemBlocks()) {
21958            printf("Leak of %d blocks found in xmlNewReference",
21959	           xmlMemBlocks() - mem_base);
21960	    test_ret++;
21961            printf(" %d", n_doc);
21962            printf(" %d", n_name);
21963            printf("\n");
21964        }
21965    }
21966    }
21967    function_tests++;
21968
21969    return(test_ret);
21970}
21971
21972
21973static int
21974test_xmlNewText(void) {
21975    int test_ret = 0;
21976
21977    int mem_base;
21978    xmlNodePtr ret_val;
21979    xmlChar * content; /* the text content */
21980    int n_content;
21981
21982    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
21983        mem_base = xmlMemBlocks();
21984        content = gen_const_xmlChar_ptr(n_content, 0);
21985
21986        ret_val = xmlNewText((const xmlChar *)content);
21987        desret_xmlNodePtr(ret_val);
21988        call_tests++;
21989        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
21990        xmlResetLastError();
21991        if (mem_base != xmlMemBlocks()) {
21992            printf("Leak of %d blocks found in xmlNewText",
21993	           xmlMemBlocks() - mem_base);
21994	    test_ret++;
21995            printf(" %d", n_content);
21996            printf("\n");
21997        }
21998    }
21999    function_tests++;
22000
22001    return(test_ret);
22002}
22003
22004
22005static int
22006test_xmlNewTextChild(void) {
22007    int test_ret = 0;
22008
22009#if defined(LIBXML_TREE_ENABLED)
22010#ifdef LIBXML_TREE_ENABLED
22011    int mem_base;
22012    xmlNodePtr ret_val;
22013    xmlNodePtr parent; /* the parent node */
22014    int n_parent;
22015    xmlNsPtr ns; /* a namespace if any */
22016    int n_ns;
22017    xmlChar * name; /* the name of the child */
22018    int n_name;
22019    xmlChar * content; /* the text content of the child if any. */
22020    int n_content;
22021
22022    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
22023    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
22024    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
22025    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22026        mem_base = xmlMemBlocks();
22027        parent = gen_xmlNodePtr(n_parent, 0);
22028        ns = gen_xmlNsPtr(n_ns, 1);
22029        name = gen_const_xmlChar_ptr(n_name, 2);
22030        content = gen_const_xmlChar_ptr(n_content, 3);
22031
22032        ret_val = xmlNewTextChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
22033        desret_xmlNodePtr(ret_val);
22034        call_tests++;
22035        des_xmlNodePtr(n_parent, parent, 0);
22036        des_xmlNsPtr(n_ns, ns, 1);
22037        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
22038        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
22039        xmlResetLastError();
22040        if (mem_base != xmlMemBlocks()) {
22041            printf("Leak of %d blocks found in xmlNewTextChild",
22042	           xmlMemBlocks() - mem_base);
22043	    test_ret++;
22044            printf(" %d", n_parent);
22045            printf(" %d", n_ns);
22046            printf(" %d", n_name);
22047            printf(" %d", n_content);
22048            printf("\n");
22049        }
22050    }
22051    }
22052    }
22053    }
22054    function_tests++;
22055#endif
22056#endif
22057
22058    return(test_ret);
22059}
22060
22061
22062static int
22063test_xmlNewTextLen(void) {
22064    int test_ret = 0;
22065
22066    int mem_base;
22067    xmlNodePtr ret_val;
22068    xmlChar * content; /* the text content */
22069    int n_content;
22070    int len; /* the text len. */
22071    int n_len;
22072
22073    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22074    for (n_len = 0;n_len < gen_nb_int;n_len++) {
22075        mem_base = xmlMemBlocks();
22076        content = gen_const_xmlChar_ptr(n_content, 0);
22077        len = gen_int(n_len, 1);
22078
22079        ret_val = xmlNewTextLen((const xmlChar *)content, len);
22080        desret_xmlNodePtr(ret_val);
22081        call_tests++;
22082        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
22083        des_int(n_len, len, 1);
22084        xmlResetLastError();
22085        if (mem_base != xmlMemBlocks()) {
22086            printf("Leak of %d blocks found in xmlNewTextLen",
22087	           xmlMemBlocks() - mem_base);
22088	    test_ret++;
22089            printf(" %d", n_content);
22090            printf(" %d", n_len);
22091            printf("\n");
22092        }
22093    }
22094    }
22095    function_tests++;
22096
22097    return(test_ret);
22098}
22099
22100
22101static int
22102test_xmlNextElementSibling(void) {
22103    int test_ret = 0;
22104
22105#if defined(LIBXML_TREE_ENABLED)
22106    int mem_base;
22107    xmlNodePtr ret_val;
22108    xmlNodePtr node; /* the current node */
22109    int n_node;
22110
22111    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
22112        mem_base = xmlMemBlocks();
22113        node = gen_xmlNodePtr(n_node, 0);
22114
22115        ret_val = xmlNextElementSibling(node);
22116        desret_xmlNodePtr(ret_val);
22117        call_tests++;
22118        des_xmlNodePtr(n_node, node, 0);
22119        xmlResetLastError();
22120        if (mem_base != xmlMemBlocks()) {
22121            printf("Leak of %d blocks found in xmlNextElementSibling",
22122	           xmlMemBlocks() - mem_base);
22123	    test_ret++;
22124            printf(" %d", n_node);
22125            printf("\n");
22126        }
22127    }
22128    function_tests++;
22129#endif
22130
22131    return(test_ret);
22132}
22133
22134
22135static int
22136test_xmlNodeAddContent(void) {
22137    int test_ret = 0;
22138
22139    int mem_base;
22140    xmlNodePtr cur; /* the node being modified */
22141    int n_cur;
22142    xmlChar * content; /* extra content */
22143    int n_content;
22144
22145    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22146    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22147        mem_base = xmlMemBlocks();
22148        cur = gen_xmlNodePtr(n_cur, 0);
22149        content = gen_const_xmlChar_ptr(n_content, 1);
22150
22151        xmlNodeAddContent(cur, (const xmlChar *)content);
22152        call_tests++;
22153        des_xmlNodePtr(n_cur, cur, 0);
22154        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
22155        xmlResetLastError();
22156        if (mem_base != xmlMemBlocks()) {
22157            printf("Leak of %d blocks found in xmlNodeAddContent",
22158	           xmlMemBlocks() - mem_base);
22159	    test_ret++;
22160            printf(" %d", n_cur);
22161            printf(" %d", n_content);
22162            printf("\n");
22163        }
22164    }
22165    }
22166    function_tests++;
22167
22168    return(test_ret);
22169}
22170
22171
22172static int
22173test_xmlNodeAddContentLen(void) {
22174    int test_ret = 0;
22175
22176    int mem_base;
22177    xmlNodePtr cur; /* the node being modified */
22178    int n_cur;
22179    xmlChar * content; /* extra content */
22180    int n_content;
22181    int len; /* the size of @content */
22182    int n_len;
22183
22184    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22185    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22186    for (n_len = 0;n_len < gen_nb_int;n_len++) {
22187        mem_base = xmlMemBlocks();
22188        cur = gen_xmlNodePtr(n_cur, 0);
22189        content = gen_const_xmlChar_ptr(n_content, 1);
22190        len = gen_int(n_len, 2);
22191
22192        xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
22193        call_tests++;
22194        des_xmlNodePtr(n_cur, cur, 0);
22195        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
22196        des_int(n_len, len, 2);
22197        xmlResetLastError();
22198        if (mem_base != xmlMemBlocks()) {
22199            printf("Leak of %d blocks found in xmlNodeAddContentLen",
22200	           xmlMemBlocks() - mem_base);
22201	    test_ret++;
22202            printf(" %d", n_cur);
22203            printf(" %d", n_content);
22204            printf(" %d", n_len);
22205            printf("\n");
22206        }
22207    }
22208    }
22209    }
22210    function_tests++;
22211
22212    return(test_ret);
22213}
22214
22215
22216static int
22217test_xmlNodeBufGetContent(void) {
22218    int test_ret = 0;
22219
22220    int mem_base;
22221    int ret_val;
22222    xmlBufferPtr buffer; /* a buffer */
22223    int n_buffer;
22224    xmlNodePtr cur; /* the node being read */
22225    int n_cur;
22226
22227    for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
22228    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22229        mem_base = xmlMemBlocks();
22230        buffer = gen_xmlBufferPtr(n_buffer, 0);
22231        cur = gen_xmlNodePtr(n_cur, 1);
22232
22233        ret_val = xmlNodeBufGetContent(buffer, cur);
22234        desret_int(ret_val);
22235        call_tests++;
22236        des_xmlBufferPtr(n_buffer, buffer, 0);
22237        des_xmlNodePtr(n_cur, cur, 1);
22238        xmlResetLastError();
22239        if (mem_base != xmlMemBlocks()) {
22240            printf("Leak of %d blocks found in xmlNodeBufGetContent",
22241	           xmlMemBlocks() - mem_base);
22242	    test_ret++;
22243            printf(" %d", n_buffer);
22244            printf(" %d", n_cur);
22245            printf("\n");
22246        }
22247    }
22248    }
22249    function_tests++;
22250
22251    return(test_ret);
22252}
22253
22254
22255static int
22256test_xmlNodeDump(void) {
22257    int test_ret = 0;
22258
22259#if defined(LIBXML_OUTPUT_ENABLED)
22260    int mem_base;
22261    int ret_val;
22262    xmlBufferPtr buf; /* the XML buffer output */
22263    int n_buf;
22264    xmlDocPtr doc; /* the document */
22265    int n_doc;
22266    xmlNodePtr cur; /* the current node */
22267    int n_cur;
22268    int level; /* the imbrication level for indenting */
22269    int n_level;
22270    int format; /* is formatting allowed */
22271    int n_format;
22272
22273    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
22274    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22275    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22276    for (n_level = 0;n_level < gen_nb_int;n_level++) {
22277    for (n_format = 0;n_format < gen_nb_int;n_format++) {
22278        mem_base = xmlMemBlocks();
22279        buf = gen_xmlBufferPtr(n_buf, 0);
22280        doc = gen_xmlDocPtr(n_doc, 1);
22281        cur = gen_xmlNodePtr(n_cur, 2);
22282        level = gen_int(n_level, 3);
22283        format = gen_int(n_format, 4);
22284
22285        ret_val = xmlNodeDump(buf, doc, cur, level, format);
22286        desret_int(ret_val);
22287        call_tests++;
22288        des_xmlBufferPtr(n_buf, buf, 0);
22289        des_xmlDocPtr(n_doc, doc, 1);
22290        des_xmlNodePtr(n_cur, cur, 2);
22291        des_int(n_level, level, 3);
22292        des_int(n_format, format, 4);
22293        xmlResetLastError();
22294        if (mem_base != xmlMemBlocks()) {
22295            printf("Leak of %d blocks found in xmlNodeDump",
22296	           xmlMemBlocks() - mem_base);
22297	    test_ret++;
22298            printf(" %d", n_buf);
22299            printf(" %d", n_doc);
22300            printf(" %d", n_cur);
22301            printf(" %d", n_level);
22302            printf(" %d", n_format);
22303            printf("\n");
22304        }
22305    }
22306    }
22307    }
22308    }
22309    }
22310    function_tests++;
22311#endif
22312
22313    return(test_ret);
22314}
22315
22316
22317static int
22318test_xmlNodeDumpOutput(void) {
22319    int test_ret = 0;
22320
22321#if defined(LIBXML_OUTPUT_ENABLED)
22322    int mem_base;
22323    xmlOutputBufferPtr buf; /* the XML buffer output */
22324    int n_buf;
22325    xmlDocPtr doc; /* the document */
22326    int n_doc;
22327    xmlNodePtr cur; /* the current node */
22328    int n_cur;
22329    int level; /* the imbrication level for indenting */
22330    int n_level;
22331    int format; /* is formatting allowed */
22332    int n_format;
22333    char * encoding; /* an optional encoding string */
22334    int n_encoding;
22335
22336    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
22337    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22338    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22339    for (n_level = 0;n_level < gen_nb_int;n_level++) {
22340    for (n_format = 0;n_format < gen_nb_int;n_format++) {
22341    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
22342        mem_base = xmlMemBlocks();
22343        buf = gen_xmlOutputBufferPtr(n_buf, 0);
22344        doc = gen_xmlDocPtr(n_doc, 1);
22345        cur = gen_xmlNodePtr(n_cur, 2);
22346        level = gen_int(n_level, 3);
22347        format = gen_int(n_format, 4);
22348        encoding = gen_const_char_ptr(n_encoding, 5);
22349
22350        xmlNodeDumpOutput(buf, doc, cur, level, format, (const char *)encoding);
22351        call_tests++;
22352        des_xmlOutputBufferPtr(n_buf, buf, 0);
22353        des_xmlDocPtr(n_doc, doc, 1);
22354        des_xmlNodePtr(n_cur, cur, 2);
22355        des_int(n_level, level, 3);
22356        des_int(n_format, format, 4);
22357        des_const_char_ptr(n_encoding, (const char *)encoding, 5);
22358        xmlResetLastError();
22359        if (mem_base != xmlMemBlocks()) {
22360            printf("Leak of %d blocks found in xmlNodeDumpOutput",
22361	           xmlMemBlocks() - mem_base);
22362	    test_ret++;
22363            printf(" %d", n_buf);
22364            printf(" %d", n_doc);
22365            printf(" %d", n_cur);
22366            printf(" %d", n_level);
22367            printf(" %d", n_format);
22368            printf(" %d", n_encoding);
22369            printf("\n");
22370        }
22371    }
22372    }
22373    }
22374    }
22375    }
22376    }
22377    function_tests++;
22378#endif
22379
22380    return(test_ret);
22381}
22382
22383
22384static int
22385test_xmlNodeGetBase(void) {
22386    int test_ret = 0;
22387
22388    int mem_base;
22389    xmlChar * ret_val;
22390    xmlDocPtr doc; /* the document the node pertains to */
22391    int n_doc;
22392    xmlNodePtr cur; /* the node being checked */
22393    int n_cur;
22394
22395    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22396    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22397        mem_base = xmlMemBlocks();
22398        doc = gen_xmlDocPtr(n_doc, 0);
22399        cur = gen_xmlNodePtr(n_cur, 1);
22400
22401        ret_val = xmlNodeGetBase(doc, cur);
22402        desret_xmlChar_ptr(ret_val);
22403        call_tests++;
22404        des_xmlDocPtr(n_doc, doc, 0);
22405        des_xmlNodePtr(n_cur, cur, 1);
22406        xmlResetLastError();
22407        if (mem_base != xmlMemBlocks()) {
22408            printf("Leak of %d blocks found in xmlNodeGetBase",
22409	           xmlMemBlocks() - mem_base);
22410	    test_ret++;
22411            printf(" %d", n_doc);
22412            printf(" %d", n_cur);
22413            printf("\n");
22414        }
22415    }
22416    }
22417    function_tests++;
22418
22419    return(test_ret);
22420}
22421
22422
22423static int
22424test_xmlNodeGetContent(void) {
22425    int test_ret = 0;
22426
22427    int mem_base;
22428    xmlChar * ret_val;
22429    xmlNodePtr cur; /* the node being read */
22430    int n_cur;
22431
22432    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22433        mem_base = xmlMemBlocks();
22434        cur = gen_xmlNodePtr(n_cur, 0);
22435
22436        ret_val = xmlNodeGetContent(cur);
22437        desret_xmlChar_ptr(ret_val);
22438        call_tests++;
22439        des_xmlNodePtr(n_cur, cur, 0);
22440        xmlResetLastError();
22441        if (mem_base != xmlMemBlocks()) {
22442            printf("Leak of %d blocks found in xmlNodeGetContent",
22443	           xmlMemBlocks() - mem_base);
22444	    test_ret++;
22445            printf(" %d", n_cur);
22446            printf("\n");
22447        }
22448    }
22449    function_tests++;
22450
22451    return(test_ret);
22452}
22453
22454
22455static int
22456test_xmlNodeGetLang(void) {
22457    int test_ret = 0;
22458
22459    int mem_base;
22460    xmlChar * ret_val;
22461    xmlNodePtr cur; /* the node being checked */
22462    int n_cur;
22463
22464    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22465        mem_base = xmlMemBlocks();
22466        cur = gen_xmlNodePtr(n_cur, 0);
22467
22468        ret_val = xmlNodeGetLang(cur);
22469        desret_xmlChar_ptr(ret_val);
22470        call_tests++;
22471        des_xmlNodePtr(n_cur, cur, 0);
22472        xmlResetLastError();
22473        if (mem_base != xmlMemBlocks()) {
22474            printf("Leak of %d blocks found in xmlNodeGetLang",
22475	           xmlMemBlocks() - mem_base);
22476	    test_ret++;
22477            printf(" %d", n_cur);
22478            printf("\n");
22479        }
22480    }
22481    function_tests++;
22482
22483    return(test_ret);
22484}
22485
22486
22487static int
22488test_xmlNodeGetSpacePreserve(void) {
22489    int test_ret = 0;
22490
22491    int mem_base;
22492    int ret_val;
22493    xmlNodePtr cur; /* the node being checked */
22494    int n_cur;
22495
22496    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22497        mem_base = xmlMemBlocks();
22498        cur = gen_xmlNodePtr(n_cur, 0);
22499
22500        ret_val = xmlNodeGetSpacePreserve(cur);
22501        desret_int(ret_val);
22502        call_tests++;
22503        des_xmlNodePtr(n_cur, cur, 0);
22504        xmlResetLastError();
22505        if (mem_base != xmlMemBlocks()) {
22506            printf("Leak of %d blocks found in xmlNodeGetSpacePreserve",
22507	           xmlMemBlocks() - mem_base);
22508	    test_ret++;
22509            printf(" %d", n_cur);
22510            printf("\n");
22511        }
22512    }
22513    function_tests++;
22514
22515    return(test_ret);
22516}
22517
22518
22519static int
22520test_xmlNodeIsText(void) {
22521    int test_ret = 0;
22522
22523    int mem_base;
22524    int ret_val;
22525    xmlNodePtr node; /* the node */
22526    int n_node;
22527
22528    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
22529        mem_base = xmlMemBlocks();
22530        node = gen_xmlNodePtr(n_node, 0);
22531
22532        ret_val = xmlNodeIsText(node);
22533        desret_int(ret_val);
22534        call_tests++;
22535        des_xmlNodePtr(n_node, node, 0);
22536        xmlResetLastError();
22537        if (mem_base != xmlMemBlocks()) {
22538            printf("Leak of %d blocks found in xmlNodeIsText",
22539	           xmlMemBlocks() - mem_base);
22540	    test_ret++;
22541            printf(" %d", n_node);
22542            printf("\n");
22543        }
22544    }
22545    function_tests++;
22546
22547    return(test_ret);
22548}
22549
22550
22551static int
22552test_xmlNodeListGetRawString(void) {
22553    int test_ret = 0;
22554
22555#if defined(LIBXML_TREE_ENABLED)
22556    int mem_base;
22557    xmlChar * ret_val;
22558    xmlDocPtr doc; /* the document */
22559    int n_doc;
22560    xmlNodePtr list; /* a Node list */
22561    int n_list;
22562    int inLine; /* should we replace entity contents or show their external form */
22563    int n_inLine;
22564
22565    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22566    for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
22567    for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
22568        mem_base = xmlMemBlocks();
22569        doc = gen_xmlDocPtr(n_doc, 0);
22570        list = gen_xmlNodePtr(n_list, 1);
22571        inLine = gen_int(n_inLine, 2);
22572
22573        ret_val = xmlNodeListGetRawString(doc, list, inLine);
22574        desret_xmlChar_ptr(ret_val);
22575        call_tests++;
22576        des_xmlDocPtr(n_doc, doc, 0);
22577        des_xmlNodePtr(n_list, list, 1);
22578        des_int(n_inLine, inLine, 2);
22579        xmlResetLastError();
22580        if (mem_base != xmlMemBlocks()) {
22581            printf("Leak of %d blocks found in xmlNodeListGetRawString",
22582	           xmlMemBlocks() - mem_base);
22583	    test_ret++;
22584            printf(" %d", n_doc);
22585            printf(" %d", n_list);
22586            printf(" %d", n_inLine);
22587            printf("\n");
22588        }
22589    }
22590    }
22591    }
22592    function_tests++;
22593#endif
22594
22595    return(test_ret);
22596}
22597
22598
22599static int
22600test_xmlNodeListGetString(void) {
22601    int test_ret = 0;
22602
22603    int mem_base;
22604    xmlChar * ret_val;
22605    xmlDocPtr doc; /* the document */
22606    int n_doc;
22607    xmlNodePtr list; /* a Node list */
22608    int n_list;
22609    int inLine; /* should we replace entity contents or show their external form */
22610    int n_inLine;
22611
22612    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22613    for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
22614    for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
22615        mem_base = xmlMemBlocks();
22616        doc = gen_xmlDocPtr(n_doc, 0);
22617        list = gen_xmlNodePtr(n_list, 1);
22618        inLine = gen_int(n_inLine, 2);
22619
22620        ret_val = xmlNodeListGetString(doc, list, inLine);
22621        desret_xmlChar_ptr(ret_val);
22622        call_tests++;
22623        des_xmlDocPtr(n_doc, doc, 0);
22624        des_xmlNodePtr(n_list, list, 1);
22625        des_int(n_inLine, inLine, 2);
22626        xmlResetLastError();
22627        if (mem_base != xmlMemBlocks()) {
22628            printf("Leak of %d blocks found in xmlNodeListGetString",
22629	           xmlMemBlocks() - mem_base);
22630	    test_ret++;
22631            printf(" %d", n_doc);
22632            printf(" %d", n_list);
22633            printf(" %d", n_inLine);
22634            printf("\n");
22635        }
22636    }
22637    }
22638    }
22639    function_tests++;
22640
22641    return(test_ret);
22642}
22643
22644
22645static int
22646test_xmlNodeSetBase(void) {
22647    int test_ret = 0;
22648
22649#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
22650    int mem_base;
22651    xmlNodePtr cur; /* the node being changed */
22652    int n_cur;
22653    xmlChar * uri; /* the new base URI */
22654    int n_uri;
22655
22656    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22657    for (n_uri = 0;n_uri < gen_nb_const_xmlChar_ptr;n_uri++) {
22658        mem_base = xmlMemBlocks();
22659        cur = gen_xmlNodePtr(n_cur, 0);
22660        uri = gen_const_xmlChar_ptr(n_uri, 1);
22661
22662        xmlNodeSetBase(cur, (const xmlChar *)uri);
22663        call_tests++;
22664        des_xmlNodePtr(n_cur, cur, 0);
22665        des_const_xmlChar_ptr(n_uri, (const xmlChar *)uri, 1);
22666        xmlResetLastError();
22667        if (mem_base != xmlMemBlocks()) {
22668            printf("Leak of %d blocks found in xmlNodeSetBase",
22669	           xmlMemBlocks() - mem_base);
22670	    test_ret++;
22671            printf(" %d", n_cur);
22672            printf(" %d", n_uri);
22673            printf("\n");
22674        }
22675    }
22676    }
22677    function_tests++;
22678#endif
22679
22680    return(test_ret);
22681}
22682
22683
22684static int
22685test_xmlNodeSetContent(void) {
22686    int test_ret = 0;
22687
22688    int mem_base;
22689    xmlNodePtr cur; /* the node being modified */
22690    int n_cur;
22691    xmlChar * content; /* the new value of the content */
22692    int n_content;
22693
22694    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22695    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22696        mem_base = xmlMemBlocks();
22697        cur = gen_xmlNodePtr(n_cur, 0);
22698        content = gen_const_xmlChar_ptr(n_content, 1);
22699
22700        xmlNodeSetContent(cur, (const xmlChar *)content);
22701        call_tests++;
22702        des_xmlNodePtr(n_cur, cur, 0);
22703        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
22704        xmlResetLastError();
22705        if (mem_base != xmlMemBlocks()) {
22706            printf("Leak of %d blocks found in xmlNodeSetContent",
22707	           xmlMemBlocks() - mem_base);
22708	    test_ret++;
22709            printf(" %d", n_cur);
22710            printf(" %d", n_content);
22711            printf("\n");
22712        }
22713    }
22714    }
22715    function_tests++;
22716
22717    return(test_ret);
22718}
22719
22720
22721static int
22722test_xmlNodeSetContentLen(void) {
22723    int test_ret = 0;
22724
22725#if defined(LIBXML_TREE_ENABLED)
22726    int mem_base;
22727    xmlNodePtr cur; /* the node being modified */
22728    int n_cur;
22729    xmlChar * content; /* the new value of the content */
22730    int n_content;
22731    int len; /* the size of @content */
22732    int n_len;
22733
22734    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22735    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
22736    for (n_len = 0;n_len < gen_nb_int;n_len++) {
22737        mem_base = xmlMemBlocks();
22738        cur = gen_xmlNodePtr(n_cur, 0);
22739        content = gen_const_xmlChar_ptr(n_content, 1);
22740        len = gen_int(n_len, 2);
22741
22742        xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
22743        call_tests++;
22744        des_xmlNodePtr(n_cur, cur, 0);
22745        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
22746        des_int(n_len, len, 2);
22747        xmlResetLastError();
22748        if (mem_base != xmlMemBlocks()) {
22749            printf("Leak of %d blocks found in xmlNodeSetContentLen",
22750	           xmlMemBlocks() - mem_base);
22751	    test_ret++;
22752            printf(" %d", n_cur);
22753            printf(" %d", n_content);
22754            printf(" %d", n_len);
22755            printf("\n");
22756        }
22757    }
22758    }
22759    }
22760    function_tests++;
22761#endif
22762
22763    return(test_ret);
22764}
22765
22766
22767static int
22768test_xmlNodeSetLang(void) {
22769    int test_ret = 0;
22770
22771#if defined(LIBXML_TREE_ENABLED)
22772    int mem_base;
22773    xmlNodePtr cur; /* the node being changed */
22774    int n_cur;
22775    xmlChar * lang; /* the language description */
22776    int n_lang;
22777
22778    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22779    for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
22780        mem_base = xmlMemBlocks();
22781        cur = gen_xmlNodePtr(n_cur, 0);
22782        lang = gen_const_xmlChar_ptr(n_lang, 1);
22783
22784        xmlNodeSetLang(cur, (const xmlChar *)lang);
22785        call_tests++;
22786        des_xmlNodePtr(n_cur, cur, 0);
22787        des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 1);
22788        xmlResetLastError();
22789        if (mem_base != xmlMemBlocks()) {
22790            printf("Leak of %d blocks found in xmlNodeSetLang",
22791	           xmlMemBlocks() - mem_base);
22792	    test_ret++;
22793            printf(" %d", n_cur);
22794            printf(" %d", n_lang);
22795            printf("\n");
22796        }
22797    }
22798    }
22799    function_tests++;
22800#endif
22801
22802    return(test_ret);
22803}
22804
22805
22806static int
22807test_xmlNodeSetName(void) {
22808    int test_ret = 0;
22809
22810#if defined(LIBXML_TREE_ENABLED)
22811    int mem_base;
22812    xmlNodePtr cur; /* the node being changed */
22813    int n_cur;
22814    xmlChar * name; /* the new tag name */
22815    int n_name;
22816
22817    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22818    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
22819        mem_base = xmlMemBlocks();
22820        cur = gen_xmlNodePtr(n_cur, 0);
22821        name = gen_const_xmlChar_ptr(n_name, 1);
22822
22823        xmlNodeSetName(cur, (const xmlChar *)name);
22824        call_tests++;
22825        des_xmlNodePtr(n_cur, cur, 0);
22826        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
22827        xmlResetLastError();
22828        if (mem_base != xmlMemBlocks()) {
22829            printf("Leak of %d blocks found in xmlNodeSetName",
22830	           xmlMemBlocks() - mem_base);
22831	    test_ret++;
22832            printf(" %d", n_cur);
22833            printf(" %d", n_name);
22834            printf("\n");
22835        }
22836    }
22837    }
22838    function_tests++;
22839#endif
22840
22841    return(test_ret);
22842}
22843
22844
22845static int
22846test_xmlNodeSetSpacePreserve(void) {
22847    int test_ret = 0;
22848
22849#if defined(LIBXML_TREE_ENABLED)
22850    int mem_base;
22851    xmlNodePtr cur; /* the node being changed */
22852    int n_cur;
22853    int val; /* the xml:space value ("0": default, 1: "preserve") */
22854    int n_val;
22855
22856    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
22857    for (n_val = 0;n_val < gen_nb_int;n_val++) {
22858        mem_base = xmlMemBlocks();
22859        cur = gen_xmlNodePtr(n_cur, 0);
22860        val = gen_int(n_val, 1);
22861
22862        xmlNodeSetSpacePreserve(cur, val);
22863        call_tests++;
22864        des_xmlNodePtr(n_cur, cur, 0);
22865        des_int(n_val, val, 1);
22866        xmlResetLastError();
22867        if (mem_base != xmlMemBlocks()) {
22868            printf("Leak of %d blocks found in xmlNodeSetSpacePreserve",
22869	           xmlMemBlocks() - mem_base);
22870	    test_ret++;
22871            printf(" %d", n_cur);
22872            printf(" %d", n_val);
22873            printf("\n");
22874        }
22875    }
22876    }
22877    function_tests++;
22878#endif
22879
22880    return(test_ret);
22881}
22882
22883
22884static int
22885test_xmlPreviousElementSibling(void) {
22886    int test_ret = 0;
22887
22888#if defined(LIBXML_TREE_ENABLED)
22889    int mem_base;
22890    xmlNodePtr ret_val;
22891    xmlNodePtr node; /* the current node */
22892    int n_node;
22893
22894    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
22895        mem_base = xmlMemBlocks();
22896        node = gen_xmlNodePtr(n_node, 0);
22897
22898        ret_val = xmlPreviousElementSibling(node);
22899        desret_xmlNodePtr(ret_val);
22900        call_tests++;
22901        des_xmlNodePtr(n_node, node, 0);
22902        xmlResetLastError();
22903        if (mem_base != xmlMemBlocks()) {
22904            printf("Leak of %d blocks found in xmlPreviousElementSibling",
22905	           xmlMemBlocks() - mem_base);
22906	    test_ret++;
22907            printf(" %d", n_node);
22908            printf("\n");
22909        }
22910    }
22911    function_tests++;
22912#endif
22913
22914    return(test_ret);
22915}
22916
22917
22918static int
22919test_xmlReconciliateNs(void) {
22920    int test_ret = 0;
22921
22922#if defined(LIBXML_TREE_ENABLED)
22923#ifdef LIBXML_TREE_ENABLED
22924    int mem_base;
22925    int ret_val;
22926    xmlDocPtr doc; /* the document */
22927    int n_doc;
22928    xmlNodePtr tree; /* a node defining the subtree to reconciliate */
22929    int n_tree;
22930
22931    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
22932    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
22933        mem_base = xmlMemBlocks();
22934        doc = gen_xmlDocPtr(n_doc, 0);
22935        tree = gen_xmlNodePtr(n_tree, 1);
22936
22937        ret_val = xmlReconciliateNs(doc, tree);
22938        desret_int(ret_val);
22939        call_tests++;
22940        des_xmlDocPtr(n_doc, doc, 0);
22941        des_xmlNodePtr(n_tree, tree, 1);
22942        xmlResetLastError();
22943        if (mem_base != xmlMemBlocks()) {
22944            printf("Leak of %d blocks found in xmlReconciliateNs",
22945	           xmlMemBlocks() - mem_base);
22946	    test_ret++;
22947            printf(" %d", n_doc);
22948            printf(" %d", n_tree);
22949            printf("\n");
22950        }
22951    }
22952    }
22953    function_tests++;
22954#endif
22955#endif
22956
22957    return(test_ret);
22958}
22959
22960
22961static int
22962test_xmlRemoveProp(void) {
22963    int test_ret = 0;
22964
22965    int mem_base;
22966    int ret_val;
22967    xmlAttrPtr cur; /* an attribute */
22968    int n_cur;
22969
22970    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
22971        mem_base = xmlMemBlocks();
22972        cur = gen_xmlAttrPtr(n_cur, 0);
22973
22974        ret_val = xmlRemoveProp(cur);
22975        cur = NULL;
22976        desret_int(ret_val);
22977        call_tests++;
22978        des_xmlAttrPtr(n_cur, cur, 0);
22979        xmlResetLastError();
22980        if (mem_base != xmlMemBlocks()) {
22981            printf("Leak of %d blocks found in xmlRemoveProp",
22982	           xmlMemBlocks() - mem_base);
22983	    test_ret++;
22984            printf(" %d", n_cur);
22985            printf("\n");
22986        }
22987    }
22988    function_tests++;
22989
22990    return(test_ret);
22991}
22992
22993
22994static int
22995test_xmlReplaceNode(void) {
22996    int test_ret = 0;
22997
22998#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
22999    int mem_base;
23000    xmlNodePtr ret_val;
23001    xmlNodePtr old; /* the old node */
23002    int n_old;
23003    xmlNodePtr cur; /* the node */
23004    int n_cur;
23005
23006    for (n_old = 0;n_old < gen_nb_xmlNodePtr;n_old++) {
23007    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
23008        mem_base = xmlMemBlocks();
23009        old = gen_xmlNodePtr(n_old, 0);
23010        cur = gen_xmlNodePtr_in(n_cur, 1);
23011
23012        ret_val = xmlReplaceNode(old, cur);
23013        if (cur != NULL) {
23014              xmlUnlinkNode(cur);
23015              xmlFreeNode(cur) ; cur = NULL ; }
23016          if (old != NULL) {
23017              xmlUnlinkNode(old);
23018              xmlFreeNode(old) ; old = NULL ; }
23019	  ret_val = NULL;
23020        desret_xmlNodePtr(ret_val);
23021        call_tests++;
23022        des_xmlNodePtr(n_old, old, 0);
23023        des_xmlNodePtr_in(n_cur, cur, 1);
23024        xmlResetLastError();
23025        if (mem_base != xmlMemBlocks()) {
23026            printf("Leak of %d blocks found in xmlReplaceNode",
23027	           xmlMemBlocks() - mem_base);
23028	    test_ret++;
23029            printf(" %d", n_old);
23030            printf(" %d", n_cur);
23031            printf("\n");
23032        }
23033    }
23034    }
23035    function_tests++;
23036#endif
23037
23038    return(test_ret);
23039}
23040
23041
23042static int
23043test_xmlSaveFile(void) {
23044    int test_ret = 0;
23045
23046#if defined(LIBXML_OUTPUT_ENABLED)
23047    int mem_base;
23048    int ret_val;
23049    const char * filename; /* the filename (or URL) */
23050    int n_filename;
23051    xmlDocPtr cur; /* the document */
23052    int n_cur;
23053
23054    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
23055    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23056        mem_base = xmlMemBlocks();
23057        filename = gen_fileoutput(n_filename, 0);
23058        cur = gen_xmlDocPtr(n_cur, 1);
23059
23060        ret_val = xmlSaveFile(filename, cur);
23061        desret_int(ret_val);
23062        call_tests++;
23063        des_fileoutput(n_filename, filename, 0);
23064        des_xmlDocPtr(n_cur, cur, 1);
23065        xmlResetLastError();
23066        if (mem_base != xmlMemBlocks()) {
23067            printf("Leak of %d blocks found in xmlSaveFile",
23068	           xmlMemBlocks() - mem_base);
23069	    test_ret++;
23070            printf(" %d", n_filename);
23071            printf(" %d", n_cur);
23072            printf("\n");
23073        }
23074    }
23075    }
23076    function_tests++;
23077#endif
23078
23079    return(test_ret);
23080}
23081
23082
23083static int
23084test_xmlSaveFileEnc(void) {
23085    int test_ret = 0;
23086
23087#if defined(LIBXML_OUTPUT_ENABLED)
23088    int mem_base;
23089    int ret_val;
23090    const char * filename; /* the filename (or URL) */
23091    int n_filename;
23092    xmlDocPtr cur; /* the document */
23093    int n_cur;
23094    char * encoding; /* the name of an encoding (or NULL) */
23095    int n_encoding;
23096
23097    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
23098    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23099    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
23100        mem_base = xmlMemBlocks();
23101        filename = gen_fileoutput(n_filename, 0);
23102        cur = gen_xmlDocPtr(n_cur, 1);
23103        encoding = gen_const_char_ptr(n_encoding, 2);
23104
23105        ret_val = xmlSaveFileEnc(filename, cur, (const char *)encoding);
23106        desret_int(ret_val);
23107        call_tests++;
23108        des_fileoutput(n_filename, filename, 0);
23109        des_xmlDocPtr(n_cur, cur, 1);
23110        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
23111        xmlResetLastError();
23112        if (mem_base != xmlMemBlocks()) {
23113            printf("Leak of %d blocks found in xmlSaveFileEnc",
23114	           xmlMemBlocks() - mem_base);
23115	    test_ret++;
23116            printf(" %d", n_filename);
23117            printf(" %d", n_cur);
23118            printf(" %d", n_encoding);
23119            printf("\n");
23120        }
23121    }
23122    }
23123    }
23124    function_tests++;
23125#endif
23126
23127    return(test_ret);
23128}
23129
23130
23131static int
23132test_xmlSaveFileTo(void) {
23133    int test_ret = 0;
23134
23135#if defined(LIBXML_OUTPUT_ENABLED)
23136    int mem_base;
23137    int ret_val;
23138    xmlOutputBufferPtr buf; /* an output I/O buffer */
23139    int n_buf;
23140    xmlDocPtr cur; /* the document */
23141    int n_cur;
23142    char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
23143    int n_encoding;
23144
23145    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
23146    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23147    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
23148        mem_base = xmlMemBlocks();
23149        buf = gen_xmlOutputBufferPtr(n_buf, 0);
23150        cur = gen_xmlDocPtr(n_cur, 1);
23151        encoding = gen_const_char_ptr(n_encoding, 2);
23152
23153        ret_val = xmlSaveFileTo(buf, cur, (const char *)encoding);
23154        buf = NULL;
23155        desret_int(ret_val);
23156        call_tests++;
23157        des_xmlOutputBufferPtr(n_buf, buf, 0);
23158        des_xmlDocPtr(n_cur, cur, 1);
23159        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
23160        xmlResetLastError();
23161        if (mem_base != xmlMemBlocks()) {
23162            printf("Leak of %d blocks found in xmlSaveFileTo",
23163	           xmlMemBlocks() - mem_base);
23164	    test_ret++;
23165            printf(" %d", n_buf);
23166            printf(" %d", n_cur);
23167            printf(" %d", n_encoding);
23168            printf("\n");
23169        }
23170    }
23171    }
23172    }
23173    function_tests++;
23174#endif
23175
23176    return(test_ret);
23177}
23178
23179
23180static int
23181test_xmlSaveFormatFile(void) {
23182    int test_ret = 0;
23183
23184#if defined(LIBXML_OUTPUT_ENABLED)
23185    int mem_base;
23186    int ret_val;
23187    const char * filename; /* the filename (or URL) */
23188    int n_filename;
23189    xmlDocPtr cur; /* the document */
23190    int n_cur;
23191    int format; /* should formatting spaces been added */
23192    int n_format;
23193
23194    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
23195    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23196    for (n_format = 0;n_format < gen_nb_int;n_format++) {
23197        mem_base = xmlMemBlocks();
23198        filename = gen_fileoutput(n_filename, 0);
23199        cur = gen_xmlDocPtr(n_cur, 1);
23200        format = gen_int(n_format, 2);
23201
23202        ret_val = xmlSaveFormatFile(filename, cur, format);
23203        desret_int(ret_val);
23204        call_tests++;
23205        des_fileoutput(n_filename, filename, 0);
23206        des_xmlDocPtr(n_cur, cur, 1);
23207        des_int(n_format, format, 2);
23208        xmlResetLastError();
23209        if (mem_base != xmlMemBlocks()) {
23210            printf("Leak of %d blocks found in xmlSaveFormatFile",
23211	           xmlMemBlocks() - mem_base);
23212	    test_ret++;
23213            printf(" %d", n_filename);
23214            printf(" %d", n_cur);
23215            printf(" %d", n_format);
23216            printf("\n");
23217        }
23218    }
23219    }
23220    }
23221    function_tests++;
23222#endif
23223
23224    return(test_ret);
23225}
23226
23227
23228static int
23229test_xmlSaveFormatFileEnc(void) {
23230    int test_ret = 0;
23231
23232#if defined(LIBXML_OUTPUT_ENABLED)
23233    int mem_base;
23234    int ret_val;
23235    const char * filename; /* the filename or URL to output */
23236    int n_filename;
23237    xmlDocPtr cur; /* the document being saved */
23238    int n_cur;
23239    char * encoding; /* the name of the encoding to use or NULL. */
23240    int n_encoding;
23241    int format; /* should formatting spaces be added. */
23242    int n_format;
23243
23244    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
23245    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23246    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
23247    for (n_format = 0;n_format < gen_nb_int;n_format++) {
23248        mem_base = xmlMemBlocks();
23249        filename = gen_fileoutput(n_filename, 0);
23250        cur = gen_xmlDocPtr(n_cur, 1);
23251        encoding = gen_const_char_ptr(n_encoding, 2);
23252        format = gen_int(n_format, 3);
23253
23254        ret_val = xmlSaveFormatFileEnc(filename, cur, (const char *)encoding, format);
23255        desret_int(ret_val);
23256        call_tests++;
23257        des_fileoutput(n_filename, filename, 0);
23258        des_xmlDocPtr(n_cur, cur, 1);
23259        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
23260        des_int(n_format, format, 3);
23261        xmlResetLastError();
23262        if (mem_base != xmlMemBlocks()) {
23263            printf("Leak of %d blocks found in xmlSaveFormatFileEnc",
23264	           xmlMemBlocks() - mem_base);
23265	    test_ret++;
23266            printf(" %d", n_filename);
23267            printf(" %d", n_cur);
23268            printf(" %d", n_encoding);
23269            printf(" %d", n_format);
23270            printf("\n");
23271        }
23272    }
23273    }
23274    }
23275    }
23276    function_tests++;
23277#endif
23278
23279    return(test_ret);
23280}
23281
23282
23283static int
23284test_xmlSaveFormatFileTo(void) {
23285    int test_ret = 0;
23286
23287#if defined(LIBXML_OUTPUT_ENABLED)
23288    int mem_base;
23289    int ret_val;
23290    xmlOutputBufferPtr buf; /* an output I/O buffer */
23291    int n_buf;
23292    xmlDocPtr cur; /* the document */
23293    int n_cur;
23294    char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
23295    int n_encoding;
23296    int format; /* should formatting spaces been added */
23297    int n_format;
23298
23299    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
23300    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
23301    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
23302    for (n_format = 0;n_format < gen_nb_int;n_format++) {
23303        mem_base = xmlMemBlocks();
23304        buf = gen_xmlOutputBufferPtr(n_buf, 0);
23305        cur = gen_xmlDocPtr(n_cur, 1);
23306        encoding = gen_const_char_ptr(n_encoding, 2);
23307        format = gen_int(n_format, 3);
23308
23309        ret_val = xmlSaveFormatFileTo(buf, cur, (const char *)encoding, format);
23310        buf = NULL;
23311        desret_int(ret_val);
23312        call_tests++;
23313        des_xmlOutputBufferPtr(n_buf, buf, 0);
23314        des_xmlDocPtr(n_cur, cur, 1);
23315        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
23316        des_int(n_format, format, 3);
23317        xmlResetLastError();
23318        if (mem_base != xmlMemBlocks()) {
23319            printf("Leak of %d blocks found in xmlSaveFormatFileTo",
23320	           xmlMemBlocks() - mem_base);
23321	    test_ret++;
23322            printf(" %d", n_buf);
23323            printf(" %d", n_cur);
23324            printf(" %d", n_encoding);
23325            printf(" %d", n_format);
23326            printf("\n");
23327        }
23328    }
23329    }
23330    }
23331    }
23332    function_tests++;
23333#endif
23334
23335    return(test_ret);
23336}
23337
23338
23339static int
23340test_xmlSearchNs(void) {
23341    int test_ret = 0;
23342
23343    int mem_base;
23344    xmlNsPtr ret_val;
23345    xmlDocPtr doc; /* the document */
23346    int n_doc;
23347    xmlNodePtr node; /* the current node */
23348    int n_node;
23349    xmlChar * nameSpace; /* the namespace prefix */
23350    int n_nameSpace;
23351
23352    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
23353    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23354    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
23355        mem_base = xmlMemBlocks();
23356        doc = gen_xmlDocPtr(n_doc, 0);
23357        node = gen_xmlNodePtr(n_node, 1);
23358        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
23359
23360        ret_val = xmlSearchNs(doc, node, (const xmlChar *)nameSpace);
23361        desret_xmlNsPtr(ret_val);
23362        call_tests++;
23363        des_xmlDocPtr(n_doc, doc, 0);
23364        des_xmlNodePtr(n_node, node, 1);
23365        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
23366        xmlResetLastError();
23367        if (mem_base != xmlMemBlocks()) {
23368            printf("Leak of %d blocks found in xmlSearchNs",
23369	           xmlMemBlocks() - mem_base);
23370	    test_ret++;
23371            printf(" %d", n_doc);
23372            printf(" %d", n_node);
23373            printf(" %d", n_nameSpace);
23374            printf("\n");
23375        }
23376    }
23377    }
23378    }
23379    function_tests++;
23380
23381    return(test_ret);
23382}
23383
23384
23385static int
23386test_xmlSearchNsByHref(void) {
23387    int test_ret = 0;
23388
23389    int mem_base;
23390    xmlNsPtr ret_val;
23391    xmlDocPtr doc; /* the document */
23392    int n_doc;
23393    xmlNodePtr node; /* the current node */
23394    int n_node;
23395    xmlChar * href; /* the namespace value */
23396    int n_href;
23397
23398    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
23399    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23400    for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
23401        mem_base = xmlMemBlocks();
23402        doc = gen_xmlDocPtr(n_doc, 0);
23403        node = gen_xmlNodePtr(n_node, 1);
23404        href = gen_const_xmlChar_ptr(n_href, 2);
23405
23406        ret_val = xmlSearchNsByHref(doc, node, (const xmlChar *)href);
23407        desret_xmlNsPtr(ret_val);
23408        call_tests++;
23409        des_xmlDocPtr(n_doc, doc, 0);
23410        des_xmlNodePtr(n_node, node, 1);
23411        des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 2);
23412        xmlResetLastError();
23413        if (mem_base != xmlMemBlocks()) {
23414            printf("Leak of %d blocks found in xmlSearchNsByHref",
23415	           xmlMemBlocks() - mem_base);
23416	    test_ret++;
23417            printf(" %d", n_doc);
23418            printf(" %d", n_node);
23419            printf(" %d", n_href);
23420            printf("\n");
23421        }
23422    }
23423    }
23424    }
23425    function_tests++;
23426
23427    return(test_ret);
23428}
23429
23430
23431static int
23432test_xmlSetBufferAllocationScheme(void) {
23433    int test_ret = 0;
23434
23435    int mem_base;
23436    xmlBufferAllocationScheme scheme; /* allocation method to use */
23437    int n_scheme;
23438
23439    for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
23440        mem_base = xmlMemBlocks();
23441        scheme = gen_xmlBufferAllocationScheme(n_scheme, 0);
23442
23443        xmlSetBufferAllocationScheme(scheme);
23444        call_tests++;
23445        des_xmlBufferAllocationScheme(n_scheme, scheme, 0);
23446        xmlResetLastError();
23447        if (mem_base != xmlMemBlocks()) {
23448            printf("Leak of %d blocks found in xmlSetBufferAllocationScheme",
23449	           xmlMemBlocks() - mem_base);
23450	    test_ret++;
23451            printf(" %d", n_scheme);
23452            printf("\n");
23453        }
23454    }
23455    function_tests++;
23456
23457    return(test_ret);
23458}
23459
23460
23461static int
23462test_xmlSetCompressMode(void) {
23463    int test_ret = 0;
23464
23465    int mem_base;
23466    int mode; /* the compression ratio */
23467    int n_mode;
23468
23469    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
23470        mem_base = xmlMemBlocks();
23471        mode = gen_int(n_mode, 0);
23472
23473        xmlSetCompressMode(mode);
23474        call_tests++;
23475        des_int(n_mode, mode, 0);
23476        xmlResetLastError();
23477        if (mem_base != xmlMemBlocks()) {
23478            printf("Leak of %d blocks found in xmlSetCompressMode",
23479	           xmlMemBlocks() - mem_base);
23480	    test_ret++;
23481            printf(" %d", n_mode);
23482            printf("\n");
23483        }
23484    }
23485    function_tests++;
23486
23487    return(test_ret);
23488}
23489
23490
23491static int
23492test_xmlSetDocCompressMode(void) {
23493    int test_ret = 0;
23494
23495    int mem_base;
23496    xmlDocPtr doc; /* the document */
23497    int n_doc;
23498    int mode; /* the compression ratio */
23499    int n_mode;
23500
23501    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
23502    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
23503        mem_base = xmlMemBlocks();
23504        doc = gen_xmlDocPtr(n_doc, 0);
23505        mode = gen_int(n_mode, 1);
23506
23507        xmlSetDocCompressMode(doc, mode);
23508        call_tests++;
23509        des_xmlDocPtr(n_doc, doc, 0);
23510        des_int(n_mode, mode, 1);
23511        xmlResetLastError();
23512        if (mem_base != xmlMemBlocks()) {
23513            printf("Leak of %d blocks found in xmlSetDocCompressMode",
23514	           xmlMemBlocks() - mem_base);
23515	    test_ret++;
23516            printf(" %d", n_doc);
23517            printf(" %d", n_mode);
23518            printf("\n");
23519        }
23520    }
23521    }
23522    function_tests++;
23523
23524    return(test_ret);
23525}
23526
23527
23528static int
23529test_xmlSetNs(void) {
23530    int test_ret = 0;
23531
23532    int mem_base;
23533    xmlNodePtr node; /* a node in the document */
23534    int n_node;
23535    xmlNsPtr ns; /* a namespace pointer */
23536    int n_ns;
23537
23538    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23539    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
23540        mem_base = xmlMemBlocks();
23541        node = gen_xmlNodePtr(n_node, 0);
23542        ns = gen_xmlNsPtr(n_ns, 1);
23543
23544        xmlSetNs(node, ns);
23545        call_tests++;
23546        des_xmlNodePtr(n_node, node, 0);
23547        des_xmlNsPtr(n_ns, ns, 1);
23548        xmlResetLastError();
23549        if (mem_base != xmlMemBlocks()) {
23550            printf("Leak of %d blocks found in xmlSetNs",
23551	           xmlMemBlocks() - mem_base);
23552	    test_ret++;
23553            printf(" %d", n_node);
23554            printf(" %d", n_ns);
23555            printf("\n");
23556        }
23557    }
23558    }
23559    function_tests++;
23560
23561    return(test_ret);
23562}
23563
23564
23565static int
23566test_xmlSetNsProp(void) {
23567    int test_ret = 0;
23568
23569#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
23570    int mem_base;
23571    xmlAttrPtr ret_val;
23572    xmlNodePtr node; /* the node */
23573    int n_node;
23574    xmlNsPtr ns; /* the namespace definition */
23575    int n_ns;
23576    xmlChar * name; /* the attribute name */
23577    int n_name;
23578    xmlChar * value; /* the attribute value */
23579    int n_value;
23580
23581    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23582    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
23583    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23584    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
23585        mem_base = xmlMemBlocks();
23586        node = gen_xmlNodePtr(n_node, 0);
23587        ns = gen_xmlNsPtr(n_ns, 1);
23588        name = gen_const_xmlChar_ptr(n_name, 2);
23589        value = gen_const_xmlChar_ptr(n_value, 3);
23590
23591        ret_val = xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
23592        desret_xmlAttrPtr(ret_val);
23593        call_tests++;
23594        des_xmlNodePtr(n_node, node, 0);
23595        des_xmlNsPtr(n_ns, ns, 1);
23596        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
23597        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
23598        xmlResetLastError();
23599        if (mem_base != xmlMemBlocks()) {
23600            printf("Leak of %d blocks found in xmlSetNsProp",
23601	           xmlMemBlocks() - mem_base);
23602	    test_ret++;
23603            printf(" %d", n_node);
23604            printf(" %d", n_ns);
23605            printf(" %d", n_name);
23606            printf(" %d", n_value);
23607            printf("\n");
23608        }
23609    }
23610    }
23611    }
23612    }
23613    function_tests++;
23614#endif
23615
23616    return(test_ret);
23617}
23618
23619
23620static int
23621test_xmlSetProp(void) {
23622    int test_ret = 0;
23623
23624#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
23625    int mem_base;
23626    xmlAttrPtr ret_val;
23627    xmlNodePtr node; /* the node */
23628    int n_node;
23629    xmlChar * name; /* the attribute name (a QName) */
23630    int n_name;
23631    xmlChar * value; /* the attribute value */
23632    int n_value;
23633
23634    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23635    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23636    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
23637        mem_base = xmlMemBlocks();
23638        node = gen_xmlNodePtr(n_node, 0);
23639        name = gen_const_xmlChar_ptr(n_name, 1);
23640        value = gen_const_xmlChar_ptr(n_value, 2);
23641
23642        ret_val = xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
23643        desret_xmlAttrPtr(ret_val);
23644        call_tests++;
23645        des_xmlNodePtr(n_node, node, 0);
23646        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
23647        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
23648        xmlResetLastError();
23649        if (mem_base != xmlMemBlocks()) {
23650            printf("Leak of %d blocks found in xmlSetProp",
23651	           xmlMemBlocks() - mem_base);
23652	    test_ret++;
23653            printf(" %d", n_node);
23654            printf(" %d", n_name);
23655            printf(" %d", n_value);
23656            printf("\n");
23657        }
23658    }
23659    }
23660    }
23661    function_tests++;
23662#endif
23663
23664    return(test_ret);
23665}
23666
23667
23668static int
23669test_xmlSplitQName2(void) {
23670    int test_ret = 0;
23671
23672    int mem_base;
23673    xmlChar * ret_val;
23674    xmlChar * name; /* the full QName */
23675    int n_name;
23676    xmlChar ** prefix; /* a xmlChar ** */
23677    int n_prefix;
23678
23679    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23680    for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
23681        mem_base = xmlMemBlocks();
23682        name = gen_const_xmlChar_ptr(n_name, 0);
23683        prefix = gen_xmlChar_ptr_ptr(n_prefix, 1);
23684
23685        ret_val = xmlSplitQName2((const xmlChar *)name, prefix);
23686        desret_xmlChar_ptr(ret_val);
23687        call_tests++;
23688        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
23689        des_xmlChar_ptr_ptr(n_prefix, prefix, 1);
23690        xmlResetLastError();
23691        if (mem_base != xmlMemBlocks()) {
23692            printf("Leak of %d blocks found in xmlSplitQName2",
23693	           xmlMemBlocks() - mem_base);
23694	    test_ret++;
23695            printf(" %d", n_name);
23696            printf(" %d", n_prefix);
23697            printf("\n");
23698        }
23699    }
23700    }
23701    function_tests++;
23702
23703    return(test_ret);
23704}
23705
23706
23707static int
23708test_xmlSplitQName3(void) {
23709    int test_ret = 0;
23710
23711    int mem_base;
23712    const xmlChar * ret_val;
23713    xmlChar * name; /* the full QName */
23714    int n_name;
23715    int * len; /* an int * */
23716    int n_len;
23717
23718    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23719    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
23720        mem_base = xmlMemBlocks();
23721        name = gen_const_xmlChar_ptr(n_name, 0);
23722        len = gen_int_ptr(n_len, 1);
23723
23724        ret_val = xmlSplitQName3((const xmlChar *)name, len);
23725        desret_const_xmlChar_ptr(ret_val);
23726        call_tests++;
23727        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
23728        des_int_ptr(n_len, len, 1);
23729        xmlResetLastError();
23730        if (mem_base != xmlMemBlocks()) {
23731            printf("Leak of %d blocks found in xmlSplitQName3",
23732	           xmlMemBlocks() - mem_base);
23733	    test_ret++;
23734            printf(" %d", n_name);
23735            printf(" %d", n_len);
23736            printf("\n");
23737        }
23738    }
23739    }
23740    function_tests++;
23741
23742    return(test_ret);
23743}
23744
23745
23746static int
23747test_xmlStringGetNodeList(void) {
23748    int test_ret = 0;
23749
23750    int mem_base;
23751    xmlNodePtr ret_val;
23752    xmlDocPtr doc; /* the document */
23753    int n_doc;
23754    xmlChar * value; /* the value of the attribute */
23755    int n_value;
23756
23757    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
23758    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
23759        mem_base = xmlMemBlocks();
23760        doc = gen_xmlDocPtr(n_doc, 0);
23761        value = gen_const_xmlChar_ptr(n_value, 1);
23762
23763        ret_val = xmlStringGetNodeList(doc, (const xmlChar *)value);
23764        desret_xmlNodePtr(ret_val);
23765        call_tests++;
23766        des_xmlDocPtr(n_doc, doc, 0);
23767        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
23768        xmlResetLastError();
23769        if (mem_base != xmlMemBlocks()) {
23770            printf("Leak of %d blocks found in xmlStringGetNodeList",
23771	           xmlMemBlocks() - mem_base);
23772	    test_ret++;
23773            printf(" %d", n_doc);
23774            printf(" %d", n_value);
23775            printf("\n");
23776        }
23777    }
23778    }
23779    function_tests++;
23780
23781    return(test_ret);
23782}
23783
23784
23785static int
23786test_xmlStringLenGetNodeList(void) {
23787    int test_ret = 0;
23788
23789    int mem_base;
23790    xmlNodePtr ret_val;
23791    xmlDocPtr doc; /* the document */
23792    int n_doc;
23793    xmlChar * value; /* the value of the text */
23794    int n_value;
23795    int len; /* the length of the string value */
23796    int n_len;
23797
23798    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
23799    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
23800    for (n_len = 0;n_len < gen_nb_int;n_len++) {
23801        mem_base = xmlMemBlocks();
23802        doc = gen_xmlDocPtr(n_doc, 0);
23803        value = gen_const_xmlChar_ptr(n_value, 1);
23804        len = gen_int(n_len, 2);
23805
23806        ret_val = xmlStringLenGetNodeList(doc, (const xmlChar *)value, len);
23807        desret_xmlNodePtr(ret_val);
23808        call_tests++;
23809        des_xmlDocPtr(n_doc, doc, 0);
23810        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
23811        des_int(n_len, len, 2);
23812        xmlResetLastError();
23813        if (mem_base != xmlMemBlocks()) {
23814            printf("Leak of %d blocks found in xmlStringLenGetNodeList",
23815	           xmlMemBlocks() - mem_base);
23816	    test_ret++;
23817            printf(" %d", n_doc);
23818            printf(" %d", n_value);
23819            printf(" %d", n_len);
23820            printf("\n");
23821        }
23822    }
23823    }
23824    }
23825    function_tests++;
23826
23827    return(test_ret);
23828}
23829
23830
23831static int
23832test_xmlTextConcat(void) {
23833    int test_ret = 0;
23834
23835    int mem_base;
23836    int ret_val;
23837    xmlNodePtr node; /* the node */
23838    int n_node;
23839    xmlChar * content; /* the content */
23840    int n_content;
23841    int len; /* @content length */
23842    int n_len;
23843
23844    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23845    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
23846    for (n_len = 0;n_len < gen_nb_int;n_len++) {
23847        mem_base = xmlMemBlocks();
23848        node = gen_xmlNodePtr(n_node, 0);
23849        content = gen_const_xmlChar_ptr(n_content, 1);
23850        len = gen_int(n_len, 2);
23851
23852        ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
23853        desret_int(ret_val);
23854        call_tests++;
23855        des_xmlNodePtr(n_node, node, 0);
23856        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
23857        des_int(n_len, len, 2);
23858        xmlResetLastError();
23859        if (mem_base != xmlMemBlocks()) {
23860            printf("Leak of %d blocks found in xmlTextConcat",
23861	           xmlMemBlocks() - mem_base);
23862	    test_ret++;
23863            printf(" %d", n_node);
23864            printf(" %d", n_content);
23865            printf(" %d", n_len);
23866            printf("\n");
23867        }
23868    }
23869    }
23870    }
23871    function_tests++;
23872
23873    return(test_ret);
23874}
23875
23876
23877static int
23878test_xmlTextMerge(void) {
23879    int test_ret = 0;
23880
23881    int mem_base;
23882    xmlNodePtr ret_val;
23883    xmlNodePtr first; /* the first text node */
23884    int n_first;
23885    xmlNodePtr second; /* the second text node being merged */
23886    int n_second;
23887
23888    for (n_first = 0;n_first < gen_nb_xmlNodePtr_in;n_first++) {
23889    for (n_second = 0;n_second < gen_nb_xmlNodePtr_in;n_second++) {
23890        mem_base = xmlMemBlocks();
23891        first = gen_xmlNodePtr_in(n_first, 0);
23892        second = gen_xmlNodePtr_in(n_second, 1);
23893
23894        ret_val = xmlTextMerge(first, second);
23895        if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
23896              xmlUnlinkNode(second);
23897              xmlFreeNode(second) ; second = NULL ; }
23898        desret_xmlNodePtr(ret_val);
23899        call_tests++;
23900        des_xmlNodePtr_in(n_first, first, 0);
23901        des_xmlNodePtr_in(n_second, second, 1);
23902        xmlResetLastError();
23903        if (mem_base != xmlMemBlocks()) {
23904            printf("Leak of %d blocks found in xmlTextMerge",
23905	           xmlMemBlocks() - mem_base);
23906	    test_ret++;
23907            printf(" %d", n_first);
23908            printf(" %d", n_second);
23909            printf("\n");
23910        }
23911    }
23912    }
23913    function_tests++;
23914
23915    return(test_ret);
23916}
23917
23918
23919static int
23920test_xmlUnsetNsProp(void) {
23921    int test_ret = 0;
23922
23923#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
23924    int mem_base;
23925    int ret_val;
23926    xmlNodePtr node; /* the node */
23927    int n_node;
23928    xmlNsPtr ns; /* the namespace definition */
23929    int n_ns;
23930    xmlChar * name; /* the attribute name */
23931    int n_name;
23932
23933    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23934    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
23935    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23936        mem_base = xmlMemBlocks();
23937        node = gen_xmlNodePtr(n_node, 0);
23938        ns = gen_xmlNsPtr(n_ns, 1);
23939        name = gen_const_xmlChar_ptr(n_name, 2);
23940
23941        ret_val = xmlUnsetNsProp(node, ns, (const xmlChar *)name);
23942        desret_int(ret_val);
23943        call_tests++;
23944        des_xmlNodePtr(n_node, node, 0);
23945        des_xmlNsPtr(n_ns, ns, 1);
23946        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
23947        xmlResetLastError();
23948        if (mem_base != xmlMemBlocks()) {
23949            printf("Leak of %d blocks found in xmlUnsetNsProp",
23950	           xmlMemBlocks() - mem_base);
23951	    test_ret++;
23952            printf(" %d", n_node);
23953            printf(" %d", n_ns);
23954            printf(" %d", n_name);
23955            printf("\n");
23956        }
23957    }
23958    }
23959    }
23960    function_tests++;
23961#endif
23962
23963    return(test_ret);
23964}
23965
23966
23967static int
23968test_xmlUnsetProp(void) {
23969    int test_ret = 0;
23970
23971#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
23972    int mem_base;
23973    int ret_val;
23974    xmlNodePtr node; /* the node */
23975    int n_node;
23976    xmlChar * name; /* the attribute name */
23977    int n_name;
23978
23979    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
23980    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
23981        mem_base = xmlMemBlocks();
23982        node = gen_xmlNodePtr(n_node, 0);
23983        name = gen_const_xmlChar_ptr(n_name, 1);
23984
23985        ret_val = xmlUnsetProp(node, (const xmlChar *)name);
23986        desret_int(ret_val);
23987        call_tests++;
23988        des_xmlNodePtr(n_node, node, 0);
23989        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
23990        xmlResetLastError();
23991        if (mem_base != xmlMemBlocks()) {
23992            printf("Leak of %d blocks found in xmlUnsetProp",
23993	           xmlMemBlocks() - mem_base);
23994	    test_ret++;
23995            printf(" %d", n_node);
23996            printf(" %d", n_name);
23997            printf("\n");
23998        }
23999    }
24000    }
24001    function_tests++;
24002#endif
24003
24004    return(test_ret);
24005}
24006
24007
24008static int
24009test_xmlValidateNCName(void) {
24010    int test_ret = 0;
24011
24012#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
24013#ifdef LIBXML_TREE_ENABLED
24014    int mem_base;
24015    int ret_val;
24016    xmlChar * value; /* the value to check */
24017    int n_value;
24018    int space; /* allow spaces in front and end of the string */
24019    int n_space;
24020
24021    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
24022    for (n_space = 0;n_space < gen_nb_int;n_space++) {
24023        mem_base = xmlMemBlocks();
24024        value = gen_const_xmlChar_ptr(n_value, 0);
24025        space = gen_int(n_space, 1);
24026
24027        ret_val = xmlValidateNCName((const xmlChar *)value, space);
24028        desret_int(ret_val);
24029        call_tests++;
24030        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
24031        des_int(n_space, space, 1);
24032        xmlResetLastError();
24033        if (mem_base != xmlMemBlocks()) {
24034            printf("Leak of %d blocks found in xmlValidateNCName",
24035	           xmlMemBlocks() - mem_base);
24036	    test_ret++;
24037            printf(" %d", n_value);
24038            printf(" %d", n_space);
24039            printf("\n");
24040        }
24041    }
24042    }
24043    function_tests++;
24044#endif
24045#endif
24046
24047    return(test_ret);
24048}
24049
24050
24051static int
24052test_xmlValidateNMToken(void) {
24053    int test_ret = 0;
24054
24055#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
24056#ifdef LIBXML_TREE_ENABLED
24057    int mem_base;
24058    int ret_val;
24059    xmlChar * value; /* the value to check */
24060    int n_value;
24061    int space; /* allow spaces in front and end of the string */
24062    int n_space;
24063
24064    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
24065    for (n_space = 0;n_space < gen_nb_int;n_space++) {
24066        mem_base = xmlMemBlocks();
24067        value = gen_const_xmlChar_ptr(n_value, 0);
24068        space = gen_int(n_space, 1);
24069
24070        ret_val = xmlValidateNMToken((const xmlChar *)value, space);
24071        desret_int(ret_val);
24072        call_tests++;
24073        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
24074        des_int(n_space, space, 1);
24075        xmlResetLastError();
24076        if (mem_base != xmlMemBlocks()) {
24077            printf("Leak of %d blocks found in xmlValidateNMToken",
24078	           xmlMemBlocks() - mem_base);
24079	    test_ret++;
24080            printf(" %d", n_value);
24081            printf(" %d", n_space);
24082            printf("\n");
24083        }
24084    }
24085    }
24086    function_tests++;
24087#endif
24088#endif
24089
24090    return(test_ret);
24091}
24092
24093
24094static int
24095test_xmlValidateName(void) {
24096    int test_ret = 0;
24097
24098#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
24099#ifdef LIBXML_TREE_ENABLED
24100    int mem_base;
24101    int ret_val;
24102    xmlChar * value; /* the value to check */
24103    int n_value;
24104    int space; /* allow spaces in front and end of the string */
24105    int n_space;
24106
24107    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
24108    for (n_space = 0;n_space < gen_nb_int;n_space++) {
24109        mem_base = xmlMemBlocks();
24110        value = gen_const_xmlChar_ptr(n_value, 0);
24111        space = gen_int(n_space, 1);
24112
24113        ret_val = xmlValidateName((const xmlChar *)value, space);
24114        desret_int(ret_val);
24115        call_tests++;
24116        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
24117        des_int(n_space, space, 1);
24118        xmlResetLastError();
24119        if (mem_base != xmlMemBlocks()) {
24120            printf("Leak of %d blocks found in xmlValidateName",
24121	           xmlMemBlocks() - mem_base);
24122	    test_ret++;
24123            printf(" %d", n_value);
24124            printf(" %d", n_space);
24125            printf("\n");
24126        }
24127    }
24128    }
24129    function_tests++;
24130#endif
24131#endif
24132
24133    return(test_ret);
24134}
24135
24136
24137static int
24138test_xmlValidateQName(void) {
24139    int test_ret = 0;
24140
24141#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
24142#ifdef LIBXML_TREE_ENABLED
24143    int mem_base;
24144    int ret_val;
24145    xmlChar * value; /* the value to check */
24146    int n_value;
24147    int space; /* allow spaces in front and end of the string */
24148    int n_space;
24149
24150    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
24151    for (n_space = 0;n_space < gen_nb_int;n_space++) {
24152        mem_base = xmlMemBlocks();
24153        value = gen_const_xmlChar_ptr(n_value, 0);
24154        space = gen_int(n_space, 1);
24155
24156        ret_val = xmlValidateQName((const xmlChar *)value, space);
24157        desret_int(ret_val);
24158        call_tests++;
24159        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
24160        des_int(n_space, space, 1);
24161        xmlResetLastError();
24162        if (mem_base != xmlMemBlocks()) {
24163            printf("Leak of %d blocks found in xmlValidateQName",
24164	           xmlMemBlocks() - mem_base);
24165	    test_ret++;
24166            printf(" %d", n_value);
24167            printf(" %d", n_space);
24168            printf("\n");
24169        }
24170    }
24171    }
24172    function_tests++;
24173#endif
24174#endif
24175
24176    return(test_ret);
24177}
24178
24179static int
24180test_tree(void) {
24181    int test_ret = 0;
24182
24183    if (quiet == 0) printf("Testing tree : 142 of 164 functions ...\n");
24184    test_ret += test_xmlAddChild();
24185    test_ret += test_xmlAddChildList();
24186    test_ret += test_xmlAddNextSibling();
24187    test_ret += test_xmlAddPrevSibling();
24188    test_ret += test_xmlAddSibling();
24189    test_ret += test_xmlAttrSerializeTxtContent();
24190    test_ret += test_xmlBufContent();
24191    test_ret += test_xmlBufEnd();
24192    test_ret += test_xmlBufGetNodeContent();
24193    test_ret += test_xmlBufNodeDump();
24194    test_ret += test_xmlBufShrink();
24195    test_ret += test_xmlBufUse();
24196    test_ret += test_xmlBufferAdd();
24197    test_ret += test_xmlBufferAddHead();
24198    test_ret += test_xmlBufferCCat();
24199    test_ret += test_xmlBufferCat();
24200    test_ret += test_xmlBufferContent();
24201    test_ret += test_xmlBufferCreate();
24202    test_ret += test_xmlBufferCreateSize();
24203    test_ret += test_xmlBufferCreateStatic();
24204    test_ret += test_xmlBufferDetach();
24205    test_ret += test_xmlBufferEmpty();
24206    test_ret += test_xmlBufferGrow();
24207    test_ret += test_xmlBufferLength();
24208    test_ret += test_xmlBufferResize();
24209    test_ret += test_xmlBufferSetAllocationScheme();
24210    test_ret += test_xmlBufferShrink();
24211    test_ret += test_xmlBufferWriteCHAR();
24212    test_ret += test_xmlBufferWriteChar();
24213    test_ret += test_xmlBufferWriteQuotedString();
24214    test_ret += test_xmlBuildQName();
24215    test_ret += test_xmlChildElementCount();
24216    test_ret += test_xmlCopyDoc();
24217    test_ret += test_xmlCopyDtd();
24218    test_ret += test_xmlCopyNamespace();
24219    test_ret += test_xmlCopyNamespaceList();
24220    test_ret += test_xmlCopyNode();
24221    test_ret += test_xmlCopyNodeList();
24222    test_ret += test_xmlCopyProp();
24223    test_ret += test_xmlCopyPropList();
24224    test_ret += test_xmlCreateIntSubset();
24225    test_ret += test_xmlDOMWrapAdoptNode();
24226    test_ret += test_xmlDOMWrapCloneNode();
24227    test_ret += test_xmlDOMWrapNewCtxt();
24228    test_ret += test_xmlDOMWrapReconcileNamespaces();
24229    test_ret += test_xmlDOMWrapRemoveNode();
24230    test_ret += test_xmlDocCopyNode();
24231    test_ret += test_xmlDocCopyNodeList();
24232    test_ret += test_xmlDocDump();
24233    test_ret += test_xmlDocDumpFormatMemory();
24234    test_ret += test_xmlDocDumpFormatMemoryEnc();
24235    test_ret += test_xmlDocDumpMemory();
24236    test_ret += test_xmlDocDumpMemoryEnc();
24237    test_ret += test_xmlDocFormatDump();
24238    test_ret += test_xmlDocGetRootElement();
24239    test_ret += test_xmlDocSetRootElement();
24240    test_ret += test_xmlElemDump();
24241    test_ret += test_xmlFirstElementChild();
24242    test_ret += test_xmlGetBufferAllocationScheme();
24243    test_ret += test_xmlGetCompressMode();
24244    test_ret += test_xmlGetDocCompressMode();
24245    test_ret += test_xmlGetIntSubset();
24246    test_ret += test_xmlGetLastChild();
24247    test_ret += test_xmlGetLineNo();
24248    test_ret += test_xmlGetNoNsProp();
24249    test_ret += test_xmlGetNodePath();
24250    test_ret += test_xmlGetNsList();
24251    test_ret += test_xmlGetNsProp();
24252    test_ret += test_xmlGetProp();
24253    test_ret += test_xmlHasNsProp();
24254    test_ret += test_xmlHasProp();
24255    test_ret += test_xmlIsBlankNode();
24256    test_ret += test_xmlIsXHTML();
24257    test_ret += test_xmlLastElementChild();
24258    test_ret += test_xmlNewCDataBlock();
24259    test_ret += test_xmlNewCharRef();
24260    test_ret += test_xmlNewChild();
24261    test_ret += test_xmlNewComment();
24262    test_ret += test_xmlNewDoc();
24263    test_ret += test_xmlNewDocComment();
24264    test_ret += test_xmlNewDocFragment();
24265    test_ret += test_xmlNewDocNode();
24266    test_ret += test_xmlNewDocNodeEatName();
24267    test_ret += test_xmlNewDocPI();
24268    test_ret += test_xmlNewDocProp();
24269    test_ret += test_xmlNewDocRawNode();
24270    test_ret += test_xmlNewDocText();
24271    test_ret += test_xmlNewDocTextLen();
24272    test_ret += test_xmlNewDtd();
24273    test_ret += test_xmlNewNode();
24274    test_ret += test_xmlNewNodeEatName();
24275    test_ret += test_xmlNewNs();
24276    test_ret += test_xmlNewNsProp();
24277    test_ret += test_xmlNewNsPropEatName();
24278    test_ret += test_xmlNewPI();
24279    test_ret += test_xmlNewProp();
24280    test_ret += test_xmlNewReference();
24281    test_ret += test_xmlNewText();
24282    test_ret += test_xmlNewTextChild();
24283    test_ret += test_xmlNewTextLen();
24284    test_ret += test_xmlNextElementSibling();
24285    test_ret += test_xmlNodeAddContent();
24286    test_ret += test_xmlNodeAddContentLen();
24287    test_ret += test_xmlNodeBufGetContent();
24288    test_ret += test_xmlNodeDump();
24289    test_ret += test_xmlNodeDumpOutput();
24290    test_ret += test_xmlNodeGetBase();
24291    test_ret += test_xmlNodeGetContent();
24292    test_ret += test_xmlNodeGetLang();
24293    test_ret += test_xmlNodeGetSpacePreserve();
24294    test_ret += test_xmlNodeIsText();
24295    test_ret += test_xmlNodeListGetRawString();
24296    test_ret += test_xmlNodeListGetString();
24297    test_ret += test_xmlNodeSetBase();
24298    test_ret += test_xmlNodeSetContent();
24299    test_ret += test_xmlNodeSetContentLen();
24300    test_ret += test_xmlNodeSetLang();
24301    test_ret += test_xmlNodeSetName();
24302    test_ret += test_xmlNodeSetSpacePreserve();
24303    test_ret += test_xmlPreviousElementSibling();
24304    test_ret += test_xmlReconciliateNs();
24305    test_ret += test_xmlRemoveProp();
24306    test_ret += test_xmlReplaceNode();
24307    test_ret += test_xmlSaveFile();
24308    test_ret += test_xmlSaveFileEnc();
24309    test_ret += test_xmlSaveFileTo();
24310    test_ret += test_xmlSaveFormatFile();
24311    test_ret += test_xmlSaveFormatFileEnc();
24312    test_ret += test_xmlSaveFormatFileTo();
24313    test_ret += test_xmlSearchNs();
24314    test_ret += test_xmlSearchNsByHref();
24315    test_ret += test_xmlSetBufferAllocationScheme();
24316    test_ret += test_xmlSetCompressMode();
24317    test_ret += test_xmlSetDocCompressMode();
24318    test_ret += test_xmlSetNs();
24319    test_ret += test_xmlSetNsProp();
24320    test_ret += test_xmlSetProp();
24321    test_ret += test_xmlSplitQName2();
24322    test_ret += test_xmlSplitQName3();
24323    test_ret += test_xmlStringGetNodeList();
24324    test_ret += test_xmlStringLenGetNodeList();
24325    test_ret += test_xmlTextConcat();
24326    test_ret += test_xmlTextMerge();
24327    test_ret += test_xmlUnsetNsProp();
24328    test_ret += test_xmlUnsetProp();
24329    test_ret += test_xmlValidateNCName();
24330    test_ret += test_xmlValidateNMToken();
24331    test_ret += test_xmlValidateName();
24332    test_ret += test_xmlValidateQName();
24333
24334    if (test_ret != 0)
24335	printf("Module tree: %d errors\n", test_ret);
24336    return(test_ret);
24337}
24338
24339static int
24340test_xmlBuildRelativeURI(void) {
24341    int test_ret = 0;
24342
24343    int mem_base;
24344    xmlChar * ret_val;
24345    xmlChar * URI; /* the URI reference under consideration */
24346    int n_URI;
24347    xmlChar * base; /* the base value */
24348    int n_base;
24349
24350    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
24351    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
24352        mem_base = xmlMemBlocks();
24353        URI = gen_const_xmlChar_ptr(n_URI, 0);
24354        base = gen_const_xmlChar_ptr(n_base, 1);
24355
24356        ret_val = xmlBuildRelativeURI((const xmlChar *)URI, (const xmlChar *)base);
24357        desret_xmlChar_ptr(ret_val);
24358        call_tests++;
24359        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
24360        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
24361        xmlResetLastError();
24362        if (mem_base != xmlMemBlocks()) {
24363            printf("Leak of %d blocks found in xmlBuildRelativeURI",
24364	           xmlMemBlocks() - mem_base);
24365	    test_ret++;
24366            printf(" %d", n_URI);
24367            printf(" %d", n_base);
24368            printf("\n");
24369        }
24370    }
24371    }
24372    function_tests++;
24373
24374    return(test_ret);
24375}
24376
24377
24378static int
24379test_xmlBuildURI(void) {
24380    int test_ret = 0;
24381
24382    int mem_base;
24383    xmlChar * ret_val;
24384    xmlChar * URI; /* the URI instance found in the document */
24385    int n_URI;
24386    xmlChar * base; /* the base value */
24387    int n_base;
24388
24389    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
24390    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
24391        mem_base = xmlMemBlocks();
24392        URI = gen_const_xmlChar_ptr(n_URI, 0);
24393        base = gen_const_xmlChar_ptr(n_base, 1);
24394
24395        ret_val = xmlBuildURI((const xmlChar *)URI, (const xmlChar *)base);
24396        desret_xmlChar_ptr(ret_val);
24397        call_tests++;
24398        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
24399        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
24400        xmlResetLastError();
24401        if (mem_base != xmlMemBlocks()) {
24402            printf("Leak of %d blocks found in xmlBuildURI",
24403	           xmlMemBlocks() - mem_base);
24404	    test_ret++;
24405            printf(" %d", n_URI);
24406            printf(" %d", n_base);
24407            printf("\n");
24408        }
24409    }
24410    }
24411    function_tests++;
24412
24413    return(test_ret);
24414}
24415
24416
24417static int
24418test_xmlCanonicPath(void) {
24419    int test_ret = 0;
24420
24421    int mem_base;
24422    xmlChar * ret_val;
24423    xmlChar * path; /* the resource locator in a filesystem notation */
24424    int n_path;
24425
24426    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
24427        mem_base = xmlMemBlocks();
24428        path = gen_const_xmlChar_ptr(n_path, 0);
24429
24430        ret_val = xmlCanonicPath((const xmlChar *)path);
24431        desret_xmlChar_ptr(ret_val);
24432        call_tests++;
24433        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
24434        xmlResetLastError();
24435        if (mem_base != xmlMemBlocks()) {
24436            printf("Leak of %d blocks found in xmlCanonicPath",
24437	           xmlMemBlocks() - mem_base);
24438	    test_ret++;
24439            printf(" %d", n_path);
24440            printf("\n");
24441        }
24442    }
24443    function_tests++;
24444
24445    return(test_ret);
24446}
24447
24448
24449static int
24450test_xmlCreateURI(void) {
24451    int test_ret = 0;
24452
24453
24454    /* missing type support */
24455    return(test_ret);
24456}
24457
24458
24459static int
24460test_xmlNormalizeURIPath(void) {
24461    int test_ret = 0;
24462
24463    int mem_base;
24464    int ret_val;
24465    char * path; /* pointer to the path string */
24466    int n_path;
24467
24468    for (n_path = 0;n_path < gen_nb_char_ptr;n_path++) {
24469        mem_base = xmlMemBlocks();
24470        path = gen_char_ptr(n_path, 0);
24471
24472        ret_val = xmlNormalizeURIPath(path);
24473        desret_int(ret_val);
24474        call_tests++;
24475        des_char_ptr(n_path, path, 0);
24476        xmlResetLastError();
24477        if (mem_base != xmlMemBlocks()) {
24478            printf("Leak of %d blocks found in xmlNormalizeURIPath",
24479	           xmlMemBlocks() - mem_base);
24480	    test_ret++;
24481            printf(" %d", n_path);
24482            printf("\n");
24483        }
24484    }
24485    function_tests++;
24486
24487    return(test_ret);
24488}
24489
24490
24491static int
24492test_xmlParseURI(void) {
24493    int test_ret = 0;
24494
24495
24496    /* missing type support */
24497    return(test_ret);
24498}
24499
24500
24501static int
24502test_xmlParseURIRaw(void) {
24503    int test_ret = 0;
24504
24505
24506    /* missing type support */
24507    return(test_ret);
24508}
24509
24510
24511#define gen_nb_xmlURIPtr 1
24512static xmlURIPtr gen_xmlURIPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
24513    return(NULL);
24514}
24515static void des_xmlURIPtr(int no ATTRIBUTE_UNUSED, xmlURIPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
24516}
24517
24518static int
24519test_xmlParseURIReference(void) {
24520    int test_ret = 0;
24521
24522    int mem_base;
24523    int ret_val;
24524    xmlURIPtr uri; /* pointer to an URI structure */
24525    int n_uri;
24526    char * str; /* the string to analyze */
24527    int n_str;
24528
24529    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
24530    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
24531        mem_base = xmlMemBlocks();
24532        uri = gen_xmlURIPtr(n_uri, 0);
24533        str = gen_const_char_ptr(n_str, 1);
24534
24535        ret_val = xmlParseURIReference(uri, (const char *)str);
24536        desret_int(ret_val);
24537        call_tests++;
24538        des_xmlURIPtr(n_uri, uri, 0);
24539        des_const_char_ptr(n_str, (const char *)str, 1);
24540        xmlResetLastError();
24541        if (mem_base != xmlMemBlocks()) {
24542            printf("Leak of %d blocks found in xmlParseURIReference",
24543	           xmlMemBlocks() - mem_base);
24544	    test_ret++;
24545            printf(" %d", n_uri);
24546            printf(" %d", n_str);
24547            printf("\n");
24548        }
24549    }
24550    }
24551    function_tests++;
24552
24553    return(test_ret);
24554}
24555
24556
24557static int
24558test_xmlPathToURI(void) {
24559    int test_ret = 0;
24560
24561    int mem_base;
24562    xmlChar * ret_val;
24563    xmlChar * path; /* the resource locator in a filesystem notation */
24564    int n_path;
24565
24566    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
24567        mem_base = xmlMemBlocks();
24568        path = gen_const_xmlChar_ptr(n_path, 0);
24569
24570        ret_val = xmlPathToURI((const xmlChar *)path);
24571        desret_xmlChar_ptr(ret_val);
24572        call_tests++;
24573        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
24574        xmlResetLastError();
24575        if (mem_base != xmlMemBlocks()) {
24576            printf("Leak of %d blocks found in xmlPathToURI",
24577	           xmlMemBlocks() - mem_base);
24578	    test_ret++;
24579            printf(" %d", n_path);
24580            printf("\n");
24581        }
24582    }
24583    function_tests++;
24584
24585    return(test_ret);
24586}
24587
24588
24589static int
24590test_xmlPrintURI(void) {
24591    int test_ret = 0;
24592
24593    int mem_base;
24594    FILE * stream; /* a FILE* for the output */
24595    int n_stream;
24596    xmlURIPtr uri; /* pointer to an xmlURI */
24597    int n_uri;
24598
24599    for (n_stream = 0;n_stream < gen_nb_FILE_ptr;n_stream++) {
24600    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
24601        mem_base = xmlMemBlocks();
24602        stream = gen_FILE_ptr(n_stream, 0);
24603        uri = gen_xmlURIPtr(n_uri, 1);
24604
24605        xmlPrintURI(stream, uri);
24606        call_tests++;
24607        des_FILE_ptr(n_stream, stream, 0);
24608        des_xmlURIPtr(n_uri, uri, 1);
24609        xmlResetLastError();
24610        if (mem_base != xmlMemBlocks()) {
24611            printf("Leak of %d blocks found in xmlPrintURI",
24612	           xmlMemBlocks() - mem_base);
24613	    test_ret++;
24614            printf(" %d", n_stream);
24615            printf(" %d", n_uri);
24616            printf("\n");
24617        }
24618    }
24619    }
24620    function_tests++;
24621
24622    return(test_ret);
24623}
24624
24625
24626static int
24627test_xmlSaveUri(void) {
24628    int test_ret = 0;
24629
24630    int mem_base;
24631    xmlChar * ret_val;
24632    xmlURIPtr uri; /* pointer to an xmlURI */
24633    int n_uri;
24634
24635    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
24636        mem_base = xmlMemBlocks();
24637        uri = gen_xmlURIPtr(n_uri, 0);
24638
24639        ret_val = xmlSaveUri(uri);
24640        desret_xmlChar_ptr(ret_val);
24641        call_tests++;
24642        des_xmlURIPtr(n_uri, uri, 0);
24643        xmlResetLastError();
24644        if (mem_base != xmlMemBlocks()) {
24645            printf("Leak of %d blocks found in xmlSaveUri",
24646	           xmlMemBlocks() - mem_base);
24647	    test_ret++;
24648            printf(" %d", n_uri);
24649            printf("\n");
24650        }
24651    }
24652    function_tests++;
24653
24654    return(test_ret);
24655}
24656
24657
24658static int
24659test_xmlURIEscape(void) {
24660    int test_ret = 0;
24661
24662    int mem_base;
24663    xmlChar * ret_val;
24664    xmlChar * str; /* the string of the URI to escape */
24665    int n_str;
24666
24667    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
24668        mem_base = xmlMemBlocks();
24669        str = gen_const_xmlChar_ptr(n_str, 0);
24670
24671        ret_val = xmlURIEscape((const xmlChar *)str);
24672        desret_xmlChar_ptr(ret_val);
24673        call_tests++;
24674        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
24675        xmlResetLastError();
24676        if (mem_base != xmlMemBlocks()) {
24677            printf("Leak of %d blocks found in xmlURIEscape",
24678	           xmlMemBlocks() - mem_base);
24679	    test_ret++;
24680            printf(" %d", n_str);
24681            printf("\n");
24682        }
24683    }
24684    function_tests++;
24685
24686    return(test_ret);
24687}
24688
24689
24690static int
24691test_xmlURIEscapeStr(void) {
24692    int test_ret = 0;
24693
24694    int mem_base;
24695    xmlChar * ret_val;
24696    xmlChar * str; /* string to escape */
24697    int n_str;
24698    xmlChar * list; /* exception list string of chars not to escape */
24699    int n_list;
24700
24701    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
24702    for (n_list = 0;n_list < gen_nb_const_xmlChar_ptr;n_list++) {
24703        mem_base = xmlMemBlocks();
24704        str = gen_const_xmlChar_ptr(n_str, 0);
24705        list = gen_const_xmlChar_ptr(n_list, 1);
24706
24707        ret_val = xmlURIEscapeStr((const xmlChar *)str, (const xmlChar *)list);
24708        desret_xmlChar_ptr(ret_val);
24709        call_tests++;
24710        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
24711        des_const_xmlChar_ptr(n_list, (const xmlChar *)list, 1);
24712        xmlResetLastError();
24713        if (mem_base != xmlMemBlocks()) {
24714            printf("Leak of %d blocks found in xmlURIEscapeStr",
24715	           xmlMemBlocks() - mem_base);
24716	    test_ret++;
24717            printf(" %d", n_str);
24718            printf(" %d", n_list);
24719            printf("\n");
24720        }
24721    }
24722    }
24723    function_tests++;
24724
24725    return(test_ret);
24726}
24727
24728
24729static int
24730test_xmlURIUnescapeString(void) {
24731    int test_ret = 0;
24732
24733
24734    /* missing type support */
24735    return(test_ret);
24736}
24737
24738static int
24739test_uri(void) {
24740    int test_ret = 0;
24741
24742    if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n");
24743    test_ret += test_xmlBuildRelativeURI();
24744    test_ret += test_xmlBuildURI();
24745    test_ret += test_xmlCanonicPath();
24746    test_ret += test_xmlCreateURI();
24747    test_ret += test_xmlNormalizeURIPath();
24748    test_ret += test_xmlParseURI();
24749    test_ret += test_xmlParseURIRaw();
24750    test_ret += test_xmlParseURIReference();
24751    test_ret += test_xmlPathToURI();
24752    test_ret += test_xmlPrintURI();
24753    test_ret += test_xmlSaveUri();
24754    test_ret += test_xmlURIEscape();
24755    test_ret += test_xmlURIEscapeStr();
24756    test_ret += test_xmlURIUnescapeString();
24757
24758    if (test_ret != 0)
24759	printf("Module uri: %d errors\n", test_ret);
24760    return(test_ret);
24761}
24762
24763static int
24764test_xmlAddAttributeDecl(void) {
24765    int test_ret = 0;
24766
24767    int mem_base;
24768    xmlAttributePtr ret_val;
24769    xmlValidCtxtPtr ctxt; /* the validation context */
24770    int n_ctxt;
24771    xmlDtdPtr dtd; /* pointer to the DTD */
24772    int n_dtd;
24773    xmlChar * elem; /* the element name */
24774    int n_elem;
24775    xmlChar * name; /* the attribute name */
24776    int n_name;
24777    xmlChar * ns; /* the attribute namespace prefix */
24778    int n_ns;
24779    xmlAttributeType type; /* the attribute type */
24780    int n_type;
24781    xmlAttributeDefault def; /* the attribute default type */
24782    int n_def;
24783    xmlChar * defaultValue; /* the attribute default value */
24784    int n_defaultValue;
24785    xmlEnumerationPtr tree; /* if it's an enumeration, the associated list */
24786    int n_tree;
24787
24788    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
24789    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
24790    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
24791    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
24792    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
24793    for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
24794    for (n_def = 0;n_def < gen_nb_xmlAttributeDefault;n_def++) {
24795    for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
24796    for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
24797        mem_base = xmlMemBlocks();
24798        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
24799        dtd = gen_xmlDtdPtr(n_dtd, 1);
24800        elem = gen_const_xmlChar_ptr(n_elem, 2);
24801        name = gen_const_xmlChar_ptr(n_name, 3);
24802        ns = gen_const_xmlChar_ptr(n_ns, 4);
24803        type = gen_xmlAttributeType(n_type, 5);
24804        def = gen_xmlAttributeDefault(n_def, 6);
24805        defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 7);
24806        tree = gen_xmlEnumerationPtr(n_tree, 8);
24807
24808        ret_val = xmlAddAttributeDecl(ctxt, dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)ns, type, def, (const xmlChar *)defaultValue, tree);
24809        desret_xmlAttributePtr(ret_val);
24810        call_tests++;
24811        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
24812        des_xmlDtdPtr(n_dtd, dtd, 1);
24813        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 2);
24814        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
24815        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 4);
24816        des_xmlAttributeType(n_type, type, 5);
24817        des_xmlAttributeDefault(n_def, def, 6);
24818        des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 7);
24819        des_xmlEnumerationPtr(n_tree, tree, 8);
24820        xmlResetLastError();
24821        if (mem_base != xmlMemBlocks()) {
24822            printf("Leak of %d blocks found in xmlAddAttributeDecl",
24823	           xmlMemBlocks() - mem_base);
24824	    test_ret++;
24825            printf(" %d", n_ctxt);
24826            printf(" %d", n_dtd);
24827            printf(" %d", n_elem);
24828            printf(" %d", n_name);
24829            printf(" %d", n_ns);
24830            printf(" %d", n_type);
24831            printf(" %d", n_def);
24832            printf(" %d", n_defaultValue);
24833            printf(" %d", n_tree);
24834            printf("\n");
24835        }
24836    }
24837    }
24838    }
24839    }
24840    }
24841    }
24842    }
24843    }
24844    }
24845    function_tests++;
24846
24847    return(test_ret);
24848}
24849
24850
24851static int
24852test_xmlAddElementDecl(void) {
24853    int test_ret = 0;
24854
24855    int mem_base;
24856    xmlElementPtr ret_val;
24857    xmlValidCtxtPtr ctxt; /* the validation context */
24858    int n_ctxt;
24859    xmlDtdPtr dtd; /* pointer to the DTD */
24860    int n_dtd;
24861    xmlChar * name; /* the entity name */
24862    int n_name;
24863    xmlElementTypeVal type; /* the element type */
24864    int n_type;
24865    xmlElementContentPtr content; /* the element content tree or NULL */
24866    int n_content;
24867
24868    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
24869    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
24870    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
24871    for (n_type = 0;n_type < gen_nb_xmlElementTypeVal;n_type++) {
24872    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
24873        mem_base = xmlMemBlocks();
24874        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
24875        dtd = gen_xmlDtdPtr(n_dtd, 1);
24876        name = gen_const_xmlChar_ptr(n_name, 2);
24877        type = gen_xmlElementTypeVal(n_type, 3);
24878        content = gen_xmlElementContentPtr(n_content, 4);
24879
24880        ret_val = xmlAddElementDecl(ctxt, dtd, (const xmlChar *)name, type, content);
24881        desret_xmlElementPtr(ret_val);
24882        call_tests++;
24883        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
24884        des_xmlDtdPtr(n_dtd, dtd, 1);
24885        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
24886        des_xmlElementTypeVal(n_type, type, 3);
24887        des_xmlElementContentPtr(n_content, content, 4);
24888        xmlResetLastError();
24889        if (mem_base != xmlMemBlocks()) {
24890            printf("Leak of %d blocks found in xmlAddElementDecl",
24891	           xmlMemBlocks() - mem_base);
24892	    test_ret++;
24893            printf(" %d", n_ctxt);
24894            printf(" %d", n_dtd);
24895            printf(" %d", n_name);
24896            printf(" %d", n_type);
24897            printf(" %d", n_content);
24898            printf("\n");
24899        }
24900    }
24901    }
24902    }
24903    }
24904    }
24905    function_tests++;
24906
24907    return(test_ret);
24908}
24909
24910
24911static int
24912test_xmlAddID(void) {
24913    int test_ret = 0;
24914
24915
24916    /* missing type support */
24917    return(test_ret);
24918}
24919
24920
24921static int
24922test_xmlAddNotationDecl(void) {
24923    int test_ret = 0;
24924
24925
24926    /* missing type support */
24927    return(test_ret);
24928}
24929
24930
24931static int
24932test_xmlAddRef(void) {
24933    int test_ret = 0;
24934
24935
24936    /* missing type support */
24937    return(test_ret);
24938}
24939
24940
24941#define gen_nb_xmlAttributeTablePtr 1
24942static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
24943    return(NULL);
24944}
24945static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
24946}
24947
24948static int
24949test_xmlCopyAttributeTable(void) {
24950    int test_ret = 0;
24951
24952
24953    /* missing type support */
24954    return(test_ret);
24955}
24956
24957
24958static int
24959test_xmlCopyDocElementContent(void) {
24960    int test_ret = 0;
24961
24962    int mem_base;
24963    xmlElementContentPtr ret_val;
24964    xmlDocPtr doc; /* the document owning the element declaration */
24965    int n_doc;
24966    xmlElementContentPtr cur; /* An element content pointer. */
24967    int n_cur;
24968
24969    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
24970    for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
24971        mem_base = xmlMemBlocks();
24972        doc = gen_xmlDocPtr(n_doc, 0);
24973        cur = gen_xmlElementContentPtr(n_cur, 1);
24974
24975        ret_val = xmlCopyDocElementContent(doc, cur);
24976        desret_xmlElementContentPtr(ret_val);
24977        call_tests++;
24978        des_xmlDocPtr(n_doc, doc, 0);
24979        des_xmlElementContentPtr(n_cur, cur, 1);
24980        xmlResetLastError();
24981        if (mem_base != xmlMemBlocks()) {
24982            printf("Leak of %d blocks found in xmlCopyDocElementContent",
24983	           xmlMemBlocks() - mem_base);
24984	    test_ret++;
24985            printf(" %d", n_doc);
24986            printf(" %d", n_cur);
24987            printf("\n");
24988        }
24989    }
24990    }
24991    function_tests++;
24992
24993    return(test_ret);
24994}
24995
24996
24997static int
24998test_xmlCopyElementContent(void) {
24999    int test_ret = 0;
25000
25001    int mem_base;
25002    xmlElementContentPtr ret_val;
25003    xmlElementContentPtr cur; /* An element content pointer. */
25004    int n_cur;
25005
25006    for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
25007        mem_base = xmlMemBlocks();
25008        cur = gen_xmlElementContentPtr(n_cur, 0);
25009
25010        ret_val = xmlCopyElementContent(cur);
25011        desret_xmlElementContentPtr(ret_val);
25012        call_tests++;
25013        des_xmlElementContentPtr(n_cur, cur, 0);
25014        xmlResetLastError();
25015        if (mem_base != xmlMemBlocks()) {
25016            printf("Leak of %d blocks found in xmlCopyElementContent",
25017	           xmlMemBlocks() - mem_base);
25018	    test_ret++;
25019            printf(" %d", n_cur);
25020            printf("\n");
25021        }
25022    }
25023    function_tests++;
25024
25025    return(test_ret);
25026}
25027
25028
25029#define gen_nb_xmlElementTablePtr 1
25030static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25031    return(NULL);
25032}
25033static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25034}
25035
25036static int
25037test_xmlCopyElementTable(void) {
25038    int test_ret = 0;
25039
25040
25041    /* missing type support */
25042    return(test_ret);
25043}
25044
25045
25046static int
25047test_xmlCopyEnumeration(void) {
25048    int test_ret = 0;
25049
25050
25051    /* missing type support */
25052    return(test_ret);
25053}
25054
25055
25056#define gen_nb_xmlNotationTablePtr 1
25057static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25058    return(NULL);
25059}
25060static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25061}
25062
25063static int
25064test_xmlCopyNotationTable(void) {
25065    int test_ret = 0;
25066
25067
25068    /* missing type support */
25069    return(test_ret);
25070}
25071
25072
25073static int
25074test_xmlCreateEnumeration(void) {
25075    int test_ret = 0;
25076
25077
25078    /* missing type support */
25079    return(test_ret);
25080}
25081
25082
25083#define gen_nb_xmlAttributePtr 1
25084static xmlAttributePtr gen_xmlAttributePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25085    return(NULL);
25086}
25087static void des_xmlAttributePtr(int no ATTRIBUTE_UNUSED, xmlAttributePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25088}
25089
25090static int
25091test_xmlDumpAttributeDecl(void) {
25092    int test_ret = 0;
25093
25094#if defined(LIBXML_OUTPUT_ENABLED)
25095    int mem_base;
25096    xmlBufferPtr buf; /* the XML buffer output */
25097    int n_buf;
25098    xmlAttributePtr attr; /* An attribute declaration */
25099    int n_attr;
25100
25101    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25102    for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
25103        mem_base = xmlMemBlocks();
25104        buf = gen_xmlBufferPtr(n_buf, 0);
25105        attr = gen_xmlAttributePtr(n_attr, 1);
25106
25107        xmlDumpAttributeDecl(buf, attr);
25108        call_tests++;
25109        des_xmlBufferPtr(n_buf, buf, 0);
25110        des_xmlAttributePtr(n_attr, attr, 1);
25111        xmlResetLastError();
25112        if (mem_base != xmlMemBlocks()) {
25113            printf("Leak of %d blocks found in xmlDumpAttributeDecl",
25114	           xmlMemBlocks() - mem_base);
25115	    test_ret++;
25116            printf(" %d", n_buf);
25117            printf(" %d", n_attr);
25118            printf("\n");
25119        }
25120    }
25121    }
25122    function_tests++;
25123#endif
25124
25125    return(test_ret);
25126}
25127
25128
25129static int
25130test_xmlDumpAttributeTable(void) {
25131    int test_ret = 0;
25132
25133#if defined(LIBXML_OUTPUT_ENABLED)
25134    int mem_base;
25135    xmlBufferPtr buf; /* the XML buffer output */
25136    int n_buf;
25137    xmlAttributeTablePtr table; /* An attribute table */
25138    int n_table;
25139
25140    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25141    for (n_table = 0;n_table < gen_nb_xmlAttributeTablePtr;n_table++) {
25142        mem_base = xmlMemBlocks();
25143        buf = gen_xmlBufferPtr(n_buf, 0);
25144        table = gen_xmlAttributeTablePtr(n_table, 1);
25145
25146        xmlDumpAttributeTable(buf, table);
25147        call_tests++;
25148        des_xmlBufferPtr(n_buf, buf, 0);
25149        des_xmlAttributeTablePtr(n_table, table, 1);
25150        xmlResetLastError();
25151        if (mem_base != xmlMemBlocks()) {
25152            printf("Leak of %d blocks found in xmlDumpAttributeTable",
25153	           xmlMemBlocks() - mem_base);
25154	    test_ret++;
25155            printf(" %d", n_buf);
25156            printf(" %d", n_table);
25157            printf("\n");
25158        }
25159    }
25160    }
25161    function_tests++;
25162#endif
25163
25164    return(test_ret);
25165}
25166
25167
25168#define gen_nb_xmlElementPtr 1
25169static xmlElementPtr gen_xmlElementPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25170    return(NULL);
25171}
25172static void des_xmlElementPtr(int no ATTRIBUTE_UNUSED, xmlElementPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25173}
25174
25175static int
25176test_xmlDumpElementDecl(void) {
25177    int test_ret = 0;
25178
25179#if defined(LIBXML_OUTPUT_ENABLED)
25180    int mem_base;
25181    xmlBufferPtr buf; /* the XML buffer output */
25182    int n_buf;
25183    xmlElementPtr elem; /* An element table */
25184    int n_elem;
25185
25186    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25187    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
25188        mem_base = xmlMemBlocks();
25189        buf = gen_xmlBufferPtr(n_buf, 0);
25190        elem = gen_xmlElementPtr(n_elem, 1);
25191
25192        xmlDumpElementDecl(buf, elem);
25193        call_tests++;
25194        des_xmlBufferPtr(n_buf, buf, 0);
25195        des_xmlElementPtr(n_elem, elem, 1);
25196        xmlResetLastError();
25197        if (mem_base != xmlMemBlocks()) {
25198            printf("Leak of %d blocks found in xmlDumpElementDecl",
25199	           xmlMemBlocks() - mem_base);
25200	    test_ret++;
25201            printf(" %d", n_buf);
25202            printf(" %d", n_elem);
25203            printf("\n");
25204        }
25205    }
25206    }
25207    function_tests++;
25208#endif
25209
25210    return(test_ret);
25211}
25212
25213
25214static int
25215test_xmlDumpElementTable(void) {
25216    int test_ret = 0;
25217
25218#if defined(LIBXML_OUTPUT_ENABLED)
25219    int mem_base;
25220    xmlBufferPtr buf; /* the XML buffer output */
25221    int n_buf;
25222    xmlElementTablePtr table; /* An element table */
25223    int n_table;
25224
25225    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25226    for (n_table = 0;n_table < gen_nb_xmlElementTablePtr;n_table++) {
25227        mem_base = xmlMemBlocks();
25228        buf = gen_xmlBufferPtr(n_buf, 0);
25229        table = gen_xmlElementTablePtr(n_table, 1);
25230
25231        xmlDumpElementTable(buf, table);
25232        call_tests++;
25233        des_xmlBufferPtr(n_buf, buf, 0);
25234        des_xmlElementTablePtr(n_table, table, 1);
25235        xmlResetLastError();
25236        if (mem_base != xmlMemBlocks()) {
25237            printf("Leak of %d blocks found in xmlDumpElementTable",
25238	           xmlMemBlocks() - mem_base);
25239	    test_ret++;
25240            printf(" %d", n_buf);
25241            printf(" %d", n_table);
25242            printf("\n");
25243        }
25244    }
25245    }
25246    function_tests++;
25247#endif
25248
25249    return(test_ret);
25250}
25251
25252
25253#define gen_nb_xmlNotationPtr 1
25254static xmlNotationPtr gen_xmlNotationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25255    return(NULL);
25256}
25257static void des_xmlNotationPtr(int no ATTRIBUTE_UNUSED, xmlNotationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
25258}
25259
25260static int
25261test_xmlDumpNotationDecl(void) {
25262    int test_ret = 0;
25263
25264#if defined(LIBXML_OUTPUT_ENABLED)
25265    int mem_base;
25266    xmlBufferPtr buf; /* the XML buffer output */
25267    int n_buf;
25268    xmlNotationPtr nota; /* A notation declaration */
25269    int n_nota;
25270
25271    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25272    for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
25273        mem_base = xmlMemBlocks();
25274        buf = gen_xmlBufferPtr(n_buf, 0);
25275        nota = gen_xmlNotationPtr(n_nota, 1);
25276
25277        xmlDumpNotationDecl(buf, nota);
25278        call_tests++;
25279        des_xmlBufferPtr(n_buf, buf, 0);
25280        des_xmlNotationPtr(n_nota, nota, 1);
25281        xmlResetLastError();
25282        if (mem_base != xmlMemBlocks()) {
25283            printf("Leak of %d blocks found in xmlDumpNotationDecl",
25284	           xmlMemBlocks() - mem_base);
25285	    test_ret++;
25286            printf(" %d", n_buf);
25287            printf(" %d", n_nota);
25288            printf("\n");
25289        }
25290    }
25291    }
25292    function_tests++;
25293#endif
25294
25295    return(test_ret);
25296}
25297
25298
25299static int
25300test_xmlDumpNotationTable(void) {
25301    int test_ret = 0;
25302
25303#if defined(LIBXML_OUTPUT_ENABLED)
25304    int mem_base;
25305    xmlBufferPtr buf; /* the XML buffer output */
25306    int n_buf;
25307    xmlNotationTablePtr table; /* A notation table */
25308    int n_table;
25309
25310    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
25311    for (n_table = 0;n_table < gen_nb_xmlNotationTablePtr;n_table++) {
25312        mem_base = xmlMemBlocks();
25313        buf = gen_xmlBufferPtr(n_buf, 0);
25314        table = gen_xmlNotationTablePtr(n_table, 1);
25315
25316        xmlDumpNotationTable(buf, table);
25317        call_tests++;
25318        des_xmlBufferPtr(n_buf, buf, 0);
25319        des_xmlNotationTablePtr(n_table, table, 1);
25320        xmlResetLastError();
25321        if (mem_base != xmlMemBlocks()) {
25322            printf("Leak of %d blocks found in xmlDumpNotationTable",
25323	           xmlMemBlocks() - mem_base);
25324	    test_ret++;
25325            printf(" %d", n_buf);
25326            printf(" %d", n_table);
25327            printf("\n");
25328        }
25329    }
25330    }
25331    function_tests++;
25332#endif
25333
25334    return(test_ret);
25335}
25336
25337
25338static int
25339test_xmlGetDtdAttrDesc(void) {
25340    int test_ret = 0;
25341
25342    int mem_base;
25343    xmlAttributePtr ret_val;
25344    xmlDtdPtr dtd; /* a pointer to the DtD to search */
25345    int n_dtd;
25346    xmlChar * elem; /* the element name */
25347    int n_elem;
25348    xmlChar * name; /* the attribute name */
25349    int n_name;
25350
25351    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
25352    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
25353    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25354        mem_base = xmlMemBlocks();
25355        dtd = gen_xmlDtdPtr(n_dtd, 0);
25356        elem = gen_const_xmlChar_ptr(n_elem, 1);
25357        name = gen_const_xmlChar_ptr(n_name, 2);
25358
25359        ret_val = xmlGetDtdAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name);
25360        desret_xmlAttributePtr(ret_val);
25361        call_tests++;
25362        des_xmlDtdPtr(n_dtd, dtd, 0);
25363        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
25364        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
25365        xmlResetLastError();
25366        if (mem_base != xmlMemBlocks()) {
25367            printf("Leak of %d blocks found in xmlGetDtdAttrDesc",
25368	           xmlMemBlocks() - mem_base);
25369	    test_ret++;
25370            printf(" %d", n_dtd);
25371            printf(" %d", n_elem);
25372            printf(" %d", n_name);
25373            printf("\n");
25374        }
25375    }
25376    }
25377    }
25378    function_tests++;
25379
25380    return(test_ret);
25381}
25382
25383
25384static int
25385test_xmlGetDtdElementDesc(void) {
25386    int test_ret = 0;
25387
25388    int mem_base;
25389    xmlElementPtr ret_val;
25390    xmlDtdPtr dtd; /* a pointer to the DtD to search */
25391    int n_dtd;
25392    xmlChar * name; /* the element name */
25393    int n_name;
25394
25395    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
25396    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25397        mem_base = xmlMemBlocks();
25398        dtd = gen_xmlDtdPtr(n_dtd, 0);
25399        name = gen_const_xmlChar_ptr(n_name, 1);
25400
25401        ret_val = xmlGetDtdElementDesc(dtd, (const xmlChar *)name);
25402        desret_xmlElementPtr(ret_val);
25403        call_tests++;
25404        des_xmlDtdPtr(n_dtd, dtd, 0);
25405        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
25406        xmlResetLastError();
25407        if (mem_base != xmlMemBlocks()) {
25408            printf("Leak of %d blocks found in xmlGetDtdElementDesc",
25409	           xmlMemBlocks() - mem_base);
25410	    test_ret++;
25411            printf(" %d", n_dtd);
25412            printf(" %d", n_name);
25413            printf("\n");
25414        }
25415    }
25416    }
25417    function_tests++;
25418
25419    return(test_ret);
25420}
25421
25422
25423static int
25424test_xmlGetDtdNotationDesc(void) {
25425    int test_ret = 0;
25426
25427
25428    /* missing type support */
25429    return(test_ret);
25430}
25431
25432
25433static int
25434test_xmlGetDtdQAttrDesc(void) {
25435    int test_ret = 0;
25436
25437    int mem_base;
25438    xmlAttributePtr ret_val;
25439    xmlDtdPtr dtd; /* a pointer to the DtD to search */
25440    int n_dtd;
25441    xmlChar * elem; /* the element name */
25442    int n_elem;
25443    xmlChar * name; /* the attribute name */
25444    int n_name;
25445    xmlChar * prefix; /* the attribute namespace prefix */
25446    int n_prefix;
25447
25448    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
25449    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
25450    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25451    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
25452        mem_base = xmlMemBlocks();
25453        dtd = gen_xmlDtdPtr(n_dtd, 0);
25454        elem = gen_const_xmlChar_ptr(n_elem, 1);
25455        name = gen_const_xmlChar_ptr(n_name, 2);
25456        prefix = gen_const_xmlChar_ptr(n_prefix, 3);
25457
25458        ret_val = xmlGetDtdQAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)prefix);
25459        desret_xmlAttributePtr(ret_val);
25460        call_tests++;
25461        des_xmlDtdPtr(n_dtd, dtd, 0);
25462        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
25463        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
25464        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
25465        xmlResetLastError();
25466        if (mem_base != xmlMemBlocks()) {
25467            printf("Leak of %d blocks found in xmlGetDtdQAttrDesc",
25468	           xmlMemBlocks() - mem_base);
25469	    test_ret++;
25470            printf(" %d", n_dtd);
25471            printf(" %d", n_elem);
25472            printf(" %d", n_name);
25473            printf(" %d", n_prefix);
25474            printf("\n");
25475        }
25476    }
25477    }
25478    }
25479    }
25480    function_tests++;
25481
25482    return(test_ret);
25483}
25484
25485
25486static int
25487test_xmlGetDtdQElementDesc(void) {
25488    int test_ret = 0;
25489
25490    int mem_base;
25491    xmlElementPtr ret_val;
25492    xmlDtdPtr dtd; /* a pointer to the DtD to search */
25493    int n_dtd;
25494    xmlChar * name; /* the element name */
25495    int n_name;
25496    xmlChar * prefix; /* the element namespace prefix */
25497    int n_prefix;
25498
25499    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
25500    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25501    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
25502        mem_base = xmlMemBlocks();
25503        dtd = gen_xmlDtdPtr(n_dtd, 0);
25504        name = gen_const_xmlChar_ptr(n_name, 1);
25505        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
25506
25507        ret_val = xmlGetDtdQElementDesc(dtd, (const xmlChar *)name, (const xmlChar *)prefix);
25508        desret_xmlElementPtr(ret_val);
25509        call_tests++;
25510        des_xmlDtdPtr(n_dtd, dtd, 0);
25511        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
25512        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
25513        xmlResetLastError();
25514        if (mem_base != xmlMemBlocks()) {
25515            printf("Leak of %d blocks found in xmlGetDtdQElementDesc",
25516	           xmlMemBlocks() - mem_base);
25517	    test_ret++;
25518            printf(" %d", n_dtd);
25519            printf(" %d", n_name);
25520            printf(" %d", n_prefix);
25521            printf("\n");
25522        }
25523    }
25524    }
25525    }
25526    function_tests++;
25527
25528    return(test_ret);
25529}
25530
25531
25532static int
25533test_xmlGetID(void) {
25534    int test_ret = 0;
25535
25536    int mem_base;
25537    xmlAttrPtr ret_val;
25538    xmlDocPtr doc; /* pointer to the document */
25539    int n_doc;
25540    xmlChar * ID; /* the ID value */
25541    int n_ID;
25542
25543    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25544    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
25545        mem_base = xmlMemBlocks();
25546        doc = gen_xmlDocPtr(n_doc, 0);
25547        ID = gen_const_xmlChar_ptr(n_ID, 1);
25548
25549        ret_val = xmlGetID(doc, (const xmlChar *)ID);
25550        desret_xmlAttrPtr(ret_val);
25551        call_tests++;
25552        des_xmlDocPtr(n_doc, doc, 0);
25553        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
25554        xmlResetLastError();
25555        if (mem_base != xmlMemBlocks()) {
25556            printf("Leak of %d blocks found in xmlGetID",
25557	           xmlMemBlocks() - mem_base);
25558	    test_ret++;
25559            printf(" %d", n_doc);
25560            printf(" %d", n_ID);
25561            printf("\n");
25562        }
25563    }
25564    }
25565    function_tests++;
25566
25567    return(test_ret);
25568}
25569
25570
25571static int
25572test_xmlGetRefs(void) {
25573    int test_ret = 0;
25574
25575
25576    /* missing type support */
25577    return(test_ret);
25578}
25579
25580
25581static int
25582test_xmlIsID(void) {
25583    int test_ret = 0;
25584
25585    int mem_base;
25586    int ret_val;
25587    xmlDocPtr doc; /* the document */
25588    int n_doc;
25589    xmlNodePtr elem; /* the element carrying the attribute */
25590    int n_elem;
25591    xmlAttrPtr attr; /* the attribute */
25592    int n_attr;
25593
25594    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25595    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
25596    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
25597        mem_base = xmlMemBlocks();
25598        doc = gen_xmlDocPtr(n_doc, 0);
25599        elem = gen_xmlNodePtr(n_elem, 1);
25600        attr = gen_xmlAttrPtr(n_attr, 2);
25601
25602        ret_val = xmlIsID(doc, elem, attr);
25603        desret_int(ret_val);
25604        call_tests++;
25605        des_xmlDocPtr(n_doc, doc, 0);
25606        des_xmlNodePtr(n_elem, elem, 1);
25607        des_xmlAttrPtr(n_attr, attr, 2);
25608        xmlResetLastError();
25609        if (mem_base != xmlMemBlocks()) {
25610            printf("Leak of %d blocks found in xmlIsID",
25611	           xmlMemBlocks() - mem_base);
25612	    test_ret++;
25613            printf(" %d", n_doc);
25614            printf(" %d", n_elem);
25615            printf(" %d", n_attr);
25616            printf("\n");
25617        }
25618    }
25619    }
25620    }
25621    function_tests++;
25622
25623    return(test_ret);
25624}
25625
25626
25627static int
25628test_xmlIsMixedElement(void) {
25629    int test_ret = 0;
25630
25631    int mem_base;
25632    int ret_val;
25633    xmlDocPtr doc; /* the document */
25634    int n_doc;
25635    xmlChar * name; /* the element name */
25636    int n_name;
25637
25638    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25639    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25640        mem_base = xmlMemBlocks();
25641        doc = gen_xmlDocPtr(n_doc, 0);
25642        name = gen_const_xmlChar_ptr(n_name, 1);
25643
25644        ret_val = xmlIsMixedElement(doc, (const xmlChar *)name);
25645        desret_int(ret_val);
25646        call_tests++;
25647        des_xmlDocPtr(n_doc, doc, 0);
25648        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
25649        xmlResetLastError();
25650        if (mem_base != xmlMemBlocks()) {
25651            printf("Leak of %d blocks found in xmlIsMixedElement",
25652	           xmlMemBlocks() - mem_base);
25653	    test_ret++;
25654            printf(" %d", n_doc);
25655            printf(" %d", n_name);
25656            printf("\n");
25657        }
25658    }
25659    }
25660    function_tests++;
25661
25662    return(test_ret);
25663}
25664
25665
25666static int
25667test_xmlIsRef(void) {
25668    int test_ret = 0;
25669
25670    int mem_base;
25671    int ret_val;
25672    xmlDocPtr doc; /* the document */
25673    int n_doc;
25674    xmlNodePtr elem; /* the element carrying the attribute */
25675    int n_elem;
25676    xmlAttrPtr attr; /* the attribute */
25677    int n_attr;
25678
25679    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25680    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
25681    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
25682        mem_base = xmlMemBlocks();
25683        doc = gen_xmlDocPtr(n_doc, 0);
25684        elem = gen_xmlNodePtr(n_elem, 1);
25685        attr = gen_xmlAttrPtr(n_attr, 2);
25686
25687        ret_val = xmlIsRef(doc, elem, attr);
25688        desret_int(ret_val);
25689        call_tests++;
25690        des_xmlDocPtr(n_doc, doc, 0);
25691        des_xmlNodePtr(n_elem, elem, 1);
25692        des_xmlAttrPtr(n_attr, attr, 2);
25693        xmlResetLastError();
25694        if (mem_base != xmlMemBlocks()) {
25695            printf("Leak of %d blocks found in xmlIsRef",
25696	           xmlMemBlocks() - mem_base);
25697	    test_ret++;
25698            printf(" %d", n_doc);
25699            printf(" %d", n_elem);
25700            printf(" %d", n_attr);
25701            printf("\n");
25702        }
25703    }
25704    }
25705    }
25706    function_tests++;
25707
25708    return(test_ret);
25709}
25710
25711
25712static int
25713test_xmlNewDocElementContent(void) {
25714    int test_ret = 0;
25715
25716    int mem_base;
25717    xmlElementContentPtr ret_val;
25718    xmlDocPtr doc; /* the document */
25719    int n_doc;
25720    xmlChar * name; /* the subelement name or NULL */
25721    int n_name;
25722    xmlElementContentType type; /* the type of element content decl */
25723    int n_type;
25724
25725    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25726    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25727    for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
25728        mem_base = xmlMemBlocks();
25729        doc = gen_xmlDocPtr(n_doc, 0);
25730        name = gen_const_xmlChar_ptr(n_name, 1);
25731        type = gen_xmlElementContentType(n_type, 2);
25732
25733        ret_val = xmlNewDocElementContent(doc, (const xmlChar *)name, type);
25734        xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;
25735        desret_xmlElementContentPtr(ret_val);
25736        call_tests++;
25737        des_xmlDocPtr(n_doc, doc, 0);
25738        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
25739        des_xmlElementContentType(n_type, type, 2);
25740        xmlResetLastError();
25741        if (mem_base != xmlMemBlocks()) {
25742            printf("Leak of %d blocks found in xmlNewDocElementContent",
25743	           xmlMemBlocks() - mem_base);
25744	    test_ret++;
25745            printf(" %d", n_doc);
25746            printf(" %d", n_name);
25747            printf(" %d", n_type);
25748            printf("\n");
25749        }
25750    }
25751    }
25752    }
25753    function_tests++;
25754
25755    return(test_ret);
25756}
25757
25758
25759static int
25760test_xmlNewElementContent(void) {
25761    int test_ret = 0;
25762
25763    int mem_base;
25764    xmlElementContentPtr ret_val;
25765    xmlChar * name; /* the subelement name or NULL */
25766    int n_name;
25767    xmlElementContentType type; /* the type of element content decl */
25768    int n_type;
25769
25770    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
25771    for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
25772        mem_base = xmlMemBlocks();
25773        name = gen_const_xmlChar_ptr(n_name, 0);
25774        type = gen_xmlElementContentType(n_type, 1);
25775
25776        ret_val = xmlNewElementContent((const xmlChar *)name, type);
25777        desret_xmlElementContentPtr(ret_val);
25778        call_tests++;
25779        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
25780        des_xmlElementContentType(n_type, type, 1);
25781        xmlResetLastError();
25782        if (mem_base != xmlMemBlocks()) {
25783            printf("Leak of %d blocks found in xmlNewElementContent",
25784	           xmlMemBlocks() - mem_base);
25785	    test_ret++;
25786            printf(" %d", n_name);
25787            printf(" %d", n_type);
25788            printf("\n");
25789        }
25790    }
25791    }
25792    function_tests++;
25793
25794    return(test_ret);
25795}
25796
25797
25798static int
25799test_xmlNewValidCtxt(void) {
25800    int test_ret = 0;
25801
25802
25803    /* missing type support */
25804    return(test_ret);
25805}
25806
25807
25808static int
25809test_xmlRemoveID(void) {
25810    int test_ret = 0;
25811
25812    int mem_base;
25813    int ret_val;
25814    xmlDocPtr doc; /* the document */
25815    int n_doc;
25816    xmlAttrPtr attr; /* the attribute */
25817    int n_attr;
25818
25819    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25820    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
25821        mem_base = xmlMemBlocks();
25822        doc = gen_xmlDocPtr(n_doc, 0);
25823        attr = gen_xmlAttrPtr(n_attr, 1);
25824
25825        ret_val = xmlRemoveID(doc, attr);
25826        desret_int(ret_val);
25827        call_tests++;
25828        des_xmlDocPtr(n_doc, doc, 0);
25829        des_xmlAttrPtr(n_attr, attr, 1);
25830        xmlResetLastError();
25831        if (mem_base != xmlMemBlocks()) {
25832            printf("Leak of %d blocks found in xmlRemoveID",
25833	           xmlMemBlocks() - mem_base);
25834	    test_ret++;
25835            printf(" %d", n_doc);
25836            printf(" %d", n_attr);
25837            printf("\n");
25838        }
25839    }
25840    }
25841    function_tests++;
25842
25843    return(test_ret);
25844}
25845
25846
25847static int
25848test_xmlRemoveRef(void) {
25849    int test_ret = 0;
25850
25851    int mem_base;
25852    int ret_val;
25853    xmlDocPtr doc; /* the document */
25854    int n_doc;
25855    xmlAttrPtr attr; /* the attribute */
25856    int n_attr;
25857
25858    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
25859    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
25860        mem_base = xmlMemBlocks();
25861        doc = gen_xmlDocPtr(n_doc, 0);
25862        attr = gen_xmlAttrPtr(n_attr, 1);
25863
25864        ret_val = xmlRemoveRef(doc, attr);
25865        desret_int(ret_val);
25866        call_tests++;
25867        des_xmlDocPtr(n_doc, doc, 0);
25868        des_xmlAttrPtr(n_attr, attr, 1);
25869        xmlResetLastError();
25870        if (mem_base != xmlMemBlocks()) {
25871            printf("Leak of %d blocks found in xmlRemoveRef",
25872	           xmlMemBlocks() - mem_base);
25873	    test_ret++;
25874            printf(" %d", n_doc);
25875            printf(" %d", n_attr);
25876            printf("\n");
25877        }
25878    }
25879    }
25880    function_tests++;
25881
25882    return(test_ret);
25883}
25884
25885
25886static int
25887test_xmlSnprintfElementContent(void) {
25888    int test_ret = 0;
25889
25890    int mem_base;
25891    char * buf; /* an output buffer */
25892    int n_buf;
25893    int size; /* the buffer size */
25894    int n_size;
25895    xmlElementContentPtr content; /* An element table */
25896    int n_content;
25897    int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
25898    int n_englob;
25899
25900    for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
25901    for (n_size = 0;n_size < gen_nb_int;n_size++) {
25902    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
25903    for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
25904        mem_base = xmlMemBlocks();
25905        buf = gen_char_ptr(n_buf, 0);
25906        size = gen_int(n_size, 1);
25907        content = gen_xmlElementContentPtr(n_content, 2);
25908        englob = gen_int(n_englob, 3);
25909
25910        xmlSnprintfElementContent(buf, size, content, englob);
25911        call_tests++;
25912        des_char_ptr(n_buf, buf, 0);
25913        des_int(n_size, size, 1);
25914        des_xmlElementContentPtr(n_content, content, 2);
25915        des_int(n_englob, englob, 3);
25916        xmlResetLastError();
25917        if (mem_base != xmlMemBlocks()) {
25918            printf("Leak of %d blocks found in xmlSnprintfElementContent",
25919	           xmlMemBlocks() - mem_base);
25920	    test_ret++;
25921            printf(" %d", n_buf);
25922            printf(" %d", n_size);
25923            printf(" %d", n_content);
25924            printf(" %d", n_englob);
25925            printf("\n");
25926        }
25927    }
25928    }
25929    }
25930    }
25931    function_tests++;
25932
25933    return(test_ret);
25934}
25935
25936
25937static int
25938test_xmlSprintfElementContent(void) {
25939    int test_ret = 0;
25940
25941#if defined(LIBXML_OUTPUT_ENABLED)
25942#ifdef LIBXML_OUTPUT_ENABLED
25943    int mem_base;
25944    char * buf; /* an output buffer */
25945    int n_buf;
25946    xmlElementContentPtr content; /* An element table */
25947    int n_content;
25948    int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
25949    int n_englob;
25950
25951    for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
25952    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
25953    for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
25954        mem_base = xmlMemBlocks();
25955        buf = gen_char_ptr(n_buf, 0);
25956        content = gen_xmlElementContentPtr(n_content, 1);
25957        englob = gen_int(n_englob, 2);
25958
25959        xmlSprintfElementContent(buf, content, englob);
25960        call_tests++;
25961        des_char_ptr(n_buf, buf, 0);
25962        des_xmlElementContentPtr(n_content, content, 1);
25963        des_int(n_englob, englob, 2);
25964        xmlResetLastError();
25965        if (mem_base != xmlMemBlocks()) {
25966            printf("Leak of %d blocks found in xmlSprintfElementContent",
25967	           xmlMemBlocks() - mem_base);
25968	    test_ret++;
25969            printf(" %d", n_buf);
25970            printf(" %d", n_content);
25971            printf(" %d", n_englob);
25972            printf("\n");
25973        }
25974    }
25975    }
25976    }
25977    function_tests++;
25978#endif
25979#endif
25980
25981    return(test_ret);
25982}
25983
25984
25985static int
25986test_xmlValidBuildContentModel(void) {
25987    int test_ret = 0;
25988
25989#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
25990    int mem_base;
25991    int ret_val;
25992    xmlValidCtxtPtr ctxt; /* a validation context */
25993    int n_ctxt;
25994    xmlElementPtr elem; /* an element declaration node */
25995    int n_elem;
25996
25997    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
25998    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
25999        mem_base = xmlMemBlocks();
26000        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26001        elem = gen_xmlElementPtr(n_elem, 1);
26002
26003        ret_val = xmlValidBuildContentModel(ctxt, elem);
26004        desret_int(ret_val);
26005        call_tests++;
26006        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26007        des_xmlElementPtr(n_elem, elem, 1);
26008        xmlResetLastError();
26009        if (mem_base != xmlMemBlocks()) {
26010            printf("Leak of %d blocks found in xmlValidBuildContentModel",
26011	           xmlMemBlocks() - mem_base);
26012	    test_ret++;
26013            printf(" %d", n_ctxt);
26014            printf(" %d", n_elem);
26015            printf("\n");
26016        }
26017    }
26018    }
26019    function_tests++;
26020#endif
26021
26022    return(test_ret);
26023}
26024
26025
26026static int
26027test_xmlValidCtxtNormalizeAttributeValue(void) {
26028    int test_ret = 0;
26029
26030#if defined(LIBXML_VALID_ENABLED)
26031    int mem_base;
26032    xmlChar * ret_val;
26033    xmlValidCtxtPtr ctxt; /* the validation context or NULL */
26034    int n_ctxt;
26035    xmlDocPtr doc; /* the document */
26036    int n_doc;
26037    xmlNodePtr elem; /* the parent */
26038    int n_elem;
26039    xmlChar * name; /* the attribute name */
26040    int n_name;
26041    xmlChar * value; /* the attribute value */
26042    int n_value;
26043
26044    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26045    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26046    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26047    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
26048    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26049        mem_base = xmlMemBlocks();
26050        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26051        doc = gen_xmlDocPtr(n_doc, 1);
26052        elem = gen_xmlNodePtr(n_elem, 2);
26053        name = gen_const_xmlChar_ptr(n_name, 3);
26054        value = gen_const_xmlChar_ptr(n_value, 4);
26055
26056        ret_val = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, (const xmlChar *)name, (const xmlChar *)value);
26057        desret_xmlChar_ptr(ret_val);
26058        call_tests++;
26059        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26060        des_xmlDocPtr(n_doc, doc, 1);
26061        des_xmlNodePtr(n_elem, elem, 2);
26062        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
26063        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
26064        xmlResetLastError();
26065        if (mem_base != xmlMemBlocks()) {
26066            printf("Leak of %d blocks found in xmlValidCtxtNormalizeAttributeValue",
26067	           xmlMemBlocks() - mem_base);
26068	    test_ret++;
26069            printf(" %d", n_ctxt);
26070            printf(" %d", n_doc);
26071            printf(" %d", n_elem);
26072            printf(" %d", n_name);
26073            printf(" %d", n_value);
26074            printf("\n");
26075        }
26076    }
26077    }
26078    }
26079    }
26080    }
26081    function_tests++;
26082#endif
26083
26084    return(test_ret);
26085}
26086
26087
26088#define gen_nb_xmlElementContent_ptr 1
26089static xmlElementContent * gen_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
26090    return(NULL);
26091}
26092static void des_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, xmlElementContent * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
26093}
26094
26095static int
26096test_xmlValidGetPotentialChildren(void) {
26097    int test_ret = 0;
26098
26099#if defined(LIBXML_VALID_ENABLED)
26100#ifdef LIBXML_VALID_ENABLED
26101    int mem_base;
26102    int ret_val;
26103    xmlElementContent * ctree; /* an element content tree */
26104    int n_ctree;
26105    xmlChar ** names; /* an array to store the list of child names */
26106    int n_names;
26107    int * len; /* a pointer to the number of element in the list */
26108    int n_len;
26109    int max; /* the size of the array */
26110    int n_max;
26111
26112    for (n_ctree = 0;n_ctree < gen_nb_xmlElementContent_ptr;n_ctree++) {
26113    for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
26114    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
26115    for (n_max = 0;n_max < gen_nb_int;n_max++) {
26116        mem_base = xmlMemBlocks();
26117        ctree = gen_xmlElementContent_ptr(n_ctree, 0);
26118        names = gen_const_xmlChar_ptr_ptr(n_names, 1);
26119        len = gen_int_ptr(n_len, 2);
26120        max = gen_int(n_max, 3);
26121
26122        ret_val = xmlValidGetPotentialChildren(ctree, (const xmlChar **)names, len, max);
26123        desret_int(ret_val);
26124        call_tests++;
26125        des_xmlElementContent_ptr(n_ctree, ctree, 0);
26126        des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 1);
26127        des_int_ptr(n_len, len, 2);
26128        des_int(n_max, max, 3);
26129        xmlResetLastError();
26130        if (mem_base != xmlMemBlocks()) {
26131            printf("Leak of %d blocks found in xmlValidGetPotentialChildren",
26132	           xmlMemBlocks() - mem_base);
26133	    test_ret++;
26134            printf(" %d", n_ctree);
26135            printf(" %d", n_names);
26136            printf(" %d", n_len);
26137            printf(" %d", n_max);
26138            printf("\n");
26139        }
26140    }
26141    }
26142    }
26143    }
26144    function_tests++;
26145#endif
26146#endif
26147
26148    return(test_ret);
26149}
26150
26151
26152static int
26153test_xmlValidGetValidElements(void) {
26154    int test_ret = 0;
26155
26156#if defined(LIBXML_VALID_ENABLED)
26157#ifdef LIBXML_VALID_ENABLED
26158    int mem_base;
26159    int ret_val;
26160    xmlNode * prev; /* an element to insert after */
26161    int n_prev;
26162    xmlNode * next; /* an element to insert next */
26163    int n_next;
26164    xmlChar ** names; /* an array to store the list of child names */
26165    int n_names;
26166    int max; /* the size of the array */
26167    int n_max;
26168
26169    for (n_prev = 0;n_prev < gen_nb_xmlNodePtr;n_prev++) {
26170    for (n_next = 0;n_next < gen_nb_xmlNodePtr;n_next++) {
26171    for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
26172    for (n_max = 0;n_max < gen_nb_int;n_max++) {
26173        mem_base = xmlMemBlocks();
26174        prev = gen_xmlNodePtr(n_prev, 0);
26175        next = gen_xmlNodePtr(n_next, 1);
26176        names = gen_const_xmlChar_ptr_ptr(n_names, 2);
26177        max = gen_int(n_max, 3);
26178
26179        ret_val = xmlValidGetValidElements(prev, next, (const xmlChar **)names, max);
26180        desret_int(ret_val);
26181        call_tests++;
26182        des_xmlNodePtr(n_prev, prev, 0);
26183        des_xmlNodePtr(n_next, next, 1);
26184        des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 2);
26185        des_int(n_max, max, 3);
26186        xmlResetLastError();
26187        if (mem_base != xmlMemBlocks()) {
26188            printf("Leak of %d blocks found in xmlValidGetValidElements",
26189	           xmlMemBlocks() - mem_base);
26190	    test_ret++;
26191            printf(" %d", n_prev);
26192            printf(" %d", n_next);
26193            printf(" %d", n_names);
26194            printf(" %d", n_max);
26195            printf("\n");
26196        }
26197    }
26198    }
26199    }
26200    }
26201    function_tests++;
26202#endif
26203#endif
26204
26205    return(test_ret);
26206}
26207
26208
26209static int
26210test_xmlValidNormalizeAttributeValue(void) {
26211    int test_ret = 0;
26212
26213#if defined(LIBXML_VALID_ENABLED)
26214    int mem_base;
26215    xmlChar * ret_val;
26216    xmlDocPtr doc; /* the document */
26217    int n_doc;
26218    xmlNodePtr elem; /* the parent */
26219    int n_elem;
26220    xmlChar * name; /* the attribute name */
26221    int n_name;
26222    xmlChar * value; /* the attribute value */
26223    int n_value;
26224
26225    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26226    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26227    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
26228    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26229        mem_base = xmlMemBlocks();
26230        doc = gen_xmlDocPtr(n_doc, 0);
26231        elem = gen_xmlNodePtr(n_elem, 1);
26232        name = gen_const_xmlChar_ptr(n_name, 2);
26233        value = gen_const_xmlChar_ptr(n_value, 3);
26234
26235        ret_val = xmlValidNormalizeAttributeValue(doc, elem, (const xmlChar *)name, (const xmlChar *)value);
26236        desret_xmlChar_ptr(ret_val);
26237        call_tests++;
26238        des_xmlDocPtr(n_doc, doc, 0);
26239        des_xmlNodePtr(n_elem, elem, 1);
26240        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
26241        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
26242        xmlResetLastError();
26243        if (mem_base != xmlMemBlocks()) {
26244            printf("Leak of %d blocks found in xmlValidNormalizeAttributeValue",
26245	           xmlMemBlocks() - mem_base);
26246	    test_ret++;
26247            printf(" %d", n_doc);
26248            printf(" %d", n_elem);
26249            printf(" %d", n_name);
26250            printf(" %d", n_value);
26251            printf("\n");
26252        }
26253    }
26254    }
26255    }
26256    }
26257    function_tests++;
26258#endif
26259
26260    return(test_ret);
26261}
26262
26263
26264static int
26265test_xmlValidateAttributeDecl(void) {
26266    int test_ret = 0;
26267
26268#if defined(LIBXML_VALID_ENABLED)
26269    int mem_base;
26270    int ret_val;
26271    xmlValidCtxtPtr ctxt; /* the validation context */
26272    int n_ctxt;
26273    xmlDocPtr doc; /* a document instance */
26274    int n_doc;
26275    xmlAttributePtr attr; /* an attribute definition */
26276    int n_attr;
26277
26278    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26279    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26280    for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
26281        mem_base = xmlMemBlocks();
26282        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26283        doc = gen_xmlDocPtr(n_doc, 1);
26284        attr = gen_xmlAttributePtr(n_attr, 2);
26285
26286        ret_val = xmlValidateAttributeDecl(ctxt, doc, attr);
26287        desret_int(ret_val);
26288        call_tests++;
26289        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26290        des_xmlDocPtr(n_doc, doc, 1);
26291        des_xmlAttributePtr(n_attr, attr, 2);
26292        xmlResetLastError();
26293        if (mem_base != xmlMemBlocks()) {
26294            printf("Leak of %d blocks found in xmlValidateAttributeDecl",
26295	           xmlMemBlocks() - mem_base);
26296	    test_ret++;
26297            printf(" %d", n_ctxt);
26298            printf(" %d", n_doc);
26299            printf(" %d", n_attr);
26300            printf("\n");
26301        }
26302    }
26303    }
26304    }
26305    function_tests++;
26306#endif
26307
26308    return(test_ret);
26309}
26310
26311
26312static int
26313test_xmlValidateAttributeValue(void) {
26314    int test_ret = 0;
26315
26316#if defined(LIBXML_VALID_ENABLED)
26317    int mem_base;
26318    int ret_val;
26319    xmlAttributeType type; /* an attribute type */
26320    int n_type;
26321    xmlChar * value; /* an attribute value */
26322    int n_value;
26323
26324    for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
26325    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26326        mem_base = xmlMemBlocks();
26327        type = gen_xmlAttributeType(n_type, 0);
26328        value = gen_const_xmlChar_ptr(n_value, 1);
26329
26330        ret_val = xmlValidateAttributeValue(type, (const xmlChar *)value);
26331        desret_int(ret_val);
26332        call_tests++;
26333        des_xmlAttributeType(n_type, type, 0);
26334        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
26335        xmlResetLastError();
26336        if (mem_base != xmlMemBlocks()) {
26337            printf("Leak of %d blocks found in xmlValidateAttributeValue",
26338	           xmlMemBlocks() - mem_base);
26339	    test_ret++;
26340            printf(" %d", n_type);
26341            printf(" %d", n_value);
26342            printf("\n");
26343        }
26344    }
26345    }
26346    function_tests++;
26347#endif
26348
26349    return(test_ret);
26350}
26351
26352
26353static int
26354test_xmlValidateDocument(void) {
26355    int test_ret = 0;
26356
26357#if defined(LIBXML_VALID_ENABLED)
26358    int mem_base;
26359    int ret_val;
26360    xmlValidCtxtPtr ctxt; /* the validation context */
26361    int n_ctxt;
26362    xmlDocPtr doc; /* a document instance */
26363    int n_doc;
26364
26365    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26366    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26367        mem_base = xmlMemBlocks();
26368        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26369        doc = gen_xmlDocPtr(n_doc, 1);
26370
26371        ret_val = xmlValidateDocument(ctxt, doc);
26372        desret_int(ret_val);
26373        call_tests++;
26374        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26375        des_xmlDocPtr(n_doc, doc, 1);
26376        xmlResetLastError();
26377        if (mem_base != xmlMemBlocks()) {
26378            printf("Leak of %d blocks found in xmlValidateDocument",
26379	           xmlMemBlocks() - mem_base);
26380	    test_ret++;
26381            printf(" %d", n_ctxt);
26382            printf(" %d", n_doc);
26383            printf("\n");
26384        }
26385    }
26386    }
26387    function_tests++;
26388#endif
26389
26390    return(test_ret);
26391}
26392
26393
26394static int
26395test_xmlValidateDocumentFinal(void) {
26396    int test_ret = 0;
26397
26398#if defined(LIBXML_VALID_ENABLED)
26399    int mem_base;
26400    int ret_val;
26401    xmlValidCtxtPtr ctxt; /* the validation context */
26402    int n_ctxt;
26403    xmlDocPtr doc; /* a document instance */
26404    int n_doc;
26405
26406    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26407    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26408        mem_base = xmlMemBlocks();
26409        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26410        doc = gen_xmlDocPtr(n_doc, 1);
26411
26412        ret_val = xmlValidateDocumentFinal(ctxt, doc);
26413        desret_int(ret_val);
26414        call_tests++;
26415        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26416        des_xmlDocPtr(n_doc, doc, 1);
26417        xmlResetLastError();
26418        if (mem_base != xmlMemBlocks()) {
26419            printf("Leak of %d blocks found in xmlValidateDocumentFinal",
26420	           xmlMemBlocks() - mem_base);
26421	    test_ret++;
26422            printf(" %d", n_ctxt);
26423            printf(" %d", n_doc);
26424            printf("\n");
26425        }
26426    }
26427    }
26428    function_tests++;
26429#endif
26430
26431    return(test_ret);
26432}
26433
26434
26435static int
26436test_xmlValidateDtd(void) {
26437    int test_ret = 0;
26438
26439#if defined(LIBXML_VALID_ENABLED)
26440    int mem_base;
26441    int ret_val;
26442    xmlValidCtxtPtr ctxt; /* the validation context */
26443    int n_ctxt;
26444    xmlDocPtr doc; /* a document instance */
26445    int n_doc;
26446    xmlDtdPtr dtd; /* a dtd instance */
26447    int n_dtd;
26448
26449    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26450    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26451    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
26452        mem_base = xmlMemBlocks();
26453        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26454        doc = gen_xmlDocPtr(n_doc, 1);
26455        dtd = gen_xmlDtdPtr(n_dtd, 2);
26456
26457        ret_val = xmlValidateDtd(ctxt, doc, dtd);
26458        desret_int(ret_val);
26459        call_tests++;
26460        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26461        des_xmlDocPtr(n_doc, doc, 1);
26462        des_xmlDtdPtr(n_dtd, dtd, 2);
26463        xmlResetLastError();
26464        if (mem_base != xmlMemBlocks()) {
26465            printf("Leak of %d blocks found in xmlValidateDtd",
26466	           xmlMemBlocks() - mem_base);
26467	    test_ret++;
26468            printf(" %d", n_ctxt);
26469            printf(" %d", n_doc);
26470            printf(" %d", n_dtd);
26471            printf("\n");
26472        }
26473    }
26474    }
26475    }
26476    function_tests++;
26477#endif
26478
26479    return(test_ret);
26480}
26481
26482
26483static int
26484test_xmlValidateDtdFinal(void) {
26485    int test_ret = 0;
26486
26487#if defined(LIBXML_VALID_ENABLED)
26488    int mem_base;
26489    int ret_val;
26490    xmlValidCtxtPtr ctxt; /* the validation context */
26491    int n_ctxt;
26492    xmlDocPtr doc; /* a document instance */
26493    int n_doc;
26494
26495    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26496    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26497        mem_base = xmlMemBlocks();
26498        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26499        doc = gen_xmlDocPtr(n_doc, 1);
26500
26501        ret_val = xmlValidateDtdFinal(ctxt, doc);
26502        desret_int(ret_val);
26503        call_tests++;
26504        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26505        des_xmlDocPtr(n_doc, doc, 1);
26506        xmlResetLastError();
26507        if (mem_base != xmlMemBlocks()) {
26508            printf("Leak of %d blocks found in xmlValidateDtdFinal",
26509	           xmlMemBlocks() - mem_base);
26510	    test_ret++;
26511            printf(" %d", n_ctxt);
26512            printf(" %d", n_doc);
26513            printf("\n");
26514        }
26515    }
26516    }
26517    function_tests++;
26518#endif
26519
26520    return(test_ret);
26521}
26522
26523
26524static int
26525test_xmlValidateElement(void) {
26526    int test_ret = 0;
26527
26528#if defined(LIBXML_VALID_ENABLED)
26529    int mem_base;
26530    int ret_val;
26531    xmlValidCtxtPtr ctxt; /* the validation context */
26532    int n_ctxt;
26533    xmlDocPtr doc; /* a document instance */
26534    int n_doc;
26535    xmlNodePtr elem; /* an element instance */
26536    int n_elem;
26537
26538    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26539    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26540    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26541        mem_base = xmlMemBlocks();
26542        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26543        doc = gen_xmlDocPtr(n_doc, 1);
26544        elem = gen_xmlNodePtr(n_elem, 2);
26545
26546        ret_val = xmlValidateElement(ctxt, doc, elem);
26547        desret_int(ret_val);
26548        call_tests++;
26549        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26550        des_xmlDocPtr(n_doc, doc, 1);
26551        des_xmlNodePtr(n_elem, elem, 2);
26552        xmlResetLastError();
26553        if (mem_base != xmlMemBlocks()) {
26554            printf("Leak of %d blocks found in xmlValidateElement",
26555	           xmlMemBlocks() - mem_base);
26556	    test_ret++;
26557            printf(" %d", n_ctxt);
26558            printf(" %d", n_doc);
26559            printf(" %d", n_elem);
26560            printf("\n");
26561        }
26562    }
26563    }
26564    }
26565    function_tests++;
26566#endif
26567
26568    return(test_ret);
26569}
26570
26571
26572static int
26573test_xmlValidateElementDecl(void) {
26574    int test_ret = 0;
26575
26576#if defined(LIBXML_VALID_ENABLED)
26577    int mem_base;
26578    int ret_val;
26579    xmlValidCtxtPtr ctxt; /* the validation context */
26580    int n_ctxt;
26581    xmlDocPtr doc; /* a document instance */
26582    int n_doc;
26583    xmlElementPtr elem; /* an element definition */
26584    int n_elem;
26585
26586    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26587    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26588    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
26589        mem_base = xmlMemBlocks();
26590        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26591        doc = gen_xmlDocPtr(n_doc, 1);
26592        elem = gen_xmlElementPtr(n_elem, 2);
26593
26594        ret_val = xmlValidateElementDecl(ctxt, doc, elem);
26595        desret_int(ret_val);
26596        call_tests++;
26597        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26598        des_xmlDocPtr(n_doc, doc, 1);
26599        des_xmlElementPtr(n_elem, elem, 2);
26600        xmlResetLastError();
26601        if (mem_base != xmlMemBlocks()) {
26602            printf("Leak of %d blocks found in xmlValidateElementDecl",
26603	           xmlMemBlocks() - mem_base);
26604	    test_ret++;
26605            printf(" %d", n_ctxt);
26606            printf(" %d", n_doc);
26607            printf(" %d", n_elem);
26608            printf("\n");
26609        }
26610    }
26611    }
26612    }
26613    function_tests++;
26614#endif
26615
26616    return(test_ret);
26617}
26618
26619
26620static int
26621test_xmlValidateNameValue(void) {
26622    int test_ret = 0;
26623
26624#if defined(LIBXML_VALID_ENABLED)
26625    int mem_base;
26626    int ret_val;
26627    xmlChar * value; /* an Name value */
26628    int n_value;
26629
26630    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26631        mem_base = xmlMemBlocks();
26632        value = gen_const_xmlChar_ptr(n_value, 0);
26633
26634        ret_val = xmlValidateNameValue((const xmlChar *)value);
26635        desret_int(ret_val);
26636        call_tests++;
26637        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
26638        xmlResetLastError();
26639        if (mem_base != xmlMemBlocks()) {
26640            printf("Leak of %d blocks found in xmlValidateNameValue",
26641	           xmlMemBlocks() - mem_base);
26642	    test_ret++;
26643            printf(" %d", n_value);
26644            printf("\n");
26645        }
26646    }
26647    function_tests++;
26648#endif
26649
26650    return(test_ret);
26651}
26652
26653
26654static int
26655test_xmlValidateNamesValue(void) {
26656    int test_ret = 0;
26657
26658#if defined(LIBXML_VALID_ENABLED)
26659    int mem_base;
26660    int ret_val;
26661    xmlChar * value; /* an Names value */
26662    int n_value;
26663
26664    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26665        mem_base = xmlMemBlocks();
26666        value = gen_const_xmlChar_ptr(n_value, 0);
26667
26668        ret_val = xmlValidateNamesValue((const xmlChar *)value);
26669        desret_int(ret_val);
26670        call_tests++;
26671        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
26672        xmlResetLastError();
26673        if (mem_base != xmlMemBlocks()) {
26674            printf("Leak of %d blocks found in xmlValidateNamesValue",
26675	           xmlMemBlocks() - mem_base);
26676	    test_ret++;
26677            printf(" %d", n_value);
26678            printf("\n");
26679        }
26680    }
26681    function_tests++;
26682#endif
26683
26684    return(test_ret);
26685}
26686
26687
26688static int
26689test_xmlValidateNmtokenValue(void) {
26690    int test_ret = 0;
26691
26692#if defined(LIBXML_VALID_ENABLED)
26693    int mem_base;
26694    int ret_val;
26695    xmlChar * value; /* an Nmtoken value */
26696    int n_value;
26697
26698    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26699        mem_base = xmlMemBlocks();
26700        value = gen_const_xmlChar_ptr(n_value, 0);
26701
26702        ret_val = xmlValidateNmtokenValue((const xmlChar *)value);
26703        desret_int(ret_val);
26704        call_tests++;
26705        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
26706        xmlResetLastError();
26707        if (mem_base != xmlMemBlocks()) {
26708            printf("Leak of %d blocks found in xmlValidateNmtokenValue",
26709	           xmlMemBlocks() - mem_base);
26710	    test_ret++;
26711            printf(" %d", n_value);
26712            printf("\n");
26713        }
26714    }
26715    function_tests++;
26716#endif
26717
26718    return(test_ret);
26719}
26720
26721
26722static int
26723test_xmlValidateNmtokensValue(void) {
26724    int test_ret = 0;
26725
26726#if defined(LIBXML_VALID_ENABLED)
26727    int mem_base;
26728    int ret_val;
26729    xmlChar * value; /* an Nmtokens value */
26730    int n_value;
26731
26732    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26733        mem_base = xmlMemBlocks();
26734        value = gen_const_xmlChar_ptr(n_value, 0);
26735
26736        ret_val = xmlValidateNmtokensValue((const xmlChar *)value);
26737        desret_int(ret_val);
26738        call_tests++;
26739        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
26740        xmlResetLastError();
26741        if (mem_base != xmlMemBlocks()) {
26742            printf("Leak of %d blocks found in xmlValidateNmtokensValue",
26743	           xmlMemBlocks() - mem_base);
26744	    test_ret++;
26745            printf(" %d", n_value);
26746            printf("\n");
26747        }
26748    }
26749    function_tests++;
26750#endif
26751
26752    return(test_ret);
26753}
26754
26755
26756static int
26757test_xmlValidateNotationDecl(void) {
26758    int test_ret = 0;
26759
26760#if defined(LIBXML_VALID_ENABLED)
26761    int mem_base;
26762    int ret_val;
26763    xmlValidCtxtPtr ctxt; /* the validation context */
26764    int n_ctxt;
26765    xmlDocPtr doc; /* a document instance */
26766    int n_doc;
26767    xmlNotationPtr nota; /* a notation definition */
26768    int n_nota;
26769
26770    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26771    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26772    for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
26773        mem_base = xmlMemBlocks();
26774        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26775        doc = gen_xmlDocPtr(n_doc, 1);
26776        nota = gen_xmlNotationPtr(n_nota, 2);
26777
26778        ret_val = xmlValidateNotationDecl(ctxt, doc, nota);
26779        desret_int(ret_val);
26780        call_tests++;
26781        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26782        des_xmlDocPtr(n_doc, doc, 1);
26783        des_xmlNotationPtr(n_nota, nota, 2);
26784        xmlResetLastError();
26785        if (mem_base != xmlMemBlocks()) {
26786            printf("Leak of %d blocks found in xmlValidateNotationDecl",
26787	           xmlMemBlocks() - mem_base);
26788	    test_ret++;
26789            printf(" %d", n_ctxt);
26790            printf(" %d", n_doc);
26791            printf(" %d", n_nota);
26792            printf("\n");
26793        }
26794    }
26795    }
26796    }
26797    function_tests++;
26798#endif
26799
26800    return(test_ret);
26801}
26802
26803
26804static int
26805test_xmlValidateNotationUse(void) {
26806    int test_ret = 0;
26807
26808#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
26809    int mem_base;
26810    int ret_val;
26811    xmlValidCtxtPtr ctxt; /* the validation context */
26812    int n_ctxt;
26813    xmlDocPtr doc; /* the document */
26814    int n_doc;
26815    xmlChar * notationName; /* the notation name to check */
26816    int n_notationName;
26817
26818    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26819    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26820    for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
26821        mem_base = xmlMemBlocks();
26822        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26823        doc = gen_xmlDocPtr(n_doc, 1);
26824        notationName = gen_const_xmlChar_ptr(n_notationName, 2);
26825
26826        ret_val = xmlValidateNotationUse(ctxt, doc, (const xmlChar *)notationName);
26827        desret_int(ret_val);
26828        call_tests++;
26829        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26830        des_xmlDocPtr(n_doc, doc, 1);
26831        des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 2);
26832        xmlResetLastError();
26833        if (mem_base != xmlMemBlocks()) {
26834            printf("Leak of %d blocks found in xmlValidateNotationUse",
26835	           xmlMemBlocks() - mem_base);
26836	    test_ret++;
26837            printf(" %d", n_ctxt);
26838            printf(" %d", n_doc);
26839            printf(" %d", n_notationName);
26840            printf("\n");
26841        }
26842    }
26843    }
26844    }
26845    function_tests++;
26846#endif
26847
26848    return(test_ret);
26849}
26850
26851
26852static int
26853test_xmlValidateOneAttribute(void) {
26854    int test_ret = 0;
26855
26856#if defined(LIBXML_VALID_ENABLED)
26857    int mem_base;
26858    int ret_val;
26859    xmlValidCtxtPtr ctxt; /* the validation context */
26860    int n_ctxt;
26861    xmlDocPtr doc; /* a document instance */
26862    int n_doc;
26863    xmlNodePtr elem; /* an element instance */
26864    int n_elem;
26865    xmlAttrPtr attr; /* an attribute instance */
26866    int n_attr;
26867    xmlChar * value; /* the attribute value (without entities processing) */
26868    int n_value;
26869
26870    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26871    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26872    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26873    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
26874    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26875        mem_base = xmlMemBlocks();
26876        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26877        doc = gen_xmlDocPtr(n_doc, 1);
26878        elem = gen_xmlNodePtr(n_elem, 2);
26879        attr = gen_xmlAttrPtr(n_attr, 3);
26880        value = gen_const_xmlChar_ptr(n_value, 4);
26881
26882        ret_val = xmlValidateOneAttribute(ctxt, doc, elem, attr, (const xmlChar *)value);
26883        desret_int(ret_val);
26884        call_tests++;
26885        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26886        des_xmlDocPtr(n_doc, doc, 1);
26887        des_xmlNodePtr(n_elem, elem, 2);
26888        des_xmlAttrPtr(n_attr, attr, 3);
26889        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
26890        xmlResetLastError();
26891        if (mem_base != xmlMemBlocks()) {
26892            printf("Leak of %d blocks found in xmlValidateOneAttribute",
26893	           xmlMemBlocks() - mem_base);
26894	    test_ret++;
26895            printf(" %d", n_ctxt);
26896            printf(" %d", n_doc);
26897            printf(" %d", n_elem);
26898            printf(" %d", n_attr);
26899            printf(" %d", n_value);
26900            printf("\n");
26901        }
26902    }
26903    }
26904    }
26905    }
26906    }
26907    function_tests++;
26908#endif
26909
26910    return(test_ret);
26911}
26912
26913
26914static int
26915test_xmlValidateOneElement(void) {
26916    int test_ret = 0;
26917
26918#if defined(LIBXML_VALID_ENABLED)
26919    int mem_base;
26920    int ret_val;
26921    xmlValidCtxtPtr ctxt; /* the validation context */
26922    int n_ctxt;
26923    xmlDocPtr doc; /* a document instance */
26924    int n_doc;
26925    xmlNodePtr elem; /* an element instance */
26926    int n_elem;
26927
26928    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26929    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26930    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26931        mem_base = xmlMemBlocks();
26932        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26933        doc = gen_xmlDocPtr(n_doc, 1);
26934        elem = gen_xmlNodePtr(n_elem, 2);
26935
26936        ret_val = xmlValidateOneElement(ctxt, doc, elem);
26937        desret_int(ret_val);
26938        call_tests++;
26939        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
26940        des_xmlDocPtr(n_doc, doc, 1);
26941        des_xmlNodePtr(n_elem, elem, 2);
26942        xmlResetLastError();
26943        if (mem_base != xmlMemBlocks()) {
26944            printf("Leak of %d blocks found in xmlValidateOneElement",
26945	           xmlMemBlocks() - mem_base);
26946	    test_ret++;
26947            printf(" %d", n_ctxt);
26948            printf(" %d", n_doc);
26949            printf(" %d", n_elem);
26950            printf("\n");
26951        }
26952    }
26953    }
26954    }
26955    function_tests++;
26956#endif
26957
26958    return(test_ret);
26959}
26960
26961
26962static int
26963test_xmlValidateOneNamespace(void) {
26964    int test_ret = 0;
26965
26966#if defined(LIBXML_VALID_ENABLED)
26967    int mem_base;
26968    int ret_val;
26969    xmlValidCtxtPtr ctxt; /* the validation context */
26970    int n_ctxt;
26971    xmlDocPtr doc; /* a document instance */
26972    int n_doc;
26973    xmlNodePtr elem; /* an element instance */
26974    int n_elem;
26975    xmlChar * prefix; /* the namespace prefix */
26976    int n_prefix;
26977    xmlNsPtr ns; /* an namespace declaration instance */
26978    int n_ns;
26979    xmlChar * value; /* the attribute value (without entities processing) */
26980    int n_value;
26981
26982    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
26983    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
26984    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
26985    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
26986    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
26987    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
26988        mem_base = xmlMemBlocks();
26989        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
26990        doc = gen_xmlDocPtr(n_doc, 1);
26991        elem = gen_xmlNodePtr(n_elem, 2);
26992        prefix = gen_const_xmlChar_ptr(n_prefix, 3);
26993        ns = gen_xmlNsPtr(n_ns, 4);
26994        value = gen_const_xmlChar_ptr(n_value, 5);
26995
26996        ret_val = xmlValidateOneNamespace(ctxt, doc, elem, (const xmlChar *)prefix, ns, (const xmlChar *)value);
26997        desret_int(ret_val);
26998        call_tests++;
26999        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
27000        des_xmlDocPtr(n_doc, doc, 1);
27001        des_xmlNodePtr(n_elem, elem, 2);
27002        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
27003        des_xmlNsPtr(n_ns, ns, 4);
27004        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 5);
27005        xmlResetLastError();
27006        if (mem_base != xmlMemBlocks()) {
27007            printf("Leak of %d blocks found in xmlValidateOneNamespace",
27008	           xmlMemBlocks() - mem_base);
27009	    test_ret++;
27010            printf(" %d", n_ctxt);
27011            printf(" %d", n_doc);
27012            printf(" %d", n_elem);
27013            printf(" %d", n_prefix);
27014            printf(" %d", n_ns);
27015            printf(" %d", n_value);
27016            printf("\n");
27017        }
27018    }
27019    }
27020    }
27021    }
27022    }
27023    }
27024    function_tests++;
27025#endif
27026
27027    return(test_ret);
27028}
27029
27030
27031static int
27032test_xmlValidatePopElement(void) {
27033    int test_ret = 0;
27034
27035#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
27036    int mem_base;
27037    int ret_val;
27038    xmlValidCtxtPtr ctxt; /* the validation context */
27039    int n_ctxt;
27040    xmlDocPtr doc; /* a document instance */
27041    int n_doc;
27042    xmlNodePtr elem; /* an element instance */
27043    int n_elem;
27044    xmlChar * qname; /* the qualified name as appearing in the serialization */
27045    int n_qname;
27046
27047    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
27048    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27049    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
27050    for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
27051        mem_base = xmlMemBlocks();
27052        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
27053        doc = gen_xmlDocPtr(n_doc, 1);
27054        elem = gen_xmlNodePtr(n_elem, 2);
27055        qname = gen_const_xmlChar_ptr(n_qname, 3);
27056
27057        ret_val = xmlValidatePopElement(ctxt, doc, elem, (const xmlChar *)qname);
27058        desret_int(ret_val);
27059        call_tests++;
27060        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
27061        des_xmlDocPtr(n_doc, doc, 1);
27062        des_xmlNodePtr(n_elem, elem, 2);
27063        des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
27064        xmlResetLastError();
27065        if (mem_base != xmlMemBlocks()) {
27066            printf("Leak of %d blocks found in xmlValidatePopElement",
27067	           xmlMemBlocks() - mem_base);
27068	    test_ret++;
27069            printf(" %d", n_ctxt);
27070            printf(" %d", n_doc);
27071            printf(" %d", n_elem);
27072            printf(" %d", n_qname);
27073            printf("\n");
27074        }
27075    }
27076    }
27077    }
27078    }
27079    function_tests++;
27080#endif
27081
27082    return(test_ret);
27083}
27084
27085
27086static int
27087test_xmlValidatePushCData(void) {
27088    int test_ret = 0;
27089
27090#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
27091    int mem_base;
27092    int ret_val;
27093    xmlValidCtxtPtr ctxt; /* the validation context */
27094    int n_ctxt;
27095    xmlChar * data; /* some character data read */
27096    int n_data;
27097    int len; /* the length of the data */
27098    int n_len;
27099
27100    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
27101    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
27102    for (n_len = 0;n_len < gen_nb_int;n_len++) {
27103        mem_base = xmlMemBlocks();
27104        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
27105        data = gen_const_xmlChar_ptr(n_data, 1);
27106        len = gen_int(n_len, 2);
27107
27108        ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
27109        desret_int(ret_val);
27110        call_tests++;
27111        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
27112        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
27113        des_int(n_len, len, 2);
27114        xmlResetLastError();
27115        if (mem_base != xmlMemBlocks()) {
27116            printf("Leak of %d blocks found in xmlValidatePushCData",
27117	           xmlMemBlocks() - mem_base);
27118	    test_ret++;
27119            printf(" %d", n_ctxt);
27120            printf(" %d", n_data);
27121            printf(" %d", n_len);
27122            printf("\n");
27123        }
27124    }
27125    }
27126    }
27127    function_tests++;
27128#endif
27129
27130    return(test_ret);
27131}
27132
27133
27134static int
27135test_xmlValidatePushElement(void) {
27136    int test_ret = 0;
27137
27138#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
27139    int mem_base;
27140    int ret_val;
27141    xmlValidCtxtPtr ctxt; /* the validation context */
27142    int n_ctxt;
27143    xmlDocPtr doc; /* a document instance */
27144    int n_doc;
27145    xmlNodePtr elem; /* an element instance */
27146    int n_elem;
27147    xmlChar * qname; /* the qualified name as appearing in the serialization */
27148    int n_qname;
27149
27150    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
27151    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27152    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
27153    for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
27154        mem_base = xmlMemBlocks();
27155        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
27156        doc = gen_xmlDocPtr(n_doc, 1);
27157        elem = gen_xmlNodePtr(n_elem, 2);
27158        qname = gen_const_xmlChar_ptr(n_qname, 3);
27159
27160        ret_val = xmlValidatePushElement(ctxt, doc, elem, (const xmlChar *)qname);
27161        desret_int(ret_val);
27162        call_tests++;
27163        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
27164        des_xmlDocPtr(n_doc, doc, 1);
27165        des_xmlNodePtr(n_elem, elem, 2);
27166        des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
27167        xmlResetLastError();
27168        if (mem_base != xmlMemBlocks()) {
27169            printf("Leak of %d blocks found in xmlValidatePushElement",
27170	           xmlMemBlocks() - mem_base);
27171	    test_ret++;
27172            printf(" %d", n_ctxt);
27173            printf(" %d", n_doc);
27174            printf(" %d", n_elem);
27175            printf(" %d", n_qname);
27176            printf("\n");
27177        }
27178    }
27179    }
27180    }
27181    }
27182    function_tests++;
27183#endif
27184
27185    return(test_ret);
27186}
27187
27188
27189static int
27190test_xmlValidateRoot(void) {
27191    int test_ret = 0;
27192
27193#if defined(LIBXML_VALID_ENABLED)
27194    int mem_base;
27195    int ret_val;
27196    xmlValidCtxtPtr ctxt; /* the validation context */
27197    int n_ctxt;
27198    xmlDocPtr doc; /* a document instance */
27199    int n_doc;
27200
27201    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
27202    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27203        mem_base = xmlMemBlocks();
27204        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
27205        doc = gen_xmlDocPtr(n_doc, 1);
27206
27207        ret_val = xmlValidateRoot(ctxt, doc);
27208        desret_int(ret_val);
27209        call_tests++;
27210        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
27211        des_xmlDocPtr(n_doc, doc, 1);
27212        xmlResetLastError();
27213        if (mem_base != xmlMemBlocks()) {
27214            printf("Leak of %d blocks found in xmlValidateRoot",
27215	           xmlMemBlocks() - mem_base);
27216	    test_ret++;
27217            printf(" %d", n_ctxt);
27218            printf(" %d", n_doc);
27219            printf("\n");
27220        }
27221    }
27222    }
27223    function_tests++;
27224#endif
27225
27226    return(test_ret);
27227}
27228
27229static int
27230test_valid(void) {
27231    int test_ret = 0;
27232
27233    if (quiet == 0) printf("Testing valid : 50 of 70 functions ...\n");
27234    test_ret += test_xmlAddAttributeDecl();
27235    test_ret += test_xmlAddElementDecl();
27236    test_ret += test_xmlAddID();
27237    test_ret += test_xmlAddNotationDecl();
27238    test_ret += test_xmlAddRef();
27239    test_ret += test_xmlCopyAttributeTable();
27240    test_ret += test_xmlCopyDocElementContent();
27241    test_ret += test_xmlCopyElementContent();
27242    test_ret += test_xmlCopyElementTable();
27243    test_ret += test_xmlCopyEnumeration();
27244    test_ret += test_xmlCopyNotationTable();
27245    test_ret += test_xmlCreateEnumeration();
27246    test_ret += test_xmlDumpAttributeDecl();
27247    test_ret += test_xmlDumpAttributeTable();
27248    test_ret += test_xmlDumpElementDecl();
27249    test_ret += test_xmlDumpElementTable();
27250    test_ret += test_xmlDumpNotationDecl();
27251    test_ret += test_xmlDumpNotationTable();
27252    test_ret += test_xmlGetDtdAttrDesc();
27253    test_ret += test_xmlGetDtdElementDesc();
27254    test_ret += test_xmlGetDtdNotationDesc();
27255    test_ret += test_xmlGetDtdQAttrDesc();
27256    test_ret += test_xmlGetDtdQElementDesc();
27257    test_ret += test_xmlGetID();
27258    test_ret += test_xmlGetRefs();
27259    test_ret += test_xmlIsID();
27260    test_ret += test_xmlIsMixedElement();
27261    test_ret += test_xmlIsRef();
27262    test_ret += test_xmlNewDocElementContent();
27263    test_ret += test_xmlNewElementContent();
27264    test_ret += test_xmlNewValidCtxt();
27265    test_ret += test_xmlRemoveID();
27266    test_ret += test_xmlRemoveRef();
27267    test_ret += test_xmlSnprintfElementContent();
27268    test_ret += test_xmlSprintfElementContent();
27269    test_ret += test_xmlValidBuildContentModel();
27270    test_ret += test_xmlValidCtxtNormalizeAttributeValue();
27271    test_ret += test_xmlValidGetPotentialChildren();
27272    test_ret += test_xmlValidGetValidElements();
27273    test_ret += test_xmlValidNormalizeAttributeValue();
27274    test_ret += test_xmlValidateAttributeDecl();
27275    test_ret += test_xmlValidateAttributeValue();
27276    test_ret += test_xmlValidateDocument();
27277    test_ret += test_xmlValidateDocumentFinal();
27278    test_ret += test_xmlValidateDtd();
27279    test_ret += test_xmlValidateDtdFinal();
27280    test_ret += test_xmlValidateElement();
27281    test_ret += test_xmlValidateElementDecl();
27282    test_ret += test_xmlValidateNameValue();
27283    test_ret += test_xmlValidateNamesValue();
27284    test_ret += test_xmlValidateNmtokenValue();
27285    test_ret += test_xmlValidateNmtokensValue();
27286    test_ret += test_xmlValidateNotationDecl();
27287    test_ret += test_xmlValidateNotationUse();
27288    test_ret += test_xmlValidateOneAttribute();
27289    test_ret += test_xmlValidateOneElement();
27290    test_ret += test_xmlValidateOneNamespace();
27291    test_ret += test_xmlValidatePopElement();
27292    test_ret += test_xmlValidatePushCData();
27293    test_ret += test_xmlValidatePushElement();
27294    test_ret += test_xmlValidateRoot();
27295
27296    if (test_ret != 0)
27297	printf("Module valid: %d errors\n", test_ret);
27298    return(test_ret);
27299}
27300
27301static int
27302test_xmlXIncludeNewContext(void) {
27303    int test_ret = 0;
27304
27305
27306    /* missing type support */
27307    return(test_ret);
27308}
27309
27310
27311static int
27312test_xmlXIncludeProcess(void) {
27313    int test_ret = 0;
27314
27315#if defined(LIBXML_XINCLUDE_ENABLED)
27316    int mem_base;
27317    int ret_val;
27318    xmlDocPtr doc; /* an XML document */
27319    int n_doc;
27320
27321    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27322        mem_base = xmlMemBlocks();
27323        doc = gen_xmlDocPtr(n_doc, 0);
27324
27325        ret_val = xmlXIncludeProcess(doc);
27326        desret_int(ret_val);
27327        call_tests++;
27328        des_xmlDocPtr(n_doc, doc, 0);
27329        xmlResetLastError();
27330        if (mem_base != xmlMemBlocks()) {
27331            printf("Leak of %d blocks found in xmlXIncludeProcess",
27332	           xmlMemBlocks() - mem_base);
27333	    test_ret++;
27334            printf(" %d", n_doc);
27335            printf("\n");
27336        }
27337    }
27338    function_tests++;
27339#endif
27340
27341    return(test_ret);
27342}
27343
27344
27345static int
27346test_xmlXIncludeProcessFlags(void) {
27347    int test_ret = 0;
27348
27349#if defined(LIBXML_XINCLUDE_ENABLED)
27350    int mem_base;
27351    int ret_val;
27352    xmlDocPtr doc; /* an XML document */
27353    int n_doc;
27354    int flags; /* a set of xmlParserOption used for parsing XML includes */
27355    int n_flags;
27356
27357    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27358    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
27359        mem_base = xmlMemBlocks();
27360        doc = gen_xmlDocPtr(n_doc, 0);
27361        flags = gen_int(n_flags, 1);
27362
27363        ret_val = xmlXIncludeProcessFlags(doc, flags);
27364        desret_int(ret_val);
27365        call_tests++;
27366        des_xmlDocPtr(n_doc, doc, 0);
27367        des_int(n_flags, flags, 1);
27368        xmlResetLastError();
27369        if (mem_base != xmlMemBlocks()) {
27370            printf("Leak of %d blocks found in xmlXIncludeProcessFlags",
27371	           xmlMemBlocks() - mem_base);
27372	    test_ret++;
27373            printf(" %d", n_doc);
27374            printf(" %d", n_flags);
27375            printf("\n");
27376        }
27377    }
27378    }
27379    function_tests++;
27380#endif
27381
27382    return(test_ret);
27383}
27384
27385
27386static int
27387test_xmlXIncludeProcessFlagsData(void) {
27388    int test_ret = 0;
27389
27390#if defined(LIBXML_XINCLUDE_ENABLED)
27391    int mem_base;
27392    int ret_val;
27393    xmlDocPtr doc; /* an XML document */
27394    int n_doc;
27395    int flags; /* a set of xmlParserOption used for parsing XML includes */
27396    int n_flags;
27397    void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
27398    int n_data;
27399
27400    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
27401    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
27402    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
27403        mem_base = xmlMemBlocks();
27404        doc = gen_xmlDocPtr(n_doc, 0);
27405        flags = gen_int(n_flags, 1);
27406        data = gen_userdata(n_data, 2);
27407
27408        ret_val = xmlXIncludeProcessFlagsData(doc, flags, data);
27409        desret_int(ret_val);
27410        call_tests++;
27411        des_xmlDocPtr(n_doc, doc, 0);
27412        des_int(n_flags, flags, 1);
27413        des_userdata(n_data, data, 2);
27414        xmlResetLastError();
27415        if (mem_base != xmlMemBlocks()) {
27416            printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData",
27417	           xmlMemBlocks() - mem_base);
27418	    test_ret++;
27419            printf(" %d", n_doc);
27420            printf(" %d", n_flags);
27421            printf(" %d", n_data);
27422            printf("\n");
27423        }
27424    }
27425    }
27426    }
27427    function_tests++;
27428#endif
27429
27430    return(test_ret);
27431}
27432
27433#ifdef LIBXML_XINCLUDE_ENABLED
27434
27435#define gen_nb_xmlXIncludeCtxtPtr 1
27436static xmlXIncludeCtxtPtr gen_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
27437    return(NULL);
27438}
27439static void des_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, xmlXIncludeCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
27440}
27441#endif
27442
27443
27444static int
27445test_xmlXIncludeProcessNode(void) {
27446    int test_ret = 0;
27447
27448#if defined(LIBXML_XINCLUDE_ENABLED)
27449    int mem_base;
27450    int ret_val;
27451    xmlXIncludeCtxtPtr ctxt; /* an existing XInclude context */
27452    int n_ctxt;
27453    xmlNodePtr node; /* a node in an XML document */
27454    int n_node;
27455
27456    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
27457    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
27458        mem_base = xmlMemBlocks();
27459        ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
27460        node = gen_xmlNodePtr(n_node, 1);
27461
27462        ret_val = xmlXIncludeProcessNode(ctxt, node);
27463        desret_int(ret_val);
27464        call_tests++;
27465        des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
27466        des_xmlNodePtr(n_node, node, 1);
27467        xmlResetLastError();
27468        if (mem_base != xmlMemBlocks()) {
27469            printf("Leak of %d blocks found in xmlXIncludeProcessNode",
27470	           xmlMemBlocks() - mem_base);
27471	    test_ret++;
27472            printf(" %d", n_ctxt);
27473            printf(" %d", n_node);
27474            printf("\n");
27475        }
27476    }
27477    }
27478    function_tests++;
27479#endif
27480
27481    return(test_ret);
27482}
27483
27484
27485static int
27486test_xmlXIncludeProcessTree(void) {
27487    int test_ret = 0;
27488
27489#if defined(LIBXML_XINCLUDE_ENABLED)
27490    int mem_base;
27491    int ret_val;
27492    xmlNodePtr tree; /* a node in an XML document */
27493    int n_tree;
27494
27495    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
27496        mem_base = xmlMemBlocks();
27497        tree = gen_xmlNodePtr(n_tree, 0);
27498
27499        ret_val = xmlXIncludeProcessTree(tree);
27500        desret_int(ret_val);
27501        call_tests++;
27502        des_xmlNodePtr(n_tree, tree, 0);
27503        xmlResetLastError();
27504        if (mem_base != xmlMemBlocks()) {
27505            printf("Leak of %d blocks found in xmlXIncludeProcessTree",
27506	           xmlMemBlocks() - mem_base);
27507	    test_ret++;
27508            printf(" %d", n_tree);
27509            printf("\n");
27510        }
27511    }
27512    function_tests++;
27513#endif
27514
27515    return(test_ret);
27516}
27517
27518
27519static int
27520test_xmlXIncludeProcessTreeFlags(void) {
27521    int test_ret = 0;
27522
27523#if defined(LIBXML_XINCLUDE_ENABLED)
27524    int mem_base;
27525    int ret_val;
27526    xmlNodePtr tree; /* a node in an XML document */
27527    int n_tree;
27528    int flags; /* a set of xmlParserOption used for parsing XML includes */
27529    int n_flags;
27530
27531    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
27532    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
27533        mem_base = xmlMemBlocks();
27534        tree = gen_xmlNodePtr(n_tree, 0);
27535        flags = gen_int(n_flags, 1);
27536
27537        ret_val = xmlXIncludeProcessTreeFlags(tree, flags);
27538        desret_int(ret_val);
27539        call_tests++;
27540        des_xmlNodePtr(n_tree, tree, 0);
27541        des_int(n_flags, flags, 1);
27542        xmlResetLastError();
27543        if (mem_base != xmlMemBlocks()) {
27544            printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlags",
27545	           xmlMemBlocks() - mem_base);
27546	    test_ret++;
27547            printf(" %d", n_tree);
27548            printf(" %d", n_flags);
27549            printf("\n");
27550        }
27551    }
27552    }
27553    function_tests++;
27554#endif
27555
27556    return(test_ret);
27557}
27558
27559
27560static int
27561test_xmlXIncludeProcessTreeFlagsData(void) {
27562    int test_ret = 0;
27563
27564#if defined(LIBXML_XINCLUDE_ENABLED)
27565    int mem_base;
27566    int ret_val;
27567    xmlNodePtr tree; /* an XML node */
27568    int n_tree;
27569    int flags; /* a set of xmlParserOption used for parsing XML includes */
27570    int n_flags;
27571    void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
27572    int n_data;
27573
27574    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
27575    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
27576    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
27577        mem_base = xmlMemBlocks();
27578        tree = gen_xmlNodePtr(n_tree, 0);
27579        flags = gen_int(n_flags, 1);
27580        data = gen_userdata(n_data, 2);
27581
27582        ret_val = xmlXIncludeProcessTreeFlagsData(tree, flags, data);
27583        desret_int(ret_val);
27584        call_tests++;
27585        des_xmlNodePtr(n_tree, tree, 0);
27586        des_int(n_flags, flags, 1);
27587        des_userdata(n_data, data, 2);
27588        xmlResetLastError();
27589        if (mem_base != xmlMemBlocks()) {
27590            printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlagsData",
27591	           xmlMemBlocks() - mem_base);
27592	    test_ret++;
27593            printf(" %d", n_tree);
27594            printf(" %d", n_flags);
27595            printf(" %d", n_data);
27596            printf("\n");
27597        }
27598    }
27599    }
27600    }
27601    function_tests++;
27602#endif
27603
27604    return(test_ret);
27605}
27606
27607
27608static int
27609test_xmlXIncludeSetFlags(void) {
27610    int test_ret = 0;
27611
27612#if defined(LIBXML_XINCLUDE_ENABLED)
27613    int mem_base;
27614    int ret_val;
27615    xmlXIncludeCtxtPtr ctxt; /* an XInclude processing context */
27616    int n_ctxt;
27617    int flags; /* a set of xmlParserOption used for parsing XML includes */
27618    int n_flags;
27619
27620    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
27621    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
27622        mem_base = xmlMemBlocks();
27623        ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
27624        flags = gen_int(n_flags, 1);
27625
27626        ret_val = xmlXIncludeSetFlags(ctxt, flags);
27627        desret_int(ret_val);
27628        call_tests++;
27629        des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
27630        des_int(n_flags, flags, 1);
27631        xmlResetLastError();
27632        if (mem_base != xmlMemBlocks()) {
27633            printf("Leak of %d blocks found in xmlXIncludeSetFlags",
27634	           xmlMemBlocks() - mem_base);
27635	    test_ret++;
27636            printf(" %d", n_ctxt);
27637            printf(" %d", n_flags);
27638            printf("\n");
27639        }
27640    }
27641    }
27642    function_tests++;
27643#endif
27644
27645    return(test_ret);
27646}
27647
27648static int
27649test_xinclude(void) {
27650    int test_ret = 0;
27651
27652    if (quiet == 0) printf("Testing xinclude : 8 of 10 functions ...\n");
27653    test_ret += test_xmlXIncludeNewContext();
27654    test_ret += test_xmlXIncludeProcess();
27655    test_ret += test_xmlXIncludeProcessFlags();
27656    test_ret += test_xmlXIncludeProcessFlagsData();
27657    test_ret += test_xmlXIncludeProcessNode();
27658    test_ret += test_xmlXIncludeProcessTree();
27659    test_ret += test_xmlXIncludeProcessTreeFlags();
27660    test_ret += test_xmlXIncludeProcessTreeFlagsData();
27661    test_ret += test_xmlXIncludeSetFlags();
27662
27663    if (test_ret != 0)
27664	printf("Module xinclude: %d errors\n", test_ret);
27665    return(test_ret);
27666}
27667
27668static int
27669test_xmlAllocOutputBuffer(void) {
27670    int test_ret = 0;
27671
27672#if defined(LIBXML_OUTPUT_ENABLED)
27673    int mem_base;
27674    xmlOutputBufferPtr ret_val;
27675    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
27676    int n_encoder;
27677
27678    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
27679        mem_base = xmlMemBlocks();
27680        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 0);
27681
27682        ret_val = xmlAllocOutputBuffer(encoder);
27683        desret_xmlOutputBufferPtr(ret_val);
27684        call_tests++;
27685        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 0);
27686        xmlResetLastError();
27687        if (mem_base != xmlMemBlocks()) {
27688            printf("Leak of %d blocks found in xmlAllocOutputBuffer",
27689	           xmlMemBlocks() - mem_base);
27690	    test_ret++;
27691            printf(" %d", n_encoder);
27692            printf("\n");
27693        }
27694    }
27695    function_tests++;
27696#endif
27697
27698    return(test_ret);
27699}
27700
27701
27702static int
27703test_xmlAllocParserInputBuffer(void) {
27704    int test_ret = 0;
27705
27706    int mem_base;
27707    xmlParserInputBufferPtr ret_val;
27708    xmlCharEncoding enc; /* the charset encoding if known */
27709    int n_enc;
27710
27711    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
27712        mem_base = xmlMemBlocks();
27713        enc = gen_xmlCharEncoding(n_enc, 0);
27714
27715        ret_val = xmlAllocParserInputBuffer(enc);
27716        desret_xmlParserInputBufferPtr(ret_val);
27717        call_tests++;
27718        des_xmlCharEncoding(n_enc, enc, 0);
27719        xmlResetLastError();
27720        if (mem_base != xmlMemBlocks()) {
27721            printf("Leak of %d blocks found in xmlAllocParserInputBuffer",
27722	           xmlMemBlocks() - mem_base);
27723	    test_ret++;
27724            printf(" %d", n_enc);
27725            printf("\n");
27726        }
27727    }
27728    function_tests++;
27729
27730    return(test_ret);
27731}
27732
27733
27734static int
27735test_xmlCheckFilename(void) {
27736    int test_ret = 0;
27737
27738    int mem_base;
27739    int ret_val;
27740    char * path; /* the path to check */
27741    int n_path;
27742
27743    for (n_path = 0;n_path < gen_nb_const_char_ptr;n_path++) {
27744        mem_base = xmlMemBlocks();
27745        path = gen_const_char_ptr(n_path, 0);
27746
27747        ret_val = xmlCheckFilename((const char *)path);
27748        desret_int(ret_val);
27749        call_tests++;
27750        des_const_char_ptr(n_path, (const char *)path, 0);
27751        xmlResetLastError();
27752        if (mem_base != xmlMemBlocks()) {
27753            printf("Leak of %d blocks found in xmlCheckFilename",
27754	           xmlMemBlocks() - mem_base);
27755	    test_ret++;
27756            printf(" %d", n_path);
27757            printf("\n");
27758        }
27759    }
27760    function_tests++;
27761
27762    return(test_ret);
27763}
27764
27765
27766static int
27767test_xmlCheckHTTPInput(void) {
27768    int test_ret = 0;
27769
27770    int mem_base;
27771    xmlParserInputPtr ret_val;
27772    xmlParserCtxtPtr ctxt; /* an XML parser context */
27773    int n_ctxt;
27774    xmlParserInputPtr ret; /* an XML parser input */
27775    int n_ret;
27776
27777    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
27778    for (n_ret = 0;n_ret < gen_nb_xmlParserInputPtr;n_ret++) {
27779        mem_base = xmlMemBlocks();
27780        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
27781        ret = gen_xmlParserInputPtr(n_ret, 1);
27782
27783        ret_val = xmlCheckHTTPInput(ctxt, ret);
27784        desret_xmlParserInputPtr(ret_val);
27785        call_tests++;
27786        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
27787        des_xmlParserInputPtr(n_ret, ret, 1);
27788        xmlResetLastError();
27789        if (mem_base != xmlMemBlocks()) {
27790            printf("Leak of %d blocks found in xmlCheckHTTPInput",
27791	           xmlMemBlocks() - mem_base);
27792	    test_ret++;
27793            printf(" %d", n_ctxt);
27794            printf(" %d", n_ret);
27795            printf("\n");
27796        }
27797    }
27798    }
27799    function_tests++;
27800
27801    return(test_ret);
27802}
27803
27804
27805static int
27806test_xmlCleanupInputCallbacks(void) {
27807    int test_ret = 0;
27808
27809    int mem_base;
27810
27811        mem_base = xmlMemBlocks();
27812
27813        xmlCleanupInputCallbacks();
27814        call_tests++;
27815        xmlResetLastError();
27816        if (mem_base != xmlMemBlocks()) {
27817            printf("Leak of %d blocks found in xmlCleanupInputCallbacks",
27818	           xmlMemBlocks() - mem_base);
27819	    test_ret++;
27820            printf("\n");
27821        }
27822    function_tests++;
27823
27824    return(test_ret);
27825}
27826
27827
27828static int
27829test_xmlCleanupOutputCallbacks(void) {
27830    int test_ret = 0;
27831
27832#if defined(LIBXML_OUTPUT_ENABLED)
27833    int mem_base;
27834
27835        mem_base = xmlMemBlocks();
27836
27837        xmlCleanupOutputCallbacks();
27838        call_tests++;
27839        xmlResetLastError();
27840        if (mem_base != xmlMemBlocks()) {
27841            printf("Leak of %d blocks found in xmlCleanupOutputCallbacks",
27842	           xmlMemBlocks() - mem_base);
27843	    test_ret++;
27844            printf("\n");
27845        }
27846    function_tests++;
27847#endif
27848
27849    return(test_ret);
27850}
27851
27852
27853static int
27854test_xmlFileClose(void) {
27855    int test_ret = 0;
27856
27857    int mem_base;
27858    int ret_val;
27859    void * context; /* the I/O context */
27860    int n_context;
27861
27862    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
27863        mem_base = xmlMemBlocks();
27864        context = gen_void_ptr(n_context, 0);
27865
27866        ret_val = xmlFileClose(context);
27867        desret_int(ret_val);
27868        call_tests++;
27869        des_void_ptr(n_context, context, 0);
27870        xmlResetLastError();
27871        if (mem_base != xmlMemBlocks()) {
27872            printf("Leak of %d blocks found in xmlFileClose",
27873	           xmlMemBlocks() - mem_base);
27874	    test_ret++;
27875            printf(" %d", n_context);
27876            printf("\n");
27877        }
27878    }
27879    function_tests++;
27880
27881    return(test_ret);
27882}
27883
27884
27885static int
27886test_xmlFileMatch(void) {
27887    int test_ret = 0;
27888
27889    int mem_base;
27890    int ret_val;
27891    const char * filename; /* the URI for matching */
27892    int n_filename;
27893
27894    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
27895        mem_base = xmlMemBlocks();
27896        filename = gen_filepath(n_filename, 0);
27897
27898        ret_val = xmlFileMatch(filename);
27899        desret_int(ret_val);
27900        call_tests++;
27901        des_filepath(n_filename, filename, 0);
27902        xmlResetLastError();
27903        if (mem_base != xmlMemBlocks()) {
27904            printf("Leak of %d blocks found in xmlFileMatch",
27905	           xmlMemBlocks() - mem_base);
27906	    test_ret++;
27907            printf(" %d", n_filename);
27908            printf("\n");
27909        }
27910    }
27911    function_tests++;
27912
27913    return(test_ret);
27914}
27915
27916
27917static int
27918test_xmlFileOpen(void) {
27919    int test_ret = 0;
27920
27921    int mem_base;
27922    void * ret_val;
27923    const char * filename; /* the URI for matching */
27924    int n_filename;
27925
27926    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
27927        mem_base = xmlMemBlocks();
27928        filename = gen_filepath(n_filename, 0);
27929
27930        ret_val = xmlFileOpen(filename);
27931        desret_void_ptr(ret_val);
27932        call_tests++;
27933        des_filepath(n_filename, filename, 0);
27934        xmlResetLastError();
27935        if (mem_base != xmlMemBlocks()) {
27936            printf("Leak of %d blocks found in xmlFileOpen",
27937	           xmlMemBlocks() - mem_base);
27938	    test_ret++;
27939            printf(" %d", n_filename);
27940            printf("\n");
27941        }
27942    }
27943    function_tests++;
27944
27945    return(test_ret);
27946}
27947
27948
27949static int
27950test_xmlFileRead(void) {
27951    int test_ret = 0;
27952
27953    int mem_base;
27954    int ret_val;
27955    void * context; /* the I/O context */
27956    int n_context;
27957    char * buffer; /* where to drop data */
27958    int n_buffer;
27959    int len; /* number of bytes to write */
27960    int n_len;
27961
27962    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
27963    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
27964    for (n_len = 0;n_len < gen_nb_int;n_len++) {
27965        mem_base = xmlMemBlocks();
27966        context = gen_void_ptr(n_context, 0);
27967        buffer = gen_char_ptr(n_buffer, 1);
27968        len = gen_int(n_len, 2);
27969
27970        ret_val = xmlFileRead(context, buffer, len);
27971        desret_int(ret_val);
27972        call_tests++;
27973        des_void_ptr(n_context, context, 0);
27974        des_char_ptr(n_buffer, buffer, 1);
27975        des_int(n_len, len, 2);
27976        xmlResetLastError();
27977        if (mem_base != xmlMemBlocks()) {
27978            printf("Leak of %d blocks found in xmlFileRead",
27979	           xmlMemBlocks() - mem_base);
27980	    test_ret++;
27981            printf(" %d", n_context);
27982            printf(" %d", n_buffer);
27983            printf(" %d", n_len);
27984            printf("\n");
27985        }
27986    }
27987    }
27988    }
27989    function_tests++;
27990
27991    return(test_ret);
27992}
27993
27994
27995static int
27996test_xmlIOFTPClose(void) {
27997    int test_ret = 0;
27998
27999#if defined(LIBXML_FTP_ENABLED)
28000    int mem_base;
28001    int ret_val;
28002    void * context; /* the I/O context */
28003    int n_context;
28004
28005    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
28006        mem_base = xmlMemBlocks();
28007        context = gen_void_ptr(n_context, 0);
28008
28009        ret_val = xmlIOFTPClose(context);
28010        desret_int(ret_val);
28011        call_tests++;
28012        des_void_ptr(n_context, context, 0);
28013        xmlResetLastError();
28014        if (mem_base != xmlMemBlocks()) {
28015            printf("Leak of %d blocks found in xmlIOFTPClose",
28016	           xmlMemBlocks() - mem_base);
28017	    test_ret++;
28018            printf(" %d", n_context);
28019            printf("\n");
28020        }
28021    }
28022    function_tests++;
28023#endif
28024
28025    return(test_ret);
28026}
28027
28028
28029static int
28030test_xmlIOFTPMatch(void) {
28031    int test_ret = 0;
28032
28033#if defined(LIBXML_FTP_ENABLED)
28034    int mem_base;
28035    int ret_val;
28036    const char * filename; /* the URI for matching */
28037    int n_filename;
28038
28039    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
28040        mem_base = xmlMemBlocks();
28041        filename = gen_filepath(n_filename, 0);
28042
28043        ret_val = xmlIOFTPMatch(filename);
28044        desret_int(ret_val);
28045        call_tests++;
28046        des_filepath(n_filename, filename, 0);
28047        xmlResetLastError();
28048        if (mem_base != xmlMemBlocks()) {
28049            printf("Leak of %d blocks found in xmlIOFTPMatch",
28050	           xmlMemBlocks() - mem_base);
28051	    test_ret++;
28052            printf(" %d", n_filename);
28053            printf("\n");
28054        }
28055    }
28056    function_tests++;
28057#endif
28058
28059    return(test_ret);
28060}
28061
28062
28063static int
28064test_xmlIOFTPOpen(void) {
28065    int test_ret = 0;
28066
28067#if defined(LIBXML_FTP_ENABLED)
28068    int mem_base;
28069    void * ret_val;
28070    const char * filename; /* the URI for matching */
28071    int n_filename;
28072
28073    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
28074        mem_base = xmlMemBlocks();
28075        filename = gen_filepath(n_filename, 0);
28076
28077        ret_val = xmlIOFTPOpen(filename);
28078        desret_void_ptr(ret_val);
28079        call_tests++;
28080        des_filepath(n_filename, filename, 0);
28081        xmlResetLastError();
28082        if (mem_base != xmlMemBlocks()) {
28083            printf("Leak of %d blocks found in xmlIOFTPOpen",
28084	           xmlMemBlocks() - mem_base);
28085	    test_ret++;
28086            printf(" %d", n_filename);
28087            printf("\n");
28088        }
28089    }
28090    function_tests++;
28091#endif
28092
28093    return(test_ret);
28094}
28095
28096
28097static int
28098test_xmlIOFTPRead(void) {
28099    int test_ret = 0;
28100
28101#if defined(LIBXML_FTP_ENABLED)
28102    int mem_base;
28103    int ret_val;
28104    void * context; /* the I/O context */
28105    int n_context;
28106    char * buffer; /* where to drop data */
28107    int n_buffer;
28108    int len; /* number of bytes to write */
28109    int n_len;
28110
28111    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
28112    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
28113    for (n_len = 0;n_len < gen_nb_int;n_len++) {
28114        mem_base = xmlMemBlocks();
28115        context = gen_void_ptr(n_context, 0);
28116        buffer = gen_char_ptr(n_buffer, 1);
28117        len = gen_int(n_len, 2);
28118
28119        ret_val = xmlIOFTPRead(context, buffer, len);
28120        desret_int(ret_val);
28121        call_tests++;
28122        des_void_ptr(n_context, context, 0);
28123        des_char_ptr(n_buffer, buffer, 1);
28124        des_int(n_len, len, 2);
28125        xmlResetLastError();
28126        if (mem_base != xmlMemBlocks()) {
28127            printf("Leak of %d blocks found in xmlIOFTPRead",
28128	           xmlMemBlocks() - mem_base);
28129	    test_ret++;
28130            printf(" %d", n_context);
28131            printf(" %d", n_buffer);
28132            printf(" %d", n_len);
28133            printf("\n");
28134        }
28135    }
28136    }
28137    }
28138    function_tests++;
28139#endif
28140
28141    return(test_ret);
28142}
28143
28144
28145static int
28146test_xmlIOHTTPClose(void) {
28147    int test_ret = 0;
28148
28149#if defined(LIBXML_HTTP_ENABLED)
28150    int mem_base;
28151    int ret_val;
28152    void * context; /* the I/O context */
28153    int n_context;
28154
28155    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
28156        mem_base = xmlMemBlocks();
28157        context = gen_void_ptr(n_context, 0);
28158
28159        ret_val = xmlIOHTTPClose(context);
28160        desret_int(ret_val);
28161        call_tests++;
28162        des_void_ptr(n_context, context, 0);
28163        xmlResetLastError();
28164        if (mem_base != xmlMemBlocks()) {
28165            printf("Leak of %d blocks found in xmlIOHTTPClose",
28166	           xmlMemBlocks() - mem_base);
28167	    test_ret++;
28168            printf(" %d", n_context);
28169            printf("\n");
28170        }
28171    }
28172    function_tests++;
28173#endif
28174
28175    return(test_ret);
28176}
28177
28178
28179static int
28180test_xmlIOHTTPMatch(void) {
28181    int test_ret = 0;
28182
28183#if defined(LIBXML_HTTP_ENABLED)
28184    int mem_base;
28185    int ret_val;
28186    const char * filename; /* the URI for matching */
28187    int n_filename;
28188
28189    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
28190        mem_base = xmlMemBlocks();
28191        filename = gen_filepath(n_filename, 0);
28192
28193        ret_val = xmlIOHTTPMatch(filename);
28194        desret_int(ret_val);
28195        call_tests++;
28196        des_filepath(n_filename, filename, 0);
28197        xmlResetLastError();
28198        if (mem_base != xmlMemBlocks()) {
28199            printf("Leak of %d blocks found in xmlIOHTTPMatch",
28200	           xmlMemBlocks() - mem_base);
28201	    test_ret++;
28202            printf(" %d", n_filename);
28203            printf("\n");
28204        }
28205    }
28206    function_tests++;
28207#endif
28208
28209    return(test_ret);
28210}
28211
28212
28213static int
28214test_xmlIOHTTPOpen(void) {
28215    int test_ret = 0;
28216
28217#if defined(LIBXML_HTTP_ENABLED)
28218    int mem_base;
28219    void * ret_val;
28220    const char * filename; /* the URI for matching */
28221    int n_filename;
28222
28223    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
28224        mem_base = xmlMemBlocks();
28225        filename = gen_filepath(n_filename, 0);
28226
28227        ret_val = xmlIOHTTPOpen(filename);
28228        desret_xmlNanoHTTPCtxtPtr(ret_val);
28229        call_tests++;
28230        des_filepath(n_filename, filename, 0);
28231        xmlResetLastError();
28232        if (mem_base != xmlMemBlocks()) {
28233            printf("Leak of %d blocks found in xmlIOHTTPOpen",
28234	           xmlMemBlocks() - mem_base);
28235	    test_ret++;
28236            printf(" %d", n_filename);
28237            printf("\n");
28238        }
28239    }
28240    function_tests++;
28241#endif
28242
28243    return(test_ret);
28244}
28245
28246
28247static int
28248test_xmlIOHTTPRead(void) {
28249    int test_ret = 0;
28250
28251#if defined(LIBXML_HTTP_ENABLED)
28252    int mem_base;
28253    int ret_val;
28254    void * context; /* the I/O context */
28255    int n_context;
28256    char * buffer; /* where to drop data */
28257    int n_buffer;
28258    int len; /* number of bytes to write */
28259    int n_len;
28260
28261    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
28262    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
28263    for (n_len = 0;n_len < gen_nb_int;n_len++) {
28264        mem_base = xmlMemBlocks();
28265        context = gen_void_ptr(n_context, 0);
28266        buffer = gen_char_ptr(n_buffer, 1);
28267        len = gen_int(n_len, 2);
28268
28269        ret_val = xmlIOHTTPRead(context, buffer, len);
28270        desret_int(ret_val);
28271        call_tests++;
28272        des_void_ptr(n_context, context, 0);
28273        des_char_ptr(n_buffer, buffer, 1);
28274        des_int(n_len, len, 2);
28275        xmlResetLastError();
28276        if (mem_base != xmlMemBlocks()) {
28277            printf("Leak of %d blocks found in xmlIOHTTPRead",
28278	           xmlMemBlocks() - mem_base);
28279	    test_ret++;
28280            printf(" %d", n_context);
28281            printf(" %d", n_buffer);
28282            printf(" %d", n_len);
28283            printf("\n");
28284        }
28285    }
28286    }
28287    }
28288    function_tests++;
28289#endif
28290
28291    return(test_ret);
28292}
28293
28294
28295static int
28296test_xmlNoNetExternalEntityLoader(void) {
28297    int test_ret = 0;
28298
28299    int mem_base;
28300    xmlParserInputPtr ret_val;
28301    const char * URL; /* the URL for the entity to load */
28302    int n_URL;
28303    char * ID; /* the System ID for the entity to load */
28304    int n_ID;
28305    xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
28306    int n_ctxt;
28307
28308    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
28309    for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
28310    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
28311        mem_base = xmlMemBlocks();
28312        URL = gen_filepath(n_URL, 0);
28313        ID = gen_const_char_ptr(n_ID, 1);
28314        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
28315
28316        ret_val = xmlNoNetExternalEntityLoader(URL, (const char *)ID, ctxt);
28317        desret_xmlParserInputPtr(ret_val);
28318        call_tests++;
28319        des_filepath(n_URL, URL, 0);
28320        des_const_char_ptr(n_ID, (const char *)ID, 1);
28321        des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
28322        xmlResetLastError();
28323        if (mem_base != xmlMemBlocks()) {
28324            printf("Leak of %d blocks found in xmlNoNetExternalEntityLoader",
28325	           xmlMemBlocks() - mem_base);
28326	    test_ret++;
28327            printf(" %d", n_URL);
28328            printf(" %d", n_ID);
28329            printf(" %d", n_ctxt);
28330            printf("\n");
28331        }
28332    }
28333    }
28334    }
28335    function_tests++;
28336
28337    return(test_ret);
28338}
28339
28340
28341static int
28342test_xmlNormalizeWindowsPath(void) {
28343    int test_ret = 0;
28344
28345    int mem_base;
28346    xmlChar * ret_val;
28347    xmlChar * path; /* the input file path */
28348    int n_path;
28349
28350    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
28351        mem_base = xmlMemBlocks();
28352        path = gen_const_xmlChar_ptr(n_path, 0);
28353
28354        ret_val = xmlNormalizeWindowsPath((const xmlChar *)path);
28355        desret_xmlChar_ptr(ret_val);
28356        call_tests++;
28357        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
28358        xmlResetLastError();
28359        if (mem_base != xmlMemBlocks()) {
28360            printf("Leak of %d blocks found in xmlNormalizeWindowsPath",
28361	           xmlMemBlocks() - mem_base);
28362	    test_ret++;
28363            printf(" %d", n_path);
28364            printf("\n");
28365        }
28366    }
28367    function_tests++;
28368
28369    return(test_ret);
28370}
28371
28372
28373static int
28374test_xmlOutputBufferCreateBuffer(void) {
28375    int test_ret = 0;
28376
28377#if defined(LIBXML_OUTPUT_ENABLED)
28378    int mem_base;
28379    xmlOutputBufferPtr ret_val;
28380    xmlBufferPtr buffer; /* a xmlBufferPtr */
28381    int n_buffer;
28382    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
28383    int n_encoder;
28384
28385    for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
28386    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
28387        mem_base = xmlMemBlocks();
28388        buffer = gen_xmlBufferPtr(n_buffer, 0);
28389        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
28390
28391        ret_val = xmlOutputBufferCreateBuffer(buffer, encoder);
28392        desret_xmlOutputBufferPtr(ret_val);
28393        call_tests++;
28394        des_xmlBufferPtr(n_buffer, buffer, 0);
28395        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
28396        xmlResetLastError();
28397        if (mem_base != xmlMemBlocks()) {
28398            printf("Leak of %d blocks found in xmlOutputBufferCreateBuffer",
28399	           xmlMemBlocks() - mem_base);
28400	    test_ret++;
28401            printf(" %d", n_buffer);
28402            printf(" %d", n_encoder);
28403            printf("\n");
28404        }
28405    }
28406    }
28407    function_tests++;
28408#endif
28409
28410    return(test_ret);
28411}
28412
28413
28414static int
28415test_xmlOutputBufferCreateFd(void) {
28416    int test_ret = 0;
28417
28418#if defined(LIBXML_OUTPUT_ENABLED)
28419    int mem_base;
28420    xmlOutputBufferPtr ret_val;
28421    int fd; /* a file descriptor number */
28422    int n_fd;
28423    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
28424    int n_encoder;
28425
28426    for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
28427    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
28428        mem_base = xmlMemBlocks();
28429        fd = gen_int(n_fd, 0);
28430        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
28431
28432        ret_val = xmlOutputBufferCreateFd(fd, encoder);
28433        desret_xmlOutputBufferPtr(ret_val);
28434        call_tests++;
28435        des_int(n_fd, fd, 0);
28436        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
28437        xmlResetLastError();
28438        if (mem_base != xmlMemBlocks()) {
28439            printf("Leak of %d blocks found in xmlOutputBufferCreateFd",
28440	           xmlMemBlocks() - mem_base);
28441	    test_ret++;
28442            printf(" %d", n_fd);
28443            printf(" %d", n_encoder);
28444            printf("\n");
28445        }
28446    }
28447    }
28448    function_tests++;
28449#endif
28450
28451    return(test_ret);
28452}
28453
28454
28455static int
28456test_xmlOutputBufferCreateFile(void) {
28457    int test_ret = 0;
28458
28459#if defined(LIBXML_OUTPUT_ENABLED)
28460    int mem_base;
28461    xmlOutputBufferPtr ret_val;
28462    FILE * file; /* a FILE* */
28463    int n_file;
28464    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
28465    int n_encoder;
28466
28467    for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
28468    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
28469        mem_base = xmlMemBlocks();
28470        file = gen_FILE_ptr(n_file, 0);
28471        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
28472
28473        ret_val = xmlOutputBufferCreateFile(file, encoder);
28474        desret_xmlOutputBufferPtr(ret_val);
28475        call_tests++;
28476        des_FILE_ptr(n_file, file, 0);
28477        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
28478        xmlResetLastError();
28479        if (mem_base != xmlMemBlocks()) {
28480            printf("Leak of %d blocks found in xmlOutputBufferCreateFile",
28481	           xmlMemBlocks() - mem_base);
28482	    test_ret++;
28483            printf(" %d", n_file);
28484            printf(" %d", n_encoder);
28485            printf("\n");
28486        }
28487    }
28488    }
28489    function_tests++;
28490#endif
28491
28492    return(test_ret);
28493}
28494
28495
28496static int
28497test_xmlOutputBufferCreateFilename(void) {
28498    int test_ret = 0;
28499
28500#if defined(LIBXML_OUTPUT_ENABLED)
28501    int mem_base;
28502    xmlOutputBufferPtr ret_val;
28503    const char * URI; /* a C string containing the URI or filename */
28504    int n_URI;
28505    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
28506    int n_encoder;
28507    int compression; /* the compression ration (0 none, 9 max). */
28508    int n_compression;
28509
28510    for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
28511    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
28512    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
28513        mem_base = xmlMemBlocks();
28514        URI = gen_fileoutput(n_URI, 0);
28515        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
28516        compression = gen_int(n_compression, 2);
28517
28518        ret_val = xmlOutputBufferCreateFilename(URI, encoder, compression);
28519        desret_xmlOutputBufferPtr(ret_val);
28520        call_tests++;
28521        des_fileoutput(n_URI, URI, 0);
28522        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
28523        des_int(n_compression, compression, 2);
28524        xmlResetLastError();
28525        if (mem_base != xmlMemBlocks()) {
28526            printf("Leak of %d blocks found in xmlOutputBufferCreateFilename",
28527	           xmlMemBlocks() - mem_base);
28528	    test_ret++;
28529            printf(" %d", n_URI);
28530            printf(" %d", n_encoder);
28531            printf(" %d", n_compression);
28532            printf("\n");
28533        }
28534    }
28535    }
28536    }
28537    function_tests++;
28538#endif
28539
28540    return(test_ret);
28541}
28542
28543
28544static int
28545test_xmlOutputBufferFlush(void) {
28546    int test_ret = 0;
28547
28548#if defined(LIBXML_OUTPUT_ENABLED)
28549    int mem_base;
28550    int ret_val;
28551    xmlOutputBufferPtr out; /* a buffered output */
28552    int n_out;
28553
28554    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
28555        mem_base = xmlMemBlocks();
28556        out = gen_xmlOutputBufferPtr(n_out, 0);
28557
28558        ret_val = xmlOutputBufferFlush(out);
28559        desret_int(ret_val);
28560        call_tests++;
28561        des_xmlOutputBufferPtr(n_out, out, 0);
28562        xmlResetLastError();
28563        if (mem_base != xmlMemBlocks()) {
28564            printf("Leak of %d blocks found in xmlOutputBufferFlush",
28565	           xmlMemBlocks() - mem_base);
28566	    test_ret++;
28567            printf(" %d", n_out);
28568            printf("\n");
28569        }
28570    }
28571    function_tests++;
28572#endif
28573
28574    return(test_ret);
28575}
28576
28577
28578static int
28579test_xmlOutputBufferGetContent(void) {
28580    int test_ret = 0;
28581
28582#if defined(LIBXML_OUTPUT_ENABLED)
28583    int mem_base;
28584    const xmlChar * ret_val;
28585    xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
28586    int n_out;
28587
28588    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
28589        mem_base = xmlMemBlocks();
28590        out = gen_xmlOutputBufferPtr(n_out, 0);
28591
28592        ret_val = xmlOutputBufferGetContent(out);
28593        desret_const_xmlChar_ptr(ret_val);
28594        call_tests++;
28595        des_xmlOutputBufferPtr(n_out, out, 0);
28596        xmlResetLastError();
28597        if (mem_base != xmlMemBlocks()) {
28598            printf("Leak of %d blocks found in xmlOutputBufferGetContent",
28599	           xmlMemBlocks() - mem_base);
28600	    test_ret++;
28601            printf(" %d", n_out);
28602            printf("\n");
28603        }
28604    }
28605    function_tests++;
28606#endif
28607
28608    return(test_ret);
28609}
28610
28611
28612static int
28613test_xmlOutputBufferGetSize(void) {
28614    int test_ret = 0;
28615
28616
28617    /* missing type support */
28618    return(test_ret);
28619}
28620
28621
28622static int
28623test_xmlOutputBufferWrite(void) {
28624    int test_ret = 0;
28625
28626#if defined(LIBXML_OUTPUT_ENABLED)
28627    int mem_base;
28628    int ret_val;
28629    xmlOutputBufferPtr out; /* a buffered parser output */
28630    int n_out;
28631    int len; /* the size in bytes of the array. */
28632    int n_len;
28633    char * buf; /* an char array */
28634    int n_buf;
28635
28636    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
28637    for (n_len = 0;n_len < gen_nb_int;n_len++) {
28638    for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
28639        mem_base = xmlMemBlocks();
28640        out = gen_xmlOutputBufferPtr(n_out, 0);
28641        len = gen_int(n_len, 1);
28642        buf = gen_const_char_ptr(n_buf, 2);
28643
28644        ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
28645        desret_int(ret_val);
28646        call_tests++;
28647        des_xmlOutputBufferPtr(n_out, out, 0);
28648        des_int(n_len, len, 1);
28649        des_const_char_ptr(n_buf, (const char *)buf, 2);
28650        xmlResetLastError();
28651        if (mem_base != xmlMemBlocks()) {
28652            printf("Leak of %d blocks found in xmlOutputBufferWrite",
28653	           xmlMemBlocks() - mem_base);
28654	    test_ret++;
28655            printf(" %d", n_out);
28656            printf(" %d", n_len);
28657            printf(" %d", n_buf);
28658            printf("\n");
28659        }
28660    }
28661    }
28662    }
28663    function_tests++;
28664#endif
28665
28666    return(test_ret);
28667}
28668
28669
28670static int
28671test_xmlOutputBufferWriteEscape(void) {
28672    int test_ret = 0;
28673
28674
28675    /* missing type support */
28676    return(test_ret);
28677}
28678
28679
28680static int
28681test_xmlOutputBufferWriteString(void) {
28682    int test_ret = 0;
28683
28684#if defined(LIBXML_OUTPUT_ENABLED)
28685    int mem_base;
28686    int ret_val;
28687    xmlOutputBufferPtr out; /* a buffered parser output */
28688    int n_out;
28689    char * str; /* a zero terminated C string */
28690    int n_str;
28691
28692    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
28693    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
28694        mem_base = xmlMemBlocks();
28695        out = gen_xmlOutputBufferPtr(n_out, 0);
28696        str = gen_const_char_ptr(n_str, 1);
28697
28698        ret_val = xmlOutputBufferWriteString(out, (const char *)str);
28699        desret_int(ret_val);
28700        call_tests++;
28701        des_xmlOutputBufferPtr(n_out, out, 0);
28702        des_const_char_ptr(n_str, (const char *)str, 1);
28703        xmlResetLastError();
28704        if (mem_base != xmlMemBlocks()) {
28705            printf("Leak of %d blocks found in xmlOutputBufferWriteString",
28706	           xmlMemBlocks() - mem_base);
28707	    test_ret++;
28708            printf(" %d", n_out);
28709            printf(" %d", n_str);
28710            printf("\n");
28711        }
28712    }
28713    }
28714    function_tests++;
28715#endif
28716
28717    return(test_ret);
28718}
28719
28720
28721static int
28722test_xmlParserGetDirectory(void) {
28723    int test_ret = 0;
28724
28725
28726    /* missing type support */
28727    return(test_ret);
28728}
28729
28730
28731static int
28732test_xmlParserInputBufferCreateFd(void) {
28733    int test_ret = 0;
28734
28735    int mem_base;
28736    xmlParserInputBufferPtr ret_val;
28737    int fd; /* a file descriptor number */
28738    int n_fd;
28739    xmlCharEncoding enc; /* the charset encoding if known */
28740    int n_enc;
28741
28742    for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
28743    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
28744        mem_base = xmlMemBlocks();
28745        fd = gen_int(n_fd, 0);
28746        enc = gen_xmlCharEncoding(n_enc, 1);
28747        if (fd >= 0) fd = -1;
28748
28749        ret_val = xmlParserInputBufferCreateFd(fd, enc);
28750        desret_xmlParserInputBufferPtr(ret_val);
28751        call_tests++;
28752        des_int(n_fd, fd, 0);
28753        des_xmlCharEncoding(n_enc, enc, 1);
28754        xmlResetLastError();
28755        if (mem_base != xmlMemBlocks()) {
28756            printf("Leak of %d blocks found in xmlParserInputBufferCreateFd",
28757	           xmlMemBlocks() - mem_base);
28758	    test_ret++;
28759            printf(" %d", n_fd);
28760            printf(" %d", n_enc);
28761            printf("\n");
28762        }
28763    }
28764    }
28765    function_tests++;
28766
28767    return(test_ret);
28768}
28769
28770
28771static int
28772test_xmlParserInputBufferCreateFile(void) {
28773    int test_ret = 0;
28774
28775    int mem_base;
28776    xmlParserInputBufferPtr ret_val;
28777    FILE * file; /* a FILE* */
28778    int n_file;
28779    xmlCharEncoding enc; /* the charset encoding if known */
28780    int n_enc;
28781
28782    for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
28783    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
28784        mem_base = xmlMemBlocks();
28785        file = gen_FILE_ptr(n_file, 0);
28786        enc = gen_xmlCharEncoding(n_enc, 1);
28787
28788        ret_val = xmlParserInputBufferCreateFile(file, enc);
28789        desret_xmlParserInputBufferPtr(ret_val);
28790        call_tests++;
28791        des_FILE_ptr(n_file, file, 0);
28792        des_xmlCharEncoding(n_enc, enc, 1);
28793        xmlResetLastError();
28794        if (mem_base != xmlMemBlocks()) {
28795            printf("Leak of %d blocks found in xmlParserInputBufferCreateFile",
28796	           xmlMemBlocks() - mem_base);
28797	    test_ret++;
28798            printf(" %d", n_file);
28799            printf(" %d", n_enc);
28800            printf("\n");
28801        }
28802    }
28803    }
28804    function_tests++;
28805
28806    return(test_ret);
28807}
28808
28809
28810static int
28811test_xmlParserInputBufferCreateFilename(void) {
28812    int test_ret = 0;
28813
28814    int mem_base;
28815    xmlParserInputBufferPtr ret_val;
28816    const char * URI; /* a C string containing the URI or filename */
28817    int n_URI;
28818    xmlCharEncoding enc; /* the charset encoding if known */
28819    int n_enc;
28820
28821    for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
28822    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
28823        mem_base = xmlMemBlocks();
28824        URI = gen_fileoutput(n_URI, 0);
28825        enc = gen_xmlCharEncoding(n_enc, 1);
28826
28827        ret_val = xmlParserInputBufferCreateFilename(URI, enc);
28828        desret_xmlParserInputBufferPtr(ret_val);
28829        call_tests++;
28830        des_fileoutput(n_URI, URI, 0);
28831        des_xmlCharEncoding(n_enc, enc, 1);
28832        xmlResetLastError();
28833        if (mem_base != xmlMemBlocks()) {
28834            printf("Leak of %d blocks found in xmlParserInputBufferCreateFilename",
28835	           xmlMemBlocks() - mem_base);
28836	    test_ret++;
28837            printf(" %d", n_URI);
28838            printf(" %d", n_enc);
28839            printf("\n");
28840        }
28841    }
28842    }
28843    function_tests++;
28844
28845    return(test_ret);
28846}
28847
28848
28849static int
28850test_xmlParserInputBufferCreateMem(void) {
28851    int test_ret = 0;
28852
28853    int mem_base;
28854    xmlParserInputBufferPtr ret_val;
28855    char * mem; /* the memory input */
28856    int n_mem;
28857    int size; /* the length of the memory block */
28858    int n_size;
28859    xmlCharEncoding enc; /* the charset encoding if known */
28860    int n_enc;
28861
28862    for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
28863    for (n_size = 0;n_size < gen_nb_int;n_size++) {
28864    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
28865        mem_base = xmlMemBlocks();
28866        mem = gen_const_char_ptr(n_mem, 0);
28867        size = gen_int(n_size, 1);
28868        enc = gen_xmlCharEncoding(n_enc, 2);
28869
28870        ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
28871        desret_xmlParserInputBufferPtr(ret_val);
28872        call_tests++;
28873        des_const_char_ptr(n_mem, (const char *)mem, 0);
28874        des_int(n_size, size, 1);
28875        des_xmlCharEncoding(n_enc, enc, 2);
28876        xmlResetLastError();
28877        if (mem_base != xmlMemBlocks()) {
28878            printf("Leak of %d blocks found in xmlParserInputBufferCreateMem",
28879	           xmlMemBlocks() - mem_base);
28880	    test_ret++;
28881            printf(" %d", n_mem);
28882            printf(" %d", n_size);
28883            printf(" %d", n_enc);
28884            printf("\n");
28885        }
28886    }
28887    }
28888    }
28889    function_tests++;
28890
28891    return(test_ret);
28892}
28893
28894
28895static int
28896test_xmlParserInputBufferCreateStatic(void) {
28897    int test_ret = 0;
28898
28899    int mem_base;
28900    xmlParserInputBufferPtr ret_val;
28901    char * mem; /* the memory input */
28902    int n_mem;
28903    int size; /* the length of the memory block */
28904    int n_size;
28905    xmlCharEncoding enc; /* the charset encoding if known */
28906    int n_enc;
28907
28908    for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
28909    for (n_size = 0;n_size < gen_nb_int;n_size++) {
28910    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
28911        mem_base = xmlMemBlocks();
28912        mem = gen_const_char_ptr(n_mem, 0);
28913        size = gen_int(n_size, 1);
28914        enc = gen_xmlCharEncoding(n_enc, 2);
28915
28916        ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
28917        desret_xmlParserInputBufferPtr(ret_val);
28918        call_tests++;
28919        des_const_char_ptr(n_mem, (const char *)mem, 0);
28920        des_int(n_size, size, 1);
28921        des_xmlCharEncoding(n_enc, enc, 2);
28922        xmlResetLastError();
28923        if (mem_base != xmlMemBlocks()) {
28924            printf("Leak of %d blocks found in xmlParserInputBufferCreateStatic",
28925	           xmlMemBlocks() - mem_base);
28926	    test_ret++;
28927            printf(" %d", n_mem);
28928            printf(" %d", n_size);
28929            printf(" %d", n_enc);
28930            printf("\n");
28931        }
28932    }
28933    }
28934    }
28935    function_tests++;
28936
28937    return(test_ret);
28938}
28939
28940
28941static int
28942test_xmlParserInputBufferGrow(void) {
28943    int test_ret = 0;
28944
28945    int mem_base;
28946    int ret_val;
28947    xmlParserInputBufferPtr in; /* a buffered parser input */
28948    int n_in;
28949    int len; /* indicative value of the amount of chars to read */
28950    int n_len;
28951
28952    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
28953    for (n_len = 0;n_len < gen_nb_int;n_len++) {
28954        mem_base = xmlMemBlocks();
28955        in = gen_xmlParserInputBufferPtr(n_in, 0);
28956        len = gen_int(n_len, 1);
28957
28958        ret_val = xmlParserInputBufferGrow(in, len);
28959        desret_int(ret_val);
28960        call_tests++;
28961        des_xmlParserInputBufferPtr(n_in, in, 0);
28962        des_int(n_len, len, 1);
28963        xmlResetLastError();
28964        if (mem_base != xmlMemBlocks()) {
28965            printf("Leak of %d blocks found in xmlParserInputBufferGrow",
28966	           xmlMemBlocks() - mem_base);
28967	    test_ret++;
28968            printf(" %d", n_in);
28969            printf(" %d", n_len);
28970            printf("\n");
28971        }
28972    }
28973    }
28974    function_tests++;
28975
28976    return(test_ret);
28977}
28978
28979
28980static int
28981test_xmlParserInputBufferPush(void) {
28982    int test_ret = 0;
28983
28984    int mem_base;
28985    int ret_val;
28986    xmlParserInputBufferPtr in; /* a buffered parser input */
28987    int n_in;
28988    int len; /* the size in bytes of the array. */
28989    int n_len;
28990    char * buf; /* an char array */
28991    int n_buf;
28992
28993    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
28994    for (n_len = 0;n_len < gen_nb_int;n_len++) {
28995    for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
28996        mem_base = xmlMemBlocks();
28997        in = gen_xmlParserInputBufferPtr(n_in, 0);
28998        len = gen_int(n_len, 1);
28999        buf = gen_const_char_ptr(n_buf, 2);
29000
29001        ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
29002        desret_int(ret_val);
29003        call_tests++;
29004        des_xmlParserInputBufferPtr(n_in, in, 0);
29005        des_int(n_len, len, 1);
29006        des_const_char_ptr(n_buf, (const char *)buf, 2);
29007        xmlResetLastError();
29008        if (mem_base != xmlMemBlocks()) {
29009            printf("Leak of %d blocks found in xmlParserInputBufferPush",
29010	           xmlMemBlocks() - mem_base);
29011	    test_ret++;
29012            printf(" %d", n_in);
29013            printf(" %d", n_len);
29014            printf(" %d", n_buf);
29015            printf("\n");
29016        }
29017    }
29018    }
29019    }
29020    function_tests++;
29021
29022    return(test_ret);
29023}
29024
29025
29026static int
29027test_xmlParserInputBufferRead(void) {
29028    int test_ret = 0;
29029
29030    int mem_base;
29031    int ret_val;
29032    xmlParserInputBufferPtr in; /* a buffered parser input */
29033    int n_in;
29034    int len; /* indicative value of the amount of chars to read */
29035    int n_len;
29036
29037    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
29038    for (n_len = 0;n_len < gen_nb_int;n_len++) {
29039        mem_base = xmlMemBlocks();
29040        in = gen_xmlParserInputBufferPtr(n_in, 0);
29041        len = gen_int(n_len, 1);
29042
29043        ret_val = xmlParserInputBufferRead(in, len);
29044        desret_int(ret_val);
29045        call_tests++;
29046        des_xmlParserInputBufferPtr(n_in, in, 0);
29047        des_int(n_len, len, 1);
29048        xmlResetLastError();
29049        if (mem_base != xmlMemBlocks()) {
29050            printf("Leak of %d blocks found in xmlParserInputBufferRead",
29051	           xmlMemBlocks() - mem_base);
29052	    test_ret++;
29053            printf(" %d", n_in);
29054            printf(" %d", n_len);
29055            printf("\n");
29056        }
29057    }
29058    }
29059    function_tests++;
29060
29061    return(test_ret);
29062}
29063
29064
29065static int
29066test_xmlPopInputCallbacks(void) {
29067    int test_ret = 0;
29068
29069    int mem_base;
29070    int ret_val;
29071
29072        mem_base = xmlMemBlocks();
29073
29074        ret_val = xmlPopInputCallbacks();
29075        desret_int(ret_val);
29076        call_tests++;
29077        xmlResetLastError();
29078        if (mem_base != xmlMemBlocks()) {
29079            printf("Leak of %d blocks found in xmlPopInputCallbacks",
29080	           xmlMemBlocks() - mem_base);
29081	    test_ret++;
29082            printf("\n");
29083        }
29084    function_tests++;
29085
29086    return(test_ret);
29087}
29088
29089
29090static int
29091test_xmlRegisterDefaultInputCallbacks(void) {
29092    int test_ret = 0;
29093
29094    int mem_base;
29095
29096        mem_base = xmlMemBlocks();
29097
29098        xmlRegisterDefaultInputCallbacks();
29099        call_tests++;
29100        xmlResetLastError();
29101        if (mem_base != xmlMemBlocks()) {
29102            printf("Leak of %d blocks found in xmlRegisterDefaultInputCallbacks",
29103	           xmlMemBlocks() - mem_base);
29104	    test_ret++;
29105            printf("\n");
29106        }
29107    function_tests++;
29108
29109    return(test_ret);
29110}
29111
29112
29113static int
29114test_xmlRegisterDefaultOutputCallbacks(void) {
29115    int test_ret = 0;
29116
29117#if defined(LIBXML_OUTPUT_ENABLED)
29118    int mem_base;
29119
29120        mem_base = xmlMemBlocks();
29121
29122        xmlRegisterDefaultOutputCallbacks();
29123        call_tests++;
29124        xmlResetLastError();
29125        if (mem_base != xmlMemBlocks()) {
29126            printf("Leak of %d blocks found in xmlRegisterDefaultOutputCallbacks",
29127	           xmlMemBlocks() - mem_base);
29128	    test_ret++;
29129            printf("\n");
29130        }
29131    function_tests++;
29132#endif
29133
29134    return(test_ret);
29135}
29136
29137
29138static int
29139test_xmlRegisterHTTPPostCallbacks(void) {
29140    int test_ret = 0;
29141
29142#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED)
29143    int mem_base;
29144
29145        mem_base = xmlMemBlocks();
29146
29147        xmlRegisterHTTPPostCallbacks();
29148        call_tests++;
29149        xmlResetLastError();
29150        if (mem_base != xmlMemBlocks()) {
29151            printf("Leak of %d blocks found in xmlRegisterHTTPPostCallbacks",
29152	           xmlMemBlocks() - mem_base);
29153	    test_ret++;
29154            printf("\n");
29155        }
29156    function_tests++;
29157#endif
29158
29159    return(test_ret);
29160}
29161
29162static int
29163test_xmlIO(void) {
29164    int test_ret = 0;
29165
29166    if (quiet == 0) printf("Testing xmlIO : 40 of 50 functions ...\n");
29167    test_ret += test_xmlAllocOutputBuffer();
29168    test_ret += test_xmlAllocParserInputBuffer();
29169    test_ret += test_xmlCheckFilename();
29170    test_ret += test_xmlCheckHTTPInput();
29171    test_ret += test_xmlCleanupInputCallbacks();
29172    test_ret += test_xmlCleanupOutputCallbacks();
29173    test_ret += test_xmlFileClose();
29174    test_ret += test_xmlFileMatch();
29175    test_ret += test_xmlFileOpen();
29176    test_ret += test_xmlFileRead();
29177    test_ret += test_xmlIOFTPClose();
29178    test_ret += test_xmlIOFTPMatch();
29179    test_ret += test_xmlIOFTPOpen();
29180    test_ret += test_xmlIOFTPRead();
29181    test_ret += test_xmlIOHTTPClose();
29182    test_ret += test_xmlIOHTTPMatch();
29183    test_ret += test_xmlIOHTTPOpen();
29184    test_ret += test_xmlIOHTTPRead();
29185    test_ret += test_xmlNoNetExternalEntityLoader();
29186    test_ret += test_xmlNormalizeWindowsPath();
29187    test_ret += test_xmlOutputBufferCreateBuffer();
29188    test_ret += test_xmlOutputBufferCreateFd();
29189    test_ret += test_xmlOutputBufferCreateFile();
29190    test_ret += test_xmlOutputBufferCreateFilename();
29191    test_ret += test_xmlOutputBufferFlush();
29192    test_ret += test_xmlOutputBufferGetContent();
29193    test_ret += test_xmlOutputBufferGetSize();
29194    test_ret += test_xmlOutputBufferWrite();
29195    test_ret += test_xmlOutputBufferWriteEscape();
29196    test_ret += test_xmlOutputBufferWriteString();
29197    test_ret += test_xmlParserGetDirectory();
29198    test_ret += test_xmlParserInputBufferCreateFd();
29199    test_ret += test_xmlParserInputBufferCreateFile();
29200    test_ret += test_xmlParserInputBufferCreateFilename();
29201    test_ret += test_xmlParserInputBufferCreateMem();
29202    test_ret += test_xmlParserInputBufferCreateStatic();
29203    test_ret += test_xmlParserInputBufferGrow();
29204    test_ret += test_xmlParserInputBufferPush();
29205    test_ret += test_xmlParserInputBufferRead();
29206    test_ret += test_xmlPopInputCallbacks();
29207    test_ret += test_xmlRegisterDefaultInputCallbacks();
29208    test_ret += test_xmlRegisterDefaultOutputCallbacks();
29209    test_ret += test_xmlRegisterHTTPPostCallbacks();
29210
29211    if (test_ret != 0)
29212	printf("Module xmlIO: %d errors\n", test_ret);
29213    return(test_ret);
29214}
29215#ifdef LIBXML_AUTOMATA_ENABLED
29216
29217#define gen_nb_xmlAutomataPtr 1
29218static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29219    return(NULL);
29220}
29221static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29222}
29223#endif
29224
29225
29226static int
29227test_xmlAutomataCompile(void) {
29228    int test_ret = 0;
29229
29230
29231    /* missing type support */
29232    return(test_ret);
29233}
29234
29235
29236static int
29237test_xmlAutomataGetInitState(void) {
29238    int test_ret = 0;
29239
29240
29241    /* missing type support */
29242    return(test_ret);
29243}
29244
29245
29246static int
29247test_xmlAutomataIsDeterminist(void) {
29248    int test_ret = 0;
29249
29250#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
29251    int mem_base;
29252    int ret_val;
29253    xmlAutomataPtr am; /* an automata */
29254    int n_am;
29255
29256    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
29257        mem_base = xmlMemBlocks();
29258        am = gen_xmlAutomataPtr(n_am, 0);
29259
29260        ret_val = xmlAutomataIsDeterminist(am);
29261        desret_int(ret_val);
29262        call_tests++;
29263        des_xmlAutomataPtr(n_am, am, 0);
29264        xmlResetLastError();
29265        if (mem_base != xmlMemBlocks()) {
29266            printf("Leak of %d blocks found in xmlAutomataIsDeterminist",
29267	           xmlMemBlocks() - mem_base);
29268	    test_ret++;
29269            printf(" %d", n_am);
29270            printf("\n");
29271        }
29272    }
29273    function_tests++;
29274#endif
29275
29276    return(test_ret);
29277}
29278
29279#ifdef LIBXML_AUTOMATA_ENABLED
29280
29281#define gen_nb_xmlAutomataStatePtr 1
29282static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29283    return(NULL);
29284}
29285static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29286}
29287#endif
29288
29289
29290static int
29291test_xmlAutomataNewAllTrans(void) {
29292    int test_ret = 0;
29293
29294
29295    /* missing type support */
29296    return(test_ret);
29297}
29298
29299
29300static int
29301test_xmlAutomataNewCountTrans(void) {
29302    int test_ret = 0;
29303
29304
29305    /* missing type support */
29306    return(test_ret);
29307}
29308
29309
29310static int
29311test_xmlAutomataNewCountTrans2(void) {
29312    int test_ret = 0;
29313
29314
29315    /* missing type support */
29316    return(test_ret);
29317}
29318
29319
29320static int
29321test_xmlAutomataNewCountedTrans(void) {
29322    int test_ret = 0;
29323
29324
29325    /* missing type support */
29326    return(test_ret);
29327}
29328
29329
29330static int
29331test_xmlAutomataNewCounter(void) {
29332    int test_ret = 0;
29333
29334#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
29335    int mem_base;
29336    int ret_val;
29337    xmlAutomataPtr am; /* an automata */
29338    int n_am;
29339    int min; /* the minimal value on the counter */
29340    int n_min;
29341    int max; /* the maximal value on the counter */
29342    int n_max;
29343
29344    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
29345    for (n_min = 0;n_min < gen_nb_int;n_min++) {
29346    for (n_max = 0;n_max < gen_nb_int;n_max++) {
29347        mem_base = xmlMemBlocks();
29348        am = gen_xmlAutomataPtr(n_am, 0);
29349        min = gen_int(n_min, 1);
29350        max = gen_int(n_max, 2);
29351
29352        ret_val = xmlAutomataNewCounter(am, min, max);
29353        desret_int(ret_val);
29354        call_tests++;
29355        des_xmlAutomataPtr(n_am, am, 0);
29356        des_int(n_min, min, 1);
29357        des_int(n_max, max, 2);
29358        xmlResetLastError();
29359        if (mem_base != xmlMemBlocks()) {
29360            printf("Leak of %d blocks found in xmlAutomataNewCounter",
29361	           xmlMemBlocks() - mem_base);
29362	    test_ret++;
29363            printf(" %d", n_am);
29364            printf(" %d", n_min);
29365            printf(" %d", n_max);
29366            printf("\n");
29367        }
29368    }
29369    }
29370    }
29371    function_tests++;
29372#endif
29373
29374    return(test_ret);
29375}
29376
29377
29378static int
29379test_xmlAutomataNewCounterTrans(void) {
29380    int test_ret = 0;
29381
29382
29383    /* missing type support */
29384    return(test_ret);
29385}
29386
29387
29388static int
29389test_xmlAutomataNewEpsilon(void) {
29390    int test_ret = 0;
29391
29392
29393    /* missing type support */
29394    return(test_ret);
29395}
29396
29397
29398static int
29399test_xmlAutomataNewNegTrans(void) {
29400    int test_ret = 0;
29401
29402
29403    /* missing type support */
29404    return(test_ret);
29405}
29406
29407
29408static int
29409test_xmlAutomataNewOnceTrans(void) {
29410    int test_ret = 0;
29411
29412
29413    /* missing type support */
29414    return(test_ret);
29415}
29416
29417
29418static int
29419test_xmlAutomataNewOnceTrans2(void) {
29420    int test_ret = 0;
29421
29422
29423    /* missing type support */
29424    return(test_ret);
29425}
29426
29427
29428static int
29429test_xmlAutomataNewState(void) {
29430    int test_ret = 0;
29431
29432
29433    /* missing type support */
29434    return(test_ret);
29435}
29436
29437
29438static int
29439test_xmlAutomataNewTransition(void) {
29440    int test_ret = 0;
29441
29442
29443    /* missing type support */
29444    return(test_ret);
29445}
29446
29447
29448static int
29449test_xmlAutomataNewTransition2(void) {
29450    int test_ret = 0;
29451
29452
29453    /* missing type support */
29454    return(test_ret);
29455}
29456
29457
29458static int
29459test_xmlAutomataSetFinalState(void) {
29460    int test_ret = 0;
29461
29462#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
29463    int mem_base;
29464    int ret_val;
29465    xmlAutomataPtr am; /* an automata */
29466    int n_am;
29467    xmlAutomataStatePtr state; /* a state in this automata */
29468    int n_state;
29469
29470    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
29471    for (n_state = 0;n_state < gen_nb_xmlAutomataStatePtr;n_state++) {
29472        mem_base = xmlMemBlocks();
29473        am = gen_xmlAutomataPtr(n_am, 0);
29474        state = gen_xmlAutomataStatePtr(n_state, 1);
29475
29476        ret_val = xmlAutomataSetFinalState(am, state);
29477        desret_int(ret_val);
29478        call_tests++;
29479        des_xmlAutomataPtr(n_am, am, 0);
29480        des_xmlAutomataStatePtr(n_state, state, 1);
29481        xmlResetLastError();
29482        if (mem_base != xmlMemBlocks()) {
29483            printf("Leak of %d blocks found in xmlAutomataSetFinalState",
29484	           xmlMemBlocks() - mem_base);
29485	    test_ret++;
29486            printf(" %d", n_am);
29487            printf(" %d", n_state);
29488            printf("\n");
29489        }
29490    }
29491    }
29492    function_tests++;
29493#endif
29494
29495    return(test_ret);
29496}
29497
29498
29499static int
29500test_xmlNewAutomata(void) {
29501    int test_ret = 0;
29502
29503
29504    /* missing type support */
29505    return(test_ret);
29506}
29507
29508static int
29509test_xmlautomata(void) {
29510    int test_ret = 0;
29511
29512    if (quiet == 0) printf("Testing xmlautomata : 3 of 19 functions ...\n");
29513    test_ret += test_xmlAutomataCompile();
29514    test_ret += test_xmlAutomataGetInitState();
29515    test_ret += test_xmlAutomataIsDeterminist();
29516    test_ret += test_xmlAutomataNewAllTrans();
29517    test_ret += test_xmlAutomataNewCountTrans();
29518    test_ret += test_xmlAutomataNewCountTrans2();
29519    test_ret += test_xmlAutomataNewCountedTrans();
29520    test_ret += test_xmlAutomataNewCounter();
29521    test_ret += test_xmlAutomataNewCounterTrans();
29522    test_ret += test_xmlAutomataNewEpsilon();
29523    test_ret += test_xmlAutomataNewNegTrans();
29524    test_ret += test_xmlAutomataNewOnceTrans();
29525    test_ret += test_xmlAutomataNewOnceTrans2();
29526    test_ret += test_xmlAutomataNewState();
29527    test_ret += test_xmlAutomataNewTransition();
29528    test_ret += test_xmlAutomataNewTransition2();
29529    test_ret += test_xmlAutomataSetFinalState();
29530    test_ret += test_xmlNewAutomata();
29531
29532    if (test_ret != 0)
29533	printf("Module xmlautomata: %d errors\n", test_ret);
29534    return(test_ret);
29535}
29536
29537#define gen_nb_xmlGenericErrorFunc_ptr 1
29538static xmlGenericErrorFunc * gen_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29539    return(NULL);
29540}
29541static void des_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlGenericErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29542}
29543
29544static int
29545test_initGenericErrorDefaultFunc(void) {
29546    int test_ret = 0;
29547
29548    int mem_base;
29549    xmlGenericErrorFunc * handler; /* the handler */
29550    int n_handler;
29551
29552    for (n_handler = 0;n_handler < gen_nb_xmlGenericErrorFunc_ptr;n_handler++) {
29553        mem_base = xmlMemBlocks();
29554        handler = gen_xmlGenericErrorFunc_ptr(n_handler, 0);
29555
29556        initGenericErrorDefaultFunc(handler);
29557        call_tests++;
29558        des_xmlGenericErrorFunc_ptr(n_handler, handler, 0);
29559        xmlResetLastError();
29560        if (mem_base != xmlMemBlocks()) {
29561            printf("Leak of %d blocks found in initGenericErrorDefaultFunc",
29562	           xmlMemBlocks() - mem_base);
29563	    test_ret++;
29564            printf(" %d", n_handler);
29565            printf("\n");
29566        }
29567    }
29568    function_tests++;
29569
29570    return(test_ret);
29571}
29572
29573
29574#define gen_nb_xmlErrorPtr 1
29575static xmlErrorPtr gen_xmlErrorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29576    return(NULL);
29577}
29578static void des_xmlErrorPtr(int no ATTRIBUTE_UNUSED, xmlErrorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29579}
29580
29581static int
29582test_xmlCopyError(void) {
29583    int test_ret = 0;
29584
29585    int mem_base;
29586    int ret_val;
29587    xmlErrorPtr from; /* a source error */
29588    int n_from;
29589    xmlErrorPtr to; /* a target error */
29590    int n_to;
29591
29592    for (n_from = 0;n_from < gen_nb_xmlErrorPtr;n_from++) {
29593    for (n_to = 0;n_to < gen_nb_xmlErrorPtr;n_to++) {
29594        mem_base = xmlMemBlocks();
29595        from = gen_xmlErrorPtr(n_from, 0);
29596        to = gen_xmlErrorPtr(n_to, 1);
29597
29598        ret_val = xmlCopyError(from, to);
29599        desret_int(ret_val);
29600        call_tests++;
29601        des_xmlErrorPtr(n_from, from, 0);
29602        des_xmlErrorPtr(n_to, to, 1);
29603        xmlResetLastError();
29604        if (mem_base != xmlMemBlocks()) {
29605            printf("Leak of %d blocks found in xmlCopyError",
29606	           xmlMemBlocks() - mem_base);
29607	    test_ret++;
29608            printf(" %d", n_from);
29609            printf(" %d", n_to);
29610            printf("\n");
29611        }
29612    }
29613    }
29614    function_tests++;
29615
29616    return(test_ret);
29617}
29618
29619
29620static int
29621test_xmlCtxtGetLastError(void) {
29622    int test_ret = 0;
29623
29624
29625    /* missing type support */
29626    return(test_ret);
29627}
29628
29629
29630static int
29631test_xmlCtxtResetLastError(void) {
29632    int test_ret = 0;
29633
29634    int mem_base;
29635    void * ctx; /* an XML parser context */
29636    int n_ctx;
29637
29638    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
29639        mem_base = xmlMemBlocks();
29640        ctx = gen_void_ptr(n_ctx, 0);
29641
29642        xmlCtxtResetLastError(ctx);
29643        call_tests++;
29644        des_void_ptr(n_ctx, ctx, 0);
29645        xmlResetLastError();
29646        if (mem_base != xmlMemBlocks()) {
29647            printf("Leak of %d blocks found in xmlCtxtResetLastError",
29648	           xmlMemBlocks() - mem_base);
29649	    test_ret++;
29650            printf(" %d", n_ctx);
29651            printf("\n");
29652        }
29653    }
29654    function_tests++;
29655
29656    return(test_ret);
29657}
29658
29659
29660static int
29661test_xmlGetLastError(void) {
29662    int test_ret = 0;
29663
29664
29665    /* missing type support */
29666    return(test_ret);
29667}
29668
29669
29670static int
29671test_xmlParserError(void) {
29672    int test_ret = 0;
29673
29674
29675    /* missing type support */
29676    return(test_ret);
29677}
29678
29679
29680static int
29681test_xmlParserPrintFileContext(void) {
29682    int test_ret = 0;
29683
29684    int mem_base;
29685    xmlParserInputPtr input; /* an xmlParserInputPtr input */
29686    int n_input;
29687
29688    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
29689        mem_base = xmlMemBlocks();
29690        input = gen_xmlParserInputPtr(n_input, 0);
29691
29692        xmlParserPrintFileContext(input);
29693        call_tests++;
29694        des_xmlParserInputPtr(n_input, input, 0);
29695        xmlResetLastError();
29696        if (mem_base != xmlMemBlocks()) {
29697            printf("Leak of %d blocks found in xmlParserPrintFileContext",
29698	           xmlMemBlocks() - mem_base);
29699	    test_ret++;
29700            printf(" %d", n_input);
29701            printf("\n");
29702        }
29703    }
29704    function_tests++;
29705
29706    return(test_ret);
29707}
29708
29709
29710static int
29711test_xmlParserPrintFileInfo(void) {
29712    int test_ret = 0;
29713
29714    int mem_base;
29715    xmlParserInputPtr input; /* an xmlParserInputPtr input */
29716    int n_input;
29717
29718    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
29719        mem_base = xmlMemBlocks();
29720        input = gen_xmlParserInputPtr(n_input, 0);
29721
29722        xmlParserPrintFileInfo(input);
29723        call_tests++;
29724        des_xmlParserInputPtr(n_input, input, 0);
29725        xmlResetLastError();
29726        if (mem_base != xmlMemBlocks()) {
29727            printf("Leak of %d blocks found in xmlParserPrintFileInfo",
29728	           xmlMemBlocks() - mem_base);
29729	    test_ret++;
29730            printf(" %d", n_input);
29731            printf("\n");
29732        }
29733    }
29734    function_tests++;
29735
29736    return(test_ret);
29737}
29738
29739
29740static int
29741test_xmlParserValidityError(void) {
29742    int test_ret = 0;
29743
29744
29745    /* missing type support */
29746    return(test_ret);
29747}
29748
29749
29750static int
29751test_xmlParserValidityWarning(void) {
29752    int test_ret = 0;
29753
29754
29755    /* missing type support */
29756    return(test_ret);
29757}
29758
29759
29760static int
29761test_xmlParserWarning(void) {
29762    int test_ret = 0;
29763
29764
29765    /* missing type support */
29766    return(test_ret);
29767}
29768
29769
29770static int
29771test_xmlResetError(void) {
29772    int test_ret = 0;
29773
29774    int mem_base;
29775    xmlErrorPtr err; /* pointer to the error. */
29776    int n_err;
29777
29778    for (n_err = 0;n_err < gen_nb_xmlErrorPtr;n_err++) {
29779        mem_base = xmlMemBlocks();
29780        err = gen_xmlErrorPtr(n_err, 0);
29781
29782        xmlResetError(err);
29783        call_tests++;
29784        des_xmlErrorPtr(n_err, err, 0);
29785        xmlResetLastError();
29786        if (mem_base != xmlMemBlocks()) {
29787            printf("Leak of %d blocks found in xmlResetError",
29788	           xmlMemBlocks() - mem_base);
29789	    test_ret++;
29790            printf(" %d", n_err);
29791            printf("\n");
29792        }
29793    }
29794    function_tests++;
29795
29796    return(test_ret);
29797}
29798
29799
29800static int
29801test_xmlResetLastError(void) {
29802    int test_ret = 0;
29803
29804
29805
29806        xmlResetLastError();
29807        call_tests++;
29808        xmlResetLastError();
29809    function_tests++;
29810
29811    return(test_ret);
29812}
29813
29814
29815static int
29816test_xmlSetGenericErrorFunc(void) {
29817    int test_ret = 0;
29818
29819
29820    /* missing type support */
29821    return(test_ret);
29822}
29823
29824
29825static int
29826test_xmlSetStructuredErrorFunc(void) {
29827    int test_ret = 0;
29828
29829
29830    /* missing type support */
29831    return(test_ret);
29832}
29833
29834static int
29835test_xmlerror(void) {
29836    int test_ret = 0;
29837
29838    if (quiet == 0) printf("Testing xmlerror : 7 of 15 functions ...\n");
29839    test_ret += test_initGenericErrorDefaultFunc();
29840    test_ret += test_xmlCopyError();
29841    test_ret += test_xmlCtxtGetLastError();
29842    test_ret += test_xmlCtxtResetLastError();
29843    test_ret += test_xmlGetLastError();
29844    test_ret += test_xmlParserError();
29845    test_ret += test_xmlParserPrintFileContext();
29846    test_ret += test_xmlParserPrintFileInfo();
29847    test_ret += test_xmlParserValidityError();
29848    test_ret += test_xmlParserValidityWarning();
29849    test_ret += test_xmlParserWarning();
29850    test_ret += test_xmlResetError();
29851    test_ret += test_xmlResetLastError();
29852    test_ret += test_xmlSetGenericErrorFunc();
29853    test_ret += test_xmlSetStructuredErrorFunc();
29854
29855    if (test_ret != 0)
29856	printf("Module xmlerror: %d errors\n", test_ret);
29857    return(test_ret);
29858}
29859#ifdef LIBXML_MODULES_ENABLED
29860
29861#define gen_nb_xmlModulePtr 1
29862static xmlModulePtr gen_xmlModulePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29863    return(NULL);
29864}
29865static void des_xmlModulePtr(int no ATTRIBUTE_UNUSED, xmlModulePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
29866}
29867#endif
29868
29869
29870static int
29871test_xmlModuleClose(void) {
29872    int test_ret = 0;
29873
29874#if defined(LIBXML_MODULES_ENABLED)
29875    int mem_base;
29876    int ret_val;
29877    xmlModulePtr module; /* the module handle */
29878    int n_module;
29879
29880    for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
29881        mem_base = xmlMemBlocks();
29882        module = gen_xmlModulePtr(n_module, 0);
29883
29884        ret_val = xmlModuleClose(module);
29885        desret_int(ret_val);
29886        call_tests++;
29887        des_xmlModulePtr(n_module, module, 0);
29888        xmlResetLastError();
29889        if (mem_base != xmlMemBlocks()) {
29890            printf("Leak of %d blocks found in xmlModuleClose",
29891	           xmlMemBlocks() - mem_base);
29892	    test_ret++;
29893            printf(" %d", n_module);
29894            printf("\n");
29895        }
29896    }
29897    function_tests++;
29898#endif
29899
29900    return(test_ret);
29901}
29902
29903
29904static int
29905test_xmlModuleOpen(void) {
29906    int test_ret = 0;
29907
29908
29909    /* missing type support */
29910    return(test_ret);
29911}
29912
29913
29914static int
29915test_xmlModuleSymbol(void) {
29916    int test_ret = 0;
29917
29918#if defined(LIBXML_MODULES_ENABLED)
29919    int mem_base;
29920    int ret_val;
29921    xmlModulePtr module; /* the module */
29922    int n_module;
29923    char * name; /* the name of the symbol */
29924    int n_name;
29925    void ** symbol; /* the resulting symbol address */
29926    int n_symbol;
29927
29928    for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
29929    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
29930    for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) {
29931        mem_base = xmlMemBlocks();
29932        module = gen_xmlModulePtr(n_module, 0);
29933        name = gen_const_char_ptr(n_name, 1);
29934        symbol = gen_void_ptr_ptr(n_symbol, 2);
29935
29936        ret_val = xmlModuleSymbol(module, (const char *)name, symbol);
29937        desret_int(ret_val);
29938        call_tests++;
29939        des_xmlModulePtr(n_module, module, 0);
29940        des_const_char_ptr(n_name, (const char *)name, 1);
29941        des_void_ptr_ptr(n_symbol, symbol, 2);
29942        xmlResetLastError();
29943        if (mem_base != xmlMemBlocks()) {
29944            printf("Leak of %d blocks found in xmlModuleSymbol",
29945	           xmlMemBlocks() - mem_base);
29946	    test_ret++;
29947            printf(" %d", n_module);
29948            printf(" %d", n_name);
29949            printf(" %d", n_symbol);
29950            printf("\n");
29951        }
29952    }
29953    }
29954    }
29955    function_tests++;
29956#endif
29957
29958    return(test_ret);
29959}
29960
29961static int
29962test_xmlmodule(void) {
29963    int test_ret = 0;
29964
29965    if (quiet == 0) printf("Testing xmlmodule : 2 of 4 functions ...\n");
29966    test_ret += test_xmlModuleClose();
29967    test_ret += test_xmlModuleOpen();
29968    test_ret += test_xmlModuleSymbol();
29969
29970    if (test_ret != 0)
29971	printf("Module xmlmodule: %d errors\n", test_ret);
29972    return(test_ret);
29973}
29974
29975static int
29976test_xmlNewTextReader(void) {
29977    int test_ret = 0;
29978
29979#if defined(LIBXML_READER_ENABLED)
29980    int mem_base;
29981    xmlTextReaderPtr ret_val;
29982    xmlParserInputBufferPtr input; /* the xmlParserInputBufferPtr used to read data */
29983    int n_input;
29984    const char * URI; /* the URI information for the source if available */
29985    int n_URI;
29986
29987    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
29988    for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
29989        mem_base = xmlMemBlocks();
29990        input = gen_xmlParserInputBufferPtr(n_input, 0);
29991        URI = gen_filepath(n_URI, 1);
29992
29993        ret_val = xmlNewTextReader(input, URI);
29994        desret_xmlTextReaderPtr(ret_val);
29995        call_tests++;
29996        des_xmlParserInputBufferPtr(n_input, input, 0);
29997        des_filepath(n_URI, URI, 1);
29998        xmlResetLastError();
29999        if (mem_base != xmlMemBlocks()) {
30000            printf("Leak of %d blocks found in xmlNewTextReader",
30001	           xmlMemBlocks() - mem_base);
30002	    test_ret++;
30003            printf(" %d", n_input);
30004            printf(" %d", n_URI);
30005            printf("\n");
30006        }
30007    }
30008    }
30009    function_tests++;
30010#endif
30011
30012    return(test_ret);
30013}
30014
30015
30016static int
30017test_xmlNewTextReaderFilename(void) {
30018    int test_ret = 0;
30019
30020#if defined(LIBXML_READER_ENABLED)
30021    int mem_base;
30022    xmlTextReaderPtr ret_val;
30023    const char * URI; /* the URI of the resource to process */
30024    int n_URI;
30025
30026    for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
30027        mem_base = xmlMemBlocks();
30028        URI = gen_filepath(n_URI, 0);
30029
30030        ret_val = xmlNewTextReaderFilename(URI);
30031        desret_xmlTextReaderPtr(ret_val);
30032        call_tests++;
30033        des_filepath(n_URI, URI, 0);
30034        xmlResetLastError();
30035        if (mem_base != xmlMemBlocks()) {
30036            printf("Leak of %d blocks found in xmlNewTextReaderFilename",
30037	           xmlMemBlocks() - mem_base);
30038	    test_ret++;
30039            printf(" %d", n_URI);
30040            printf("\n");
30041        }
30042    }
30043    function_tests++;
30044#endif
30045
30046    return(test_ret);
30047}
30048
30049
30050static int
30051test_xmlReaderForDoc(void) {
30052    int test_ret = 0;
30053
30054#if defined(LIBXML_READER_ENABLED)
30055    int mem_base;
30056    xmlTextReaderPtr ret_val;
30057    xmlChar * cur; /* a pointer to a zero terminated string */
30058    int n_cur;
30059    const char * URL; /* the base URL to use for the document */
30060    int n_URL;
30061    char * encoding; /* the document encoding, or NULL */
30062    int n_encoding;
30063    int options; /* a combination of xmlParserOption */
30064    int n_options;
30065
30066    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
30067    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
30068    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30069    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30070        mem_base = xmlMemBlocks();
30071        cur = gen_const_xmlChar_ptr(n_cur, 0);
30072        URL = gen_filepath(n_URL, 1);
30073        encoding = gen_const_char_ptr(n_encoding, 2);
30074        options = gen_parseroptions(n_options, 3);
30075
30076        ret_val = xmlReaderForDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
30077        desret_xmlTextReaderPtr(ret_val);
30078        call_tests++;
30079        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
30080        des_filepath(n_URL, URL, 1);
30081        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
30082        des_parseroptions(n_options, options, 3);
30083        xmlResetLastError();
30084        if (mem_base != xmlMemBlocks()) {
30085            printf("Leak of %d blocks found in xmlReaderForDoc",
30086	           xmlMemBlocks() - mem_base);
30087	    test_ret++;
30088            printf(" %d", n_cur);
30089            printf(" %d", n_URL);
30090            printf(" %d", n_encoding);
30091            printf(" %d", n_options);
30092            printf("\n");
30093        }
30094    }
30095    }
30096    }
30097    }
30098    function_tests++;
30099#endif
30100
30101    return(test_ret);
30102}
30103
30104
30105static int
30106test_xmlReaderForFile(void) {
30107    int test_ret = 0;
30108
30109#if defined(LIBXML_READER_ENABLED)
30110    int mem_base;
30111    xmlTextReaderPtr ret_val;
30112    const char * filename; /* a file or URL */
30113    int n_filename;
30114    char * encoding; /* the document encoding, or NULL */
30115    int n_encoding;
30116    int options; /* a combination of xmlParserOption */
30117    int n_options;
30118
30119    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
30120    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30121    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30122        mem_base = xmlMemBlocks();
30123        filename = gen_filepath(n_filename, 0);
30124        encoding = gen_const_char_ptr(n_encoding, 1);
30125        options = gen_parseroptions(n_options, 2);
30126
30127        ret_val = xmlReaderForFile(filename, (const char *)encoding, options);
30128        desret_xmlTextReaderPtr(ret_val);
30129        call_tests++;
30130        des_filepath(n_filename, filename, 0);
30131        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
30132        des_parseroptions(n_options, options, 2);
30133        xmlResetLastError();
30134        if (mem_base != xmlMemBlocks()) {
30135            printf("Leak of %d blocks found in xmlReaderForFile",
30136	           xmlMemBlocks() - mem_base);
30137	    test_ret++;
30138            printf(" %d", n_filename);
30139            printf(" %d", n_encoding);
30140            printf(" %d", n_options);
30141            printf("\n");
30142        }
30143    }
30144    }
30145    }
30146    function_tests++;
30147#endif
30148
30149    return(test_ret);
30150}
30151
30152
30153static int
30154test_xmlReaderForMemory(void) {
30155    int test_ret = 0;
30156
30157#if defined(LIBXML_READER_ENABLED)
30158    int mem_base;
30159    xmlTextReaderPtr ret_val;
30160    char * buffer; /* a pointer to a char array */
30161    int n_buffer;
30162    int size; /* the size of the array */
30163    int n_size;
30164    const char * URL; /* the base URL to use for the document */
30165    int n_URL;
30166    char * encoding; /* the document encoding, or NULL */
30167    int n_encoding;
30168    int options; /* a combination of xmlParserOption */
30169    int n_options;
30170
30171    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
30172    for (n_size = 0;n_size < gen_nb_int;n_size++) {
30173    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
30174    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30175    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30176        mem_base = xmlMemBlocks();
30177        buffer = gen_const_char_ptr(n_buffer, 0);
30178        size = gen_int(n_size, 1);
30179        URL = gen_filepath(n_URL, 2);
30180        encoding = gen_const_char_ptr(n_encoding, 3);
30181        options = gen_parseroptions(n_options, 4);
30182
30183        ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
30184        desret_xmlTextReaderPtr(ret_val);
30185        call_tests++;
30186        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
30187        des_int(n_size, size, 1);
30188        des_filepath(n_URL, URL, 2);
30189        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
30190        des_parseroptions(n_options, options, 4);
30191        xmlResetLastError();
30192        if (mem_base != xmlMemBlocks()) {
30193            printf("Leak of %d blocks found in xmlReaderForMemory",
30194	           xmlMemBlocks() - mem_base);
30195	    test_ret++;
30196            printf(" %d", n_buffer);
30197            printf(" %d", n_size);
30198            printf(" %d", n_URL);
30199            printf(" %d", n_encoding);
30200            printf(" %d", n_options);
30201            printf("\n");
30202        }
30203    }
30204    }
30205    }
30206    }
30207    }
30208    function_tests++;
30209#endif
30210
30211    return(test_ret);
30212}
30213
30214
30215static int
30216test_xmlReaderNewDoc(void) {
30217    int test_ret = 0;
30218
30219#if defined(LIBXML_READER_ENABLED)
30220    int mem_base;
30221    int ret_val;
30222    xmlTextReaderPtr reader; /* an XML reader */
30223    int n_reader;
30224    xmlChar * cur; /* a pointer to a zero terminated string */
30225    int n_cur;
30226    const char * URL; /* the base URL to use for the document */
30227    int n_URL;
30228    char * encoding; /* the document encoding, or NULL */
30229    int n_encoding;
30230    int options; /* a combination of xmlParserOption */
30231    int n_options;
30232
30233    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30234    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
30235    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
30236    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30237    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30238        mem_base = xmlMemBlocks();
30239        reader = gen_xmlTextReaderPtr(n_reader, 0);
30240        cur = gen_const_xmlChar_ptr(n_cur, 1);
30241        URL = gen_filepath(n_URL, 2);
30242        encoding = gen_const_char_ptr(n_encoding, 3);
30243        options = gen_parseroptions(n_options, 4);
30244
30245        ret_val = xmlReaderNewDoc(reader, (const xmlChar *)cur, URL, (const char *)encoding, options);
30246        desret_int(ret_val);
30247        call_tests++;
30248        des_xmlTextReaderPtr(n_reader, reader, 0);
30249        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
30250        des_filepath(n_URL, URL, 2);
30251        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
30252        des_parseroptions(n_options, options, 4);
30253        xmlResetLastError();
30254        if (mem_base != xmlMemBlocks()) {
30255            printf("Leak of %d blocks found in xmlReaderNewDoc",
30256	           xmlMemBlocks() - mem_base);
30257	    test_ret++;
30258            printf(" %d", n_reader);
30259            printf(" %d", n_cur);
30260            printf(" %d", n_URL);
30261            printf(" %d", n_encoding);
30262            printf(" %d", n_options);
30263            printf("\n");
30264        }
30265    }
30266    }
30267    }
30268    }
30269    }
30270    function_tests++;
30271#endif
30272
30273    return(test_ret);
30274}
30275
30276
30277static int
30278test_xmlReaderNewFile(void) {
30279    int test_ret = 0;
30280
30281#if defined(LIBXML_READER_ENABLED)
30282    int mem_base;
30283    int ret_val;
30284    xmlTextReaderPtr reader; /* an XML reader */
30285    int n_reader;
30286    const char * filename; /* a file or URL */
30287    int n_filename;
30288    char * encoding; /* the document encoding, or NULL */
30289    int n_encoding;
30290    int options; /* a combination of xmlParserOption */
30291    int n_options;
30292
30293    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30294    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
30295    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30296    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30297        mem_base = xmlMemBlocks();
30298        reader = gen_xmlTextReaderPtr(n_reader, 0);
30299        filename = gen_filepath(n_filename, 1);
30300        encoding = gen_const_char_ptr(n_encoding, 2);
30301        options = gen_parseroptions(n_options, 3);
30302
30303        ret_val = xmlReaderNewFile(reader, filename, (const char *)encoding, options);
30304        desret_int(ret_val);
30305        call_tests++;
30306        des_xmlTextReaderPtr(n_reader, reader, 0);
30307        des_filepath(n_filename, filename, 1);
30308        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
30309        des_parseroptions(n_options, options, 3);
30310        xmlResetLastError();
30311        if (mem_base != xmlMemBlocks()) {
30312            printf("Leak of %d blocks found in xmlReaderNewFile",
30313	           xmlMemBlocks() - mem_base);
30314	    test_ret++;
30315            printf(" %d", n_reader);
30316            printf(" %d", n_filename);
30317            printf(" %d", n_encoding);
30318            printf(" %d", n_options);
30319            printf("\n");
30320        }
30321    }
30322    }
30323    }
30324    }
30325    function_tests++;
30326#endif
30327
30328    return(test_ret);
30329}
30330
30331
30332static int
30333test_xmlReaderNewMemory(void) {
30334    int test_ret = 0;
30335
30336#if defined(LIBXML_READER_ENABLED)
30337    int mem_base;
30338    int ret_val;
30339    xmlTextReaderPtr reader; /* an XML reader */
30340    int n_reader;
30341    char * buffer; /* a pointer to a char array */
30342    int n_buffer;
30343    int size; /* the size of the array */
30344    int n_size;
30345    const char * URL; /* the base URL to use for the document */
30346    int n_URL;
30347    char * encoding; /* the document encoding, or NULL */
30348    int n_encoding;
30349    int options; /* a combination of xmlParserOption */
30350    int n_options;
30351
30352    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30353    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
30354    for (n_size = 0;n_size < gen_nb_int;n_size++) {
30355    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
30356    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
30357    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
30358        mem_base = xmlMemBlocks();
30359        reader = gen_xmlTextReaderPtr(n_reader, 0);
30360        buffer = gen_const_char_ptr(n_buffer, 1);
30361        size = gen_int(n_size, 2);
30362        URL = gen_filepath(n_URL, 3);
30363        encoding = gen_const_char_ptr(n_encoding, 4);
30364        options = gen_parseroptions(n_options, 5);
30365
30366        ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
30367        desret_int(ret_val);
30368        call_tests++;
30369        des_xmlTextReaderPtr(n_reader, reader, 0);
30370        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
30371        des_int(n_size, size, 2);
30372        des_filepath(n_URL, URL, 3);
30373        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
30374        des_parseroptions(n_options, options, 5);
30375        xmlResetLastError();
30376        if (mem_base != xmlMemBlocks()) {
30377            printf("Leak of %d blocks found in xmlReaderNewMemory",
30378	           xmlMemBlocks() - mem_base);
30379	    test_ret++;
30380            printf(" %d", n_reader);
30381            printf(" %d", n_buffer);
30382            printf(" %d", n_size);
30383            printf(" %d", n_URL);
30384            printf(" %d", n_encoding);
30385            printf(" %d", n_options);
30386            printf("\n");
30387        }
30388    }
30389    }
30390    }
30391    }
30392    }
30393    }
30394    function_tests++;
30395#endif
30396
30397    return(test_ret);
30398}
30399
30400
30401static int
30402test_xmlReaderNewWalker(void) {
30403    int test_ret = 0;
30404
30405#if defined(LIBXML_READER_ENABLED)
30406    int mem_base;
30407    int ret_val;
30408    xmlTextReaderPtr reader; /* an XML reader */
30409    int n_reader;
30410    xmlDocPtr doc; /* a preparsed document */
30411    int n_doc;
30412
30413    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30414    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
30415        mem_base = xmlMemBlocks();
30416        reader = gen_xmlTextReaderPtr(n_reader, 0);
30417        doc = gen_xmlDocPtr(n_doc, 1);
30418
30419        ret_val = xmlReaderNewWalker(reader, doc);
30420        desret_int(ret_val);
30421        call_tests++;
30422        des_xmlTextReaderPtr(n_reader, reader, 0);
30423        des_xmlDocPtr(n_doc, doc, 1);
30424        xmlResetLastError();
30425        if (mem_base != xmlMemBlocks()) {
30426            printf("Leak of %d blocks found in xmlReaderNewWalker",
30427	           xmlMemBlocks() - mem_base);
30428	    test_ret++;
30429            printf(" %d", n_reader);
30430            printf(" %d", n_doc);
30431            printf("\n");
30432        }
30433    }
30434    }
30435    function_tests++;
30436#endif
30437
30438    return(test_ret);
30439}
30440
30441
30442static int
30443test_xmlReaderWalker(void) {
30444    int test_ret = 0;
30445
30446#if defined(LIBXML_READER_ENABLED)
30447    int mem_base;
30448    xmlTextReaderPtr ret_val;
30449    xmlDocPtr doc; /* a preparsed document */
30450    int n_doc;
30451
30452    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
30453        mem_base = xmlMemBlocks();
30454        doc = gen_xmlDocPtr(n_doc, 0);
30455
30456        ret_val = xmlReaderWalker(doc);
30457        desret_xmlTextReaderPtr(ret_val);
30458        call_tests++;
30459        des_xmlDocPtr(n_doc, doc, 0);
30460        xmlResetLastError();
30461        if (mem_base != xmlMemBlocks()) {
30462            printf("Leak of %d blocks found in xmlReaderWalker",
30463	           xmlMemBlocks() - mem_base);
30464	    test_ret++;
30465            printf(" %d", n_doc);
30466            printf("\n");
30467        }
30468    }
30469    function_tests++;
30470#endif
30471
30472    return(test_ret);
30473}
30474
30475
30476static int
30477test_xmlTextReaderAttributeCount(void) {
30478    int test_ret = 0;
30479
30480#if defined(LIBXML_READER_ENABLED)
30481    int mem_base;
30482    int ret_val;
30483    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30484    int n_reader;
30485
30486    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30487        mem_base = xmlMemBlocks();
30488        reader = gen_xmlTextReaderPtr(n_reader, 0);
30489
30490        ret_val = xmlTextReaderAttributeCount(reader);
30491        desret_int(ret_val);
30492        call_tests++;
30493        des_xmlTextReaderPtr(n_reader, reader, 0);
30494        xmlResetLastError();
30495        if (mem_base != xmlMemBlocks()) {
30496            printf("Leak of %d blocks found in xmlTextReaderAttributeCount",
30497	           xmlMemBlocks() - mem_base);
30498	    test_ret++;
30499            printf(" %d", n_reader);
30500            printf("\n");
30501        }
30502    }
30503    function_tests++;
30504#endif
30505
30506    return(test_ret);
30507}
30508
30509
30510static int
30511test_xmlTextReaderBaseUri(void) {
30512    int test_ret = 0;
30513
30514#if defined(LIBXML_READER_ENABLED)
30515    int mem_base;
30516    xmlChar * ret_val;
30517    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30518    int n_reader;
30519
30520    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30521        mem_base = xmlMemBlocks();
30522        reader = gen_xmlTextReaderPtr(n_reader, 0);
30523
30524        ret_val = xmlTextReaderBaseUri(reader);
30525        desret_xmlChar_ptr(ret_val);
30526        call_tests++;
30527        des_xmlTextReaderPtr(n_reader, reader, 0);
30528        xmlResetLastError();
30529        if (mem_base != xmlMemBlocks()) {
30530            printf("Leak of %d blocks found in xmlTextReaderBaseUri",
30531	           xmlMemBlocks() - mem_base);
30532	    test_ret++;
30533            printf(" %d", n_reader);
30534            printf("\n");
30535        }
30536    }
30537    function_tests++;
30538#endif
30539
30540    return(test_ret);
30541}
30542
30543
30544static int
30545test_xmlTextReaderByteConsumed(void) {
30546    int test_ret = 0;
30547
30548#if defined(LIBXML_READER_ENABLED)
30549    int mem_base;
30550    long ret_val;
30551    xmlTextReaderPtr reader; /* an XML reader */
30552    int n_reader;
30553
30554    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30555        mem_base = xmlMemBlocks();
30556        reader = gen_xmlTextReaderPtr(n_reader, 0);
30557
30558        ret_val = xmlTextReaderByteConsumed(reader);
30559        desret_long(ret_val);
30560        call_tests++;
30561        des_xmlTextReaderPtr(n_reader, reader, 0);
30562        xmlResetLastError();
30563        if (mem_base != xmlMemBlocks()) {
30564            printf("Leak of %d blocks found in xmlTextReaderByteConsumed",
30565	           xmlMemBlocks() - mem_base);
30566	    test_ret++;
30567            printf(" %d", n_reader);
30568            printf("\n");
30569        }
30570    }
30571    function_tests++;
30572#endif
30573
30574    return(test_ret);
30575}
30576
30577
30578static int
30579test_xmlTextReaderClose(void) {
30580    int test_ret = 0;
30581
30582#if defined(LIBXML_READER_ENABLED)
30583    int mem_base;
30584    int ret_val;
30585    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30586    int n_reader;
30587
30588    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30589        mem_base = xmlMemBlocks();
30590        reader = gen_xmlTextReaderPtr(n_reader, 0);
30591
30592        ret_val = xmlTextReaderClose(reader);
30593        desret_int(ret_val);
30594        call_tests++;
30595        des_xmlTextReaderPtr(n_reader, reader, 0);
30596        xmlResetLastError();
30597        if (mem_base != xmlMemBlocks()) {
30598            printf("Leak of %d blocks found in xmlTextReaderClose",
30599	           xmlMemBlocks() - mem_base);
30600	    test_ret++;
30601            printf(" %d", n_reader);
30602            printf("\n");
30603        }
30604    }
30605    function_tests++;
30606#endif
30607
30608    return(test_ret);
30609}
30610
30611
30612static int
30613test_xmlTextReaderConstBaseUri(void) {
30614    int test_ret = 0;
30615
30616#if defined(LIBXML_READER_ENABLED)
30617    int mem_base;
30618    const xmlChar * ret_val;
30619    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30620    int n_reader;
30621
30622    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30623        mem_base = xmlMemBlocks();
30624        reader = gen_xmlTextReaderPtr(n_reader, 0);
30625
30626        ret_val = xmlTextReaderConstBaseUri(reader);
30627        desret_const_xmlChar_ptr(ret_val);
30628        call_tests++;
30629        des_xmlTextReaderPtr(n_reader, reader, 0);
30630        xmlResetLastError();
30631        if (mem_base != xmlMemBlocks()) {
30632            printf("Leak of %d blocks found in xmlTextReaderConstBaseUri",
30633	           xmlMemBlocks() - mem_base);
30634	    test_ret++;
30635            printf(" %d", n_reader);
30636            printf("\n");
30637        }
30638    }
30639    function_tests++;
30640#endif
30641
30642    return(test_ret);
30643}
30644
30645
30646static int
30647test_xmlTextReaderConstEncoding(void) {
30648    int test_ret = 0;
30649
30650#if defined(LIBXML_READER_ENABLED)
30651    int mem_base;
30652    const xmlChar * ret_val;
30653    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30654    int n_reader;
30655
30656    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30657        mem_base = xmlMemBlocks();
30658        reader = gen_xmlTextReaderPtr(n_reader, 0);
30659
30660        ret_val = xmlTextReaderConstEncoding(reader);
30661        desret_const_xmlChar_ptr(ret_val);
30662        call_tests++;
30663        des_xmlTextReaderPtr(n_reader, reader, 0);
30664        xmlResetLastError();
30665        if (mem_base != xmlMemBlocks()) {
30666            printf("Leak of %d blocks found in xmlTextReaderConstEncoding",
30667	           xmlMemBlocks() - mem_base);
30668	    test_ret++;
30669            printf(" %d", n_reader);
30670            printf("\n");
30671        }
30672    }
30673    function_tests++;
30674#endif
30675
30676    return(test_ret);
30677}
30678
30679
30680static int
30681test_xmlTextReaderConstLocalName(void) {
30682    int test_ret = 0;
30683
30684#if defined(LIBXML_READER_ENABLED)
30685    int mem_base;
30686    const xmlChar * ret_val;
30687    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30688    int n_reader;
30689
30690    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30691        mem_base = xmlMemBlocks();
30692        reader = gen_xmlTextReaderPtr(n_reader, 0);
30693
30694        ret_val = xmlTextReaderConstLocalName(reader);
30695        desret_const_xmlChar_ptr(ret_val);
30696        call_tests++;
30697        des_xmlTextReaderPtr(n_reader, reader, 0);
30698        xmlResetLastError();
30699        if (mem_base != xmlMemBlocks()) {
30700            printf("Leak of %d blocks found in xmlTextReaderConstLocalName",
30701	           xmlMemBlocks() - mem_base);
30702	    test_ret++;
30703            printf(" %d", n_reader);
30704            printf("\n");
30705        }
30706    }
30707    function_tests++;
30708#endif
30709
30710    return(test_ret);
30711}
30712
30713
30714static int
30715test_xmlTextReaderConstName(void) {
30716    int test_ret = 0;
30717
30718#if defined(LIBXML_READER_ENABLED)
30719    int mem_base;
30720    const xmlChar * ret_val;
30721    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30722    int n_reader;
30723
30724    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30725        mem_base = xmlMemBlocks();
30726        reader = gen_xmlTextReaderPtr(n_reader, 0);
30727
30728        ret_val = xmlTextReaderConstName(reader);
30729        desret_const_xmlChar_ptr(ret_val);
30730        call_tests++;
30731        des_xmlTextReaderPtr(n_reader, reader, 0);
30732        xmlResetLastError();
30733        if (mem_base != xmlMemBlocks()) {
30734            printf("Leak of %d blocks found in xmlTextReaderConstName",
30735	           xmlMemBlocks() - mem_base);
30736	    test_ret++;
30737            printf(" %d", n_reader);
30738            printf("\n");
30739        }
30740    }
30741    function_tests++;
30742#endif
30743
30744    return(test_ret);
30745}
30746
30747
30748static int
30749test_xmlTextReaderConstNamespaceUri(void) {
30750    int test_ret = 0;
30751
30752#if defined(LIBXML_READER_ENABLED)
30753    int mem_base;
30754    const xmlChar * ret_val;
30755    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30756    int n_reader;
30757
30758    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30759        mem_base = xmlMemBlocks();
30760        reader = gen_xmlTextReaderPtr(n_reader, 0);
30761
30762        ret_val = xmlTextReaderConstNamespaceUri(reader);
30763        desret_const_xmlChar_ptr(ret_val);
30764        call_tests++;
30765        des_xmlTextReaderPtr(n_reader, reader, 0);
30766        xmlResetLastError();
30767        if (mem_base != xmlMemBlocks()) {
30768            printf("Leak of %d blocks found in xmlTextReaderConstNamespaceUri",
30769	           xmlMemBlocks() - mem_base);
30770	    test_ret++;
30771            printf(" %d", n_reader);
30772            printf("\n");
30773        }
30774    }
30775    function_tests++;
30776#endif
30777
30778    return(test_ret);
30779}
30780
30781
30782static int
30783test_xmlTextReaderConstPrefix(void) {
30784    int test_ret = 0;
30785
30786#if defined(LIBXML_READER_ENABLED)
30787    int mem_base;
30788    const xmlChar * ret_val;
30789    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30790    int n_reader;
30791
30792    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30793        mem_base = xmlMemBlocks();
30794        reader = gen_xmlTextReaderPtr(n_reader, 0);
30795
30796        ret_val = xmlTextReaderConstPrefix(reader);
30797        desret_const_xmlChar_ptr(ret_val);
30798        call_tests++;
30799        des_xmlTextReaderPtr(n_reader, reader, 0);
30800        xmlResetLastError();
30801        if (mem_base != xmlMemBlocks()) {
30802            printf("Leak of %d blocks found in xmlTextReaderConstPrefix",
30803	           xmlMemBlocks() - mem_base);
30804	    test_ret++;
30805            printf(" %d", n_reader);
30806            printf("\n");
30807        }
30808    }
30809    function_tests++;
30810#endif
30811
30812    return(test_ret);
30813}
30814
30815
30816static int
30817test_xmlTextReaderConstString(void) {
30818    int test_ret = 0;
30819
30820#if defined(LIBXML_READER_ENABLED)
30821    int mem_base;
30822    const xmlChar * ret_val;
30823    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30824    int n_reader;
30825    xmlChar * str; /* the string to intern. */
30826    int n_str;
30827
30828    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30829    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
30830        mem_base = xmlMemBlocks();
30831        reader = gen_xmlTextReaderPtr(n_reader, 0);
30832        str = gen_const_xmlChar_ptr(n_str, 1);
30833
30834        ret_val = xmlTextReaderConstString(reader, (const xmlChar *)str);
30835        desret_const_xmlChar_ptr(ret_val);
30836        call_tests++;
30837        des_xmlTextReaderPtr(n_reader, reader, 0);
30838        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
30839        xmlResetLastError();
30840        if (mem_base != xmlMemBlocks()) {
30841            printf("Leak of %d blocks found in xmlTextReaderConstString",
30842	           xmlMemBlocks() - mem_base);
30843	    test_ret++;
30844            printf(" %d", n_reader);
30845            printf(" %d", n_str);
30846            printf("\n");
30847        }
30848    }
30849    }
30850    function_tests++;
30851#endif
30852
30853    return(test_ret);
30854}
30855
30856
30857static int
30858test_xmlTextReaderConstValue(void) {
30859    int test_ret = 0;
30860
30861#if defined(LIBXML_READER_ENABLED)
30862    int mem_base;
30863    const xmlChar * ret_val;
30864    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30865    int n_reader;
30866
30867    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30868        mem_base = xmlMemBlocks();
30869        reader = gen_xmlTextReaderPtr(n_reader, 0);
30870
30871        ret_val = xmlTextReaderConstValue(reader);
30872        desret_const_xmlChar_ptr(ret_val);
30873        call_tests++;
30874        des_xmlTextReaderPtr(n_reader, reader, 0);
30875        xmlResetLastError();
30876        if (mem_base != xmlMemBlocks()) {
30877            printf("Leak of %d blocks found in xmlTextReaderConstValue",
30878	           xmlMemBlocks() - mem_base);
30879	    test_ret++;
30880            printf(" %d", n_reader);
30881            printf("\n");
30882        }
30883    }
30884    function_tests++;
30885#endif
30886
30887    return(test_ret);
30888}
30889
30890
30891static int
30892test_xmlTextReaderConstXmlLang(void) {
30893    int test_ret = 0;
30894
30895#if defined(LIBXML_READER_ENABLED)
30896    int mem_base;
30897    const xmlChar * ret_val;
30898    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30899    int n_reader;
30900
30901    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30902        mem_base = xmlMemBlocks();
30903        reader = gen_xmlTextReaderPtr(n_reader, 0);
30904
30905        ret_val = xmlTextReaderConstXmlLang(reader);
30906        desret_const_xmlChar_ptr(ret_val);
30907        call_tests++;
30908        des_xmlTextReaderPtr(n_reader, reader, 0);
30909        xmlResetLastError();
30910        if (mem_base != xmlMemBlocks()) {
30911            printf("Leak of %d blocks found in xmlTextReaderConstXmlLang",
30912	           xmlMemBlocks() - mem_base);
30913	    test_ret++;
30914            printf(" %d", n_reader);
30915            printf("\n");
30916        }
30917    }
30918    function_tests++;
30919#endif
30920
30921    return(test_ret);
30922}
30923
30924
30925static int
30926test_xmlTextReaderConstXmlVersion(void) {
30927    int test_ret = 0;
30928
30929#if defined(LIBXML_READER_ENABLED)
30930    int mem_base;
30931    const xmlChar * ret_val;
30932    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30933    int n_reader;
30934
30935    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30936        mem_base = xmlMemBlocks();
30937        reader = gen_xmlTextReaderPtr(n_reader, 0);
30938
30939        ret_val = xmlTextReaderConstXmlVersion(reader);
30940        desret_const_xmlChar_ptr(ret_val);
30941        call_tests++;
30942        des_xmlTextReaderPtr(n_reader, reader, 0);
30943        xmlResetLastError();
30944        if (mem_base != xmlMemBlocks()) {
30945            printf("Leak of %d blocks found in xmlTextReaderConstXmlVersion",
30946	           xmlMemBlocks() - mem_base);
30947	    test_ret++;
30948            printf(" %d", n_reader);
30949            printf("\n");
30950        }
30951    }
30952    function_tests++;
30953#endif
30954
30955    return(test_ret);
30956}
30957
30958
30959static int
30960test_xmlTextReaderCurrentDoc(void) {
30961    int test_ret = 0;
30962
30963#if defined(LIBXML_READER_ENABLED)
30964    int mem_base;
30965    xmlDocPtr ret_val;
30966    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
30967    int n_reader;
30968
30969    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
30970        mem_base = xmlMemBlocks();
30971        reader = gen_xmlTextReaderPtr(n_reader, 0);
30972
30973        ret_val = xmlTextReaderCurrentDoc(reader);
30974        desret_xmlDocPtr(ret_val);
30975        call_tests++;
30976        des_xmlTextReaderPtr(n_reader, reader, 0);
30977        xmlResetLastError();
30978        if (mem_base != xmlMemBlocks()) {
30979            printf("Leak of %d blocks found in xmlTextReaderCurrentDoc",
30980	           xmlMemBlocks() - mem_base);
30981	    test_ret++;
30982            printf(" %d", n_reader);
30983            printf("\n");
30984        }
30985    }
30986    function_tests++;
30987#endif
30988
30989    return(test_ret);
30990}
30991
30992
30993static int
30994test_xmlTextReaderCurrentNode(void) {
30995    int test_ret = 0;
30996
30997#if defined(LIBXML_READER_ENABLED)
30998    int mem_base;
30999    xmlNodePtr ret_val;
31000    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31001    int n_reader;
31002
31003    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31004        mem_base = xmlMemBlocks();
31005        reader = gen_xmlTextReaderPtr(n_reader, 0);
31006
31007        ret_val = xmlTextReaderCurrentNode(reader);
31008        desret_xmlNodePtr(ret_val);
31009        call_tests++;
31010        des_xmlTextReaderPtr(n_reader, reader, 0);
31011        xmlResetLastError();
31012        if (mem_base != xmlMemBlocks()) {
31013            printf("Leak of %d blocks found in xmlTextReaderCurrentNode",
31014	           xmlMemBlocks() - mem_base);
31015	    test_ret++;
31016            printf(" %d", n_reader);
31017            printf("\n");
31018        }
31019    }
31020    function_tests++;
31021#endif
31022
31023    return(test_ret);
31024}
31025
31026
31027static int
31028test_xmlTextReaderDepth(void) {
31029    int test_ret = 0;
31030
31031#if defined(LIBXML_READER_ENABLED)
31032    int mem_base;
31033    int ret_val;
31034    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31035    int n_reader;
31036
31037    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31038        mem_base = xmlMemBlocks();
31039        reader = gen_xmlTextReaderPtr(n_reader, 0);
31040
31041        ret_val = xmlTextReaderDepth(reader);
31042        desret_int(ret_val);
31043        call_tests++;
31044        des_xmlTextReaderPtr(n_reader, reader, 0);
31045        xmlResetLastError();
31046        if (mem_base != xmlMemBlocks()) {
31047            printf("Leak of %d blocks found in xmlTextReaderDepth",
31048	           xmlMemBlocks() - mem_base);
31049	    test_ret++;
31050            printf(" %d", n_reader);
31051            printf("\n");
31052        }
31053    }
31054    function_tests++;
31055#endif
31056
31057    return(test_ret);
31058}
31059
31060
31061static int
31062test_xmlTextReaderExpand(void) {
31063    int test_ret = 0;
31064
31065#if defined(LIBXML_READER_ENABLED)
31066    int mem_base;
31067    xmlNodePtr ret_val;
31068    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31069    int n_reader;
31070
31071    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31072        mem_base = xmlMemBlocks();
31073        reader = gen_xmlTextReaderPtr(n_reader, 0);
31074
31075        ret_val = xmlTextReaderExpand(reader);
31076        desret_xmlNodePtr(ret_val);
31077        call_tests++;
31078        des_xmlTextReaderPtr(n_reader, reader, 0);
31079        xmlResetLastError();
31080        if (mem_base != xmlMemBlocks()) {
31081            printf("Leak of %d blocks found in xmlTextReaderExpand",
31082	           xmlMemBlocks() - mem_base);
31083	    test_ret++;
31084            printf(" %d", n_reader);
31085            printf("\n");
31086        }
31087    }
31088    function_tests++;
31089#endif
31090
31091    return(test_ret);
31092}
31093
31094
31095static int
31096test_xmlTextReaderGetAttribute(void) {
31097    int test_ret = 0;
31098
31099#if defined(LIBXML_READER_ENABLED)
31100    int mem_base;
31101    xmlChar * ret_val;
31102    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31103    int n_reader;
31104    xmlChar * name; /* the qualified name of the attribute. */
31105    int n_name;
31106
31107    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31108    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
31109        mem_base = xmlMemBlocks();
31110        reader = gen_xmlTextReaderPtr(n_reader, 0);
31111        name = gen_const_xmlChar_ptr(n_name, 1);
31112
31113        ret_val = xmlTextReaderGetAttribute(reader, (const xmlChar *)name);
31114        desret_xmlChar_ptr(ret_val);
31115        call_tests++;
31116        des_xmlTextReaderPtr(n_reader, reader, 0);
31117        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
31118        xmlResetLastError();
31119        if (mem_base != xmlMemBlocks()) {
31120            printf("Leak of %d blocks found in xmlTextReaderGetAttribute",
31121	           xmlMemBlocks() - mem_base);
31122	    test_ret++;
31123            printf(" %d", n_reader);
31124            printf(" %d", n_name);
31125            printf("\n");
31126        }
31127    }
31128    }
31129    function_tests++;
31130#endif
31131
31132    return(test_ret);
31133}
31134
31135
31136static int
31137test_xmlTextReaderGetAttributeNo(void) {
31138    int test_ret = 0;
31139
31140#if defined(LIBXML_READER_ENABLED)
31141    int mem_base;
31142    xmlChar * ret_val;
31143    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31144    int n_reader;
31145    int no; /* the zero-based index of the attribute relative to the containing element */
31146    int n_no;
31147
31148    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31149    for (n_no = 0;n_no < gen_nb_int;n_no++) {
31150        mem_base = xmlMemBlocks();
31151        reader = gen_xmlTextReaderPtr(n_reader, 0);
31152        no = gen_int(n_no, 1);
31153
31154        ret_val = xmlTextReaderGetAttributeNo(reader, no);
31155        desret_xmlChar_ptr(ret_val);
31156        call_tests++;
31157        des_xmlTextReaderPtr(n_reader, reader, 0);
31158        des_int(n_no, no, 1);
31159        xmlResetLastError();
31160        if (mem_base != xmlMemBlocks()) {
31161            printf("Leak of %d blocks found in xmlTextReaderGetAttributeNo",
31162	           xmlMemBlocks() - mem_base);
31163	    test_ret++;
31164            printf(" %d", n_reader);
31165            printf(" %d", n_no);
31166            printf("\n");
31167        }
31168    }
31169    }
31170    function_tests++;
31171#endif
31172
31173    return(test_ret);
31174}
31175
31176
31177static int
31178test_xmlTextReaderGetAttributeNs(void) {
31179    int test_ret = 0;
31180
31181#if defined(LIBXML_READER_ENABLED)
31182    int mem_base;
31183    xmlChar * ret_val;
31184    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31185    int n_reader;
31186    xmlChar * localName; /* the local name of the attribute. */
31187    int n_localName;
31188    xmlChar * namespaceURI; /* the namespace URI of the attribute. */
31189    int n_namespaceURI;
31190
31191    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31192    for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
31193    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
31194        mem_base = xmlMemBlocks();
31195        reader = gen_xmlTextReaderPtr(n_reader, 0);
31196        localName = gen_const_xmlChar_ptr(n_localName, 1);
31197        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
31198
31199        ret_val = xmlTextReaderGetAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
31200        desret_xmlChar_ptr(ret_val);
31201        call_tests++;
31202        des_xmlTextReaderPtr(n_reader, reader, 0);
31203        des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
31204        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
31205        xmlResetLastError();
31206        if (mem_base != xmlMemBlocks()) {
31207            printf("Leak of %d blocks found in xmlTextReaderGetAttributeNs",
31208	           xmlMemBlocks() - mem_base);
31209	    test_ret++;
31210            printf(" %d", n_reader);
31211            printf(" %d", n_localName);
31212            printf(" %d", n_namespaceURI);
31213            printf("\n");
31214        }
31215    }
31216    }
31217    }
31218    function_tests++;
31219#endif
31220
31221    return(test_ret);
31222}
31223
31224#ifdef LIBXML_READER_ENABLED
31225
31226#define gen_nb_xmlTextReaderErrorFunc_ptr 1
31227static xmlTextReaderErrorFunc * gen_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
31228    return(NULL);
31229}
31230static void des_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlTextReaderErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
31231}
31232#endif
31233
31234
31235static int
31236test_xmlTextReaderGetErrorHandler(void) {
31237    int test_ret = 0;
31238
31239#if defined(LIBXML_READER_ENABLED)
31240    int mem_base;
31241    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31242    int n_reader;
31243    xmlTextReaderErrorFunc * f; /* the callback function or NULL is no callback has been registered */
31244    int n_f;
31245    void ** arg; /* a user argument */
31246    int n_arg;
31247
31248    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31249    for (n_f = 0;n_f < gen_nb_xmlTextReaderErrorFunc_ptr;n_f++) {
31250    for (n_arg = 0;n_arg < gen_nb_void_ptr_ptr;n_arg++) {
31251        mem_base = xmlMemBlocks();
31252        reader = gen_xmlTextReaderPtr(n_reader, 0);
31253        f = gen_xmlTextReaderErrorFunc_ptr(n_f, 1);
31254        arg = gen_void_ptr_ptr(n_arg, 2);
31255
31256        xmlTextReaderGetErrorHandler(reader, f, arg);
31257        call_tests++;
31258        des_xmlTextReaderPtr(n_reader, reader, 0);
31259        des_xmlTextReaderErrorFunc_ptr(n_f, f, 1);
31260        des_void_ptr_ptr(n_arg, arg, 2);
31261        xmlResetLastError();
31262        if (mem_base != xmlMemBlocks()) {
31263            printf("Leak of %d blocks found in xmlTextReaderGetErrorHandler",
31264	           xmlMemBlocks() - mem_base);
31265	    test_ret++;
31266            printf(" %d", n_reader);
31267            printf(" %d", n_f);
31268            printf(" %d", n_arg);
31269            printf("\n");
31270        }
31271    }
31272    }
31273    }
31274    function_tests++;
31275#endif
31276
31277    return(test_ret);
31278}
31279
31280
31281static int
31282test_xmlTextReaderGetParserColumnNumber(void) {
31283    int test_ret = 0;
31284
31285#if defined(LIBXML_READER_ENABLED)
31286    int mem_base;
31287    int ret_val;
31288    xmlTextReaderPtr reader; /* the user data (XML reader context) */
31289    int n_reader;
31290
31291    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31292        mem_base = xmlMemBlocks();
31293        reader = gen_xmlTextReaderPtr(n_reader, 0);
31294
31295        ret_val = xmlTextReaderGetParserColumnNumber(reader);
31296        desret_int(ret_val);
31297        call_tests++;
31298        des_xmlTextReaderPtr(n_reader, reader, 0);
31299        xmlResetLastError();
31300        if (mem_base != xmlMemBlocks()) {
31301            printf("Leak of %d blocks found in xmlTextReaderGetParserColumnNumber",
31302	           xmlMemBlocks() - mem_base);
31303	    test_ret++;
31304            printf(" %d", n_reader);
31305            printf("\n");
31306        }
31307    }
31308    function_tests++;
31309#endif
31310
31311    return(test_ret);
31312}
31313
31314
31315static int
31316test_xmlTextReaderGetParserLineNumber(void) {
31317    int test_ret = 0;
31318
31319#if defined(LIBXML_READER_ENABLED)
31320    int mem_base;
31321    int ret_val;
31322    xmlTextReaderPtr reader; /* the user data (XML reader context) */
31323    int n_reader;
31324
31325    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31326        mem_base = xmlMemBlocks();
31327        reader = gen_xmlTextReaderPtr(n_reader, 0);
31328
31329        ret_val = xmlTextReaderGetParserLineNumber(reader);
31330        desret_int(ret_val);
31331        call_tests++;
31332        des_xmlTextReaderPtr(n_reader, reader, 0);
31333        xmlResetLastError();
31334        if (mem_base != xmlMemBlocks()) {
31335            printf("Leak of %d blocks found in xmlTextReaderGetParserLineNumber",
31336	           xmlMemBlocks() - mem_base);
31337	    test_ret++;
31338            printf(" %d", n_reader);
31339            printf("\n");
31340        }
31341    }
31342    function_tests++;
31343#endif
31344
31345    return(test_ret);
31346}
31347
31348
31349static int
31350test_xmlTextReaderGetParserProp(void) {
31351    int test_ret = 0;
31352
31353#if defined(LIBXML_READER_ENABLED)
31354    int mem_base;
31355    int ret_val;
31356    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31357    int n_reader;
31358    int prop; /* the xmlParserProperties to get */
31359    int n_prop;
31360
31361    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31362    for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
31363        mem_base = xmlMemBlocks();
31364        reader = gen_xmlTextReaderPtr(n_reader, 0);
31365        prop = gen_int(n_prop, 1);
31366
31367        ret_val = xmlTextReaderGetParserProp(reader, prop);
31368        desret_int(ret_val);
31369        call_tests++;
31370        des_xmlTextReaderPtr(n_reader, reader, 0);
31371        des_int(n_prop, prop, 1);
31372        xmlResetLastError();
31373        if (mem_base != xmlMemBlocks()) {
31374            printf("Leak of %d blocks found in xmlTextReaderGetParserProp",
31375	           xmlMemBlocks() - mem_base);
31376	    test_ret++;
31377            printf(" %d", n_reader);
31378            printf(" %d", n_prop);
31379            printf("\n");
31380        }
31381    }
31382    }
31383    function_tests++;
31384#endif
31385
31386    return(test_ret);
31387}
31388
31389
31390static int
31391test_xmlTextReaderGetRemainder(void) {
31392    int test_ret = 0;
31393
31394#if defined(LIBXML_READER_ENABLED)
31395    int mem_base;
31396    xmlParserInputBufferPtr ret_val;
31397    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31398    int n_reader;
31399
31400    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31401        mem_base = xmlMemBlocks();
31402        reader = gen_xmlTextReaderPtr(n_reader, 0);
31403
31404        ret_val = xmlTextReaderGetRemainder(reader);
31405        desret_xmlParserInputBufferPtr(ret_val);
31406        call_tests++;
31407        des_xmlTextReaderPtr(n_reader, reader, 0);
31408        xmlResetLastError();
31409        if (mem_base != xmlMemBlocks()) {
31410            printf("Leak of %d blocks found in xmlTextReaderGetRemainder",
31411	           xmlMemBlocks() - mem_base);
31412	    test_ret++;
31413            printf(" %d", n_reader);
31414            printf("\n");
31415        }
31416    }
31417    function_tests++;
31418#endif
31419
31420    return(test_ret);
31421}
31422
31423
31424static int
31425test_xmlTextReaderHasAttributes(void) {
31426    int test_ret = 0;
31427
31428#if defined(LIBXML_READER_ENABLED)
31429    int mem_base;
31430    int ret_val;
31431    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31432    int n_reader;
31433
31434    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31435        mem_base = xmlMemBlocks();
31436        reader = gen_xmlTextReaderPtr(n_reader, 0);
31437
31438        ret_val = xmlTextReaderHasAttributes(reader);
31439        desret_int(ret_val);
31440        call_tests++;
31441        des_xmlTextReaderPtr(n_reader, reader, 0);
31442        xmlResetLastError();
31443        if (mem_base != xmlMemBlocks()) {
31444            printf("Leak of %d blocks found in xmlTextReaderHasAttributes",
31445	           xmlMemBlocks() - mem_base);
31446	    test_ret++;
31447            printf(" %d", n_reader);
31448            printf("\n");
31449        }
31450    }
31451    function_tests++;
31452#endif
31453
31454    return(test_ret);
31455}
31456
31457
31458static int
31459test_xmlTextReaderHasValue(void) {
31460    int test_ret = 0;
31461
31462#if defined(LIBXML_READER_ENABLED)
31463    int mem_base;
31464    int ret_val;
31465    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31466    int n_reader;
31467
31468    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31469        mem_base = xmlMemBlocks();
31470        reader = gen_xmlTextReaderPtr(n_reader, 0);
31471
31472        ret_val = xmlTextReaderHasValue(reader);
31473        desret_int(ret_val);
31474        call_tests++;
31475        des_xmlTextReaderPtr(n_reader, reader, 0);
31476        xmlResetLastError();
31477        if (mem_base != xmlMemBlocks()) {
31478            printf("Leak of %d blocks found in xmlTextReaderHasValue",
31479	           xmlMemBlocks() - mem_base);
31480	    test_ret++;
31481            printf(" %d", n_reader);
31482            printf("\n");
31483        }
31484    }
31485    function_tests++;
31486#endif
31487
31488    return(test_ret);
31489}
31490
31491
31492static int
31493test_xmlTextReaderIsDefault(void) {
31494    int test_ret = 0;
31495
31496#if defined(LIBXML_READER_ENABLED)
31497    int mem_base;
31498    int ret_val;
31499    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31500    int n_reader;
31501
31502    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31503        mem_base = xmlMemBlocks();
31504        reader = gen_xmlTextReaderPtr(n_reader, 0);
31505
31506        ret_val = xmlTextReaderIsDefault(reader);
31507        desret_int(ret_val);
31508        call_tests++;
31509        des_xmlTextReaderPtr(n_reader, reader, 0);
31510        xmlResetLastError();
31511        if (mem_base != xmlMemBlocks()) {
31512            printf("Leak of %d blocks found in xmlTextReaderIsDefault",
31513	           xmlMemBlocks() - mem_base);
31514	    test_ret++;
31515            printf(" %d", n_reader);
31516            printf("\n");
31517        }
31518    }
31519    function_tests++;
31520#endif
31521
31522    return(test_ret);
31523}
31524
31525
31526static int
31527test_xmlTextReaderIsEmptyElement(void) {
31528    int test_ret = 0;
31529
31530#if defined(LIBXML_READER_ENABLED)
31531    int mem_base;
31532    int ret_val;
31533    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31534    int n_reader;
31535
31536    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31537        mem_base = xmlMemBlocks();
31538        reader = gen_xmlTextReaderPtr(n_reader, 0);
31539
31540        ret_val = xmlTextReaderIsEmptyElement(reader);
31541        desret_int(ret_val);
31542        call_tests++;
31543        des_xmlTextReaderPtr(n_reader, reader, 0);
31544        xmlResetLastError();
31545        if (mem_base != xmlMemBlocks()) {
31546            printf("Leak of %d blocks found in xmlTextReaderIsEmptyElement",
31547	           xmlMemBlocks() - mem_base);
31548	    test_ret++;
31549            printf(" %d", n_reader);
31550            printf("\n");
31551        }
31552    }
31553    function_tests++;
31554#endif
31555
31556    return(test_ret);
31557}
31558
31559
31560static int
31561test_xmlTextReaderIsNamespaceDecl(void) {
31562    int test_ret = 0;
31563
31564#if defined(LIBXML_READER_ENABLED)
31565    int mem_base;
31566    int ret_val;
31567    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31568    int n_reader;
31569
31570    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31571        mem_base = xmlMemBlocks();
31572        reader = gen_xmlTextReaderPtr(n_reader, 0);
31573
31574        ret_val = xmlTextReaderIsNamespaceDecl(reader);
31575        desret_int(ret_val);
31576        call_tests++;
31577        des_xmlTextReaderPtr(n_reader, reader, 0);
31578        xmlResetLastError();
31579        if (mem_base != xmlMemBlocks()) {
31580            printf("Leak of %d blocks found in xmlTextReaderIsNamespaceDecl",
31581	           xmlMemBlocks() - mem_base);
31582	    test_ret++;
31583            printf(" %d", n_reader);
31584            printf("\n");
31585        }
31586    }
31587    function_tests++;
31588#endif
31589
31590    return(test_ret);
31591}
31592
31593
31594static int
31595test_xmlTextReaderIsValid(void) {
31596    int test_ret = 0;
31597
31598#if defined(LIBXML_READER_ENABLED)
31599    int mem_base;
31600    int ret_val;
31601    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31602    int n_reader;
31603
31604    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31605        mem_base = xmlMemBlocks();
31606        reader = gen_xmlTextReaderPtr(n_reader, 0);
31607
31608        ret_val = xmlTextReaderIsValid(reader);
31609        desret_int(ret_val);
31610        call_tests++;
31611        des_xmlTextReaderPtr(n_reader, reader, 0);
31612        xmlResetLastError();
31613        if (mem_base != xmlMemBlocks()) {
31614            printf("Leak of %d blocks found in xmlTextReaderIsValid",
31615	           xmlMemBlocks() - mem_base);
31616	    test_ret++;
31617            printf(" %d", n_reader);
31618            printf("\n");
31619        }
31620    }
31621    function_tests++;
31622#endif
31623
31624    return(test_ret);
31625}
31626
31627
31628static int
31629test_xmlTextReaderLocalName(void) {
31630    int test_ret = 0;
31631
31632#if defined(LIBXML_READER_ENABLED)
31633    int mem_base;
31634    xmlChar * ret_val;
31635    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31636    int n_reader;
31637
31638    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31639        mem_base = xmlMemBlocks();
31640        reader = gen_xmlTextReaderPtr(n_reader, 0);
31641
31642        ret_val = xmlTextReaderLocalName(reader);
31643        desret_xmlChar_ptr(ret_val);
31644        call_tests++;
31645        des_xmlTextReaderPtr(n_reader, reader, 0);
31646        xmlResetLastError();
31647        if (mem_base != xmlMemBlocks()) {
31648            printf("Leak of %d blocks found in xmlTextReaderLocalName",
31649	           xmlMemBlocks() - mem_base);
31650	    test_ret++;
31651            printf(" %d", n_reader);
31652            printf("\n");
31653        }
31654    }
31655    function_tests++;
31656#endif
31657
31658    return(test_ret);
31659}
31660
31661#ifdef LIBXML_READER_ENABLED
31662
31663#define gen_nb_xmlTextReaderLocatorPtr 1
31664static xmlTextReaderLocatorPtr gen_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
31665    return(NULL);
31666}
31667static void des_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
31668}
31669#endif
31670
31671
31672static int
31673test_xmlTextReaderLocatorBaseURI(void) {
31674    int test_ret = 0;
31675
31676#if defined(LIBXML_READER_ENABLED)
31677    int mem_base;
31678    xmlChar * ret_val;
31679    xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
31680    int n_locator;
31681
31682    for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
31683        mem_base = xmlMemBlocks();
31684        locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
31685
31686        ret_val = xmlTextReaderLocatorBaseURI(locator);
31687        desret_xmlChar_ptr(ret_val);
31688        call_tests++;
31689        des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
31690        xmlResetLastError();
31691        if (mem_base != xmlMemBlocks()) {
31692            printf("Leak of %d blocks found in xmlTextReaderLocatorBaseURI",
31693	           xmlMemBlocks() - mem_base);
31694	    test_ret++;
31695            printf(" %d", n_locator);
31696            printf("\n");
31697        }
31698    }
31699    function_tests++;
31700#endif
31701
31702    return(test_ret);
31703}
31704
31705
31706static int
31707test_xmlTextReaderLocatorLineNumber(void) {
31708    int test_ret = 0;
31709
31710#if defined(LIBXML_READER_ENABLED)
31711    int mem_base;
31712    int ret_val;
31713    xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
31714    int n_locator;
31715
31716    for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
31717        mem_base = xmlMemBlocks();
31718        locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
31719
31720        ret_val = xmlTextReaderLocatorLineNumber(locator);
31721        desret_int(ret_val);
31722        call_tests++;
31723        des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
31724        xmlResetLastError();
31725        if (mem_base != xmlMemBlocks()) {
31726            printf("Leak of %d blocks found in xmlTextReaderLocatorLineNumber",
31727	           xmlMemBlocks() - mem_base);
31728	    test_ret++;
31729            printf(" %d", n_locator);
31730            printf("\n");
31731        }
31732    }
31733    function_tests++;
31734#endif
31735
31736    return(test_ret);
31737}
31738
31739
31740static int
31741test_xmlTextReaderLookupNamespace(void) {
31742    int test_ret = 0;
31743
31744#if defined(LIBXML_READER_ENABLED)
31745    int mem_base;
31746    xmlChar * ret_val;
31747    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31748    int n_reader;
31749    xmlChar * prefix; /* the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL */
31750    int n_prefix;
31751
31752    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31753    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
31754        mem_base = xmlMemBlocks();
31755        reader = gen_xmlTextReaderPtr(n_reader, 0);
31756        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
31757
31758        ret_val = xmlTextReaderLookupNamespace(reader, (const xmlChar *)prefix);
31759        desret_xmlChar_ptr(ret_val);
31760        call_tests++;
31761        des_xmlTextReaderPtr(n_reader, reader, 0);
31762        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
31763        xmlResetLastError();
31764        if (mem_base != xmlMemBlocks()) {
31765            printf("Leak of %d blocks found in xmlTextReaderLookupNamespace",
31766	           xmlMemBlocks() - mem_base);
31767	    test_ret++;
31768            printf(" %d", n_reader);
31769            printf(" %d", n_prefix);
31770            printf("\n");
31771        }
31772    }
31773    }
31774    function_tests++;
31775#endif
31776
31777    return(test_ret);
31778}
31779
31780
31781static int
31782test_xmlTextReaderMoveToAttribute(void) {
31783    int test_ret = 0;
31784
31785#if defined(LIBXML_READER_ENABLED)
31786    int mem_base;
31787    int ret_val;
31788    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31789    int n_reader;
31790    xmlChar * name; /* the qualified name of the attribute. */
31791    int n_name;
31792
31793    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31794    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
31795        mem_base = xmlMemBlocks();
31796        reader = gen_xmlTextReaderPtr(n_reader, 0);
31797        name = gen_const_xmlChar_ptr(n_name, 1);
31798
31799        ret_val = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)name);
31800        desret_int(ret_val);
31801        call_tests++;
31802        des_xmlTextReaderPtr(n_reader, reader, 0);
31803        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
31804        xmlResetLastError();
31805        if (mem_base != xmlMemBlocks()) {
31806            printf("Leak of %d blocks found in xmlTextReaderMoveToAttribute",
31807	           xmlMemBlocks() - mem_base);
31808	    test_ret++;
31809            printf(" %d", n_reader);
31810            printf(" %d", n_name);
31811            printf("\n");
31812        }
31813    }
31814    }
31815    function_tests++;
31816#endif
31817
31818    return(test_ret);
31819}
31820
31821
31822static int
31823test_xmlTextReaderMoveToAttributeNo(void) {
31824    int test_ret = 0;
31825
31826#if defined(LIBXML_READER_ENABLED)
31827    int mem_base;
31828    int ret_val;
31829    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31830    int n_reader;
31831    int no; /* the zero-based index of the attribute relative to the containing element. */
31832    int n_no;
31833
31834    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31835    for (n_no = 0;n_no < gen_nb_int;n_no++) {
31836        mem_base = xmlMemBlocks();
31837        reader = gen_xmlTextReaderPtr(n_reader, 0);
31838        no = gen_int(n_no, 1);
31839
31840        ret_val = xmlTextReaderMoveToAttributeNo(reader, no);
31841        desret_int(ret_val);
31842        call_tests++;
31843        des_xmlTextReaderPtr(n_reader, reader, 0);
31844        des_int(n_no, no, 1);
31845        xmlResetLastError();
31846        if (mem_base != xmlMemBlocks()) {
31847            printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNo",
31848	           xmlMemBlocks() - mem_base);
31849	    test_ret++;
31850            printf(" %d", n_reader);
31851            printf(" %d", n_no);
31852            printf("\n");
31853        }
31854    }
31855    }
31856    function_tests++;
31857#endif
31858
31859    return(test_ret);
31860}
31861
31862
31863static int
31864test_xmlTextReaderMoveToAttributeNs(void) {
31865    int test_ret = 0;
31866
31867#if defined(LIBXML_READER_ENABLED)
31868    int mem_base;
31869    int ret_val;
31870    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31871    int n_reader;
31872    xmlChar * localName; /* the local name of the attribute. */
31873    int n_localName;
31874    xmlChar * namespaceURI; /* the namespace URI of the attribute. */
31875    int n_namespaceURI;
31876
31877    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31878    for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
31879    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
31880        mem_base = xmlMemBlocks();
31881        reader = gen_xmlTextReaderPtr(n_reader, 0);
31882        localName = gen_const_xmlChar_ptr(n_localName, 1);
31883        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
31884
31885        ret_val = xmlTextReaderMoveToAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
31886        desret_int(ret_val);
31887        call_tests++;
31888        des_xmlTextReaderPtr(n_reader, reader, 0);
31889        des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
31890        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
31891        xmlResetLastError();
31892        if (mem_base != xmlMemBlocks()) {
31893            printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNs",
31894	           xmlMemBlocks() - mem_base);
31895	    test_ret++;
31896            printf(" %d", n_reader);
31897            printf(" %d", n_localName);
31898            printf(" %d", n_namespaceURI);
31899            printf("\n");
31900        }
31901    }
31902    }
31903    }
31904    function_tests++;
31905#endif
31906
31907    return(test_ret);
31908}
31909
31910
31911static int
31912test_xmlTextReaderMoveToElement(void) {
31913    int test_ret = 0;
31914
31915#if defined(LIBXML_READER_ENABLED)
31916    int mem_base;
31917    int ret_val;
31918    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31919    int n_reader;
31920
31921    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31922        mem_base = xmlMemBlocks();
31923        reader = gen_xmlTextReaderPtr(n_reader, 0);
31924
31925        ret_val = xmlTextReaderMoveToElement(reader);
31926        desret_int(ret_val);
31927        call_tests++;
31928        des_xmlTextReaderPtr(n_reader, reader, 0);
31929        xmlResetLastError();
31930        if (mem_base != xmlMemBlocks()) {
31931            printf("Leak of %d blocks found in xmlTextReaderMoveToElement",
31932	           xmlMemBlocks() - mem_base);
31933	    test_ret++;
31934            printf(" %d", n_reader);
31935            printf("\n");
31936        }
31937    }
31938    function_tests++;
31939#endif
31940
31941    return(test_ret);
31942}
31943
31944
31945static int
31946test_xmlTextReaderMoveToFirstAttribute(void) {
31947    int test_ret = 0;
31948
31949#if defined(LIBXML_READER_ENABLED)
31950    int mem_base;
31951    int ret_val;
31952    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31953    int n_reader;
31954
31955    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31956        mem_base = xmlMemBlocks();
31957        reader = gen_xmlTextReaderPtr(n_reader, 0);
31958
31959        ret_val = xmlTextReaderMoveToFirstAttribute(reader);
31960        desret_int(ret_val);
31961        call_tests++;
31962        des_xmlTextReaderPtr(n_reader, reader, 0);
31963        xmlResetLastError();
31964        if (mem_base != xmlMemBlocks()) {
31965            printf("Leak of %d blocks found in xmlTextReaderMoveToFirstAttribute",
31966	           xmlMemBlocks() - mem_base);
31967	    test_ret++;
31968            printf(" %d", n_reader);
31969            printf("\n");
31970        }
31971    }
31972    function_tests++;
31973#endif
31974
31975    return(test_ret);
31976}
31977
31978
31979static int
31980test_xmlTextReaderMoveToNextAttribute(void) {
31981    int test_ret = 0;
31982
31983#if defined(LIBXML_READER_ENABLED)
31984    int mem_base;
31985    int ret_val;
31986    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
31987    int n_reader;
31988
31989    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
31990        mem_base = xmlMemBlocks();
31991        reader = gen_xmlTextReaderPtr(n_reader, 0);
31992
31993        ret_val = xmlTextReaderMoveToNextAttribute(reader);
31994        desret_int(ret_val);
31995        call_tests++;
31996        des_xmlTextReaderPtr(n_reader, reader, 0);
31997        xmlResetLastError();
31998        if (mem_base != xmlMemBlocks()) {
31999            printf("Leak of %d blocks found in xmlTextReaderMoveToNextAttribute",
32000	           xmlMemBlocks() - mem_base);
32001	    test_ret++;
32002            printf(" %d", n_reader);
32003            printf("\n");
32004        }
32005    }
32006    function_tests++;
32007#endif
32008
32009    return(test_ret);
32010}
32011
32012
32013static int
32014test_xmlTextReaderName(void) {
32015    int test_ret = 0;
32016
32017#if defined(LIBXML_READER_ENABLED)
32018    int mem_base;
32019    xmlChar * ret_val;
32020    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32021    int n_reader;
32022
32023    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32024        mem_base = xmlMemBlocks();
32025        reader = gen_xmlTextReaderPtr(n_reader, 0);
32026
32027        ret_val = xmlTextReaderName(reader);
32028        desret_xmlChar_ptr(ret_val);
32029        call_tests++;
32030        des_xmlTextReaderPtr(n_reader, reader, 0);
32031        xmlResetLastError();
32032        if (mem_base != xmlMemBlocks()) {
32033            printf("Leak of %d blocks found in xmlTextReaderName",
32034	           xmlMemBlocks() - mem_base);
32035	    test_ret++;
32036            printf(" %d", n_reader);
32037            printf("\n");
32038        }
32039    }
32040    function_tests++;
32041#endif
32042
32043    return(test_ret);
32044}
32045
32046
32047static int
32048test_xmlTextReaderNamespaceUri(void) {
32049    int test_ret = 0;
32050
32051#if defined(LIBXML_READER_ENABLED)
32052    int mem_base;
32053    xmlChar * ret_val;
32054    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32055    int n_reader;
32056
32057    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32058        mem_base = xmlMemBlocks();
32059        reader = gen_xmlTextReaderPtr(n_reader, 0);
32060
32061        ret_val = xmlTextReaderNamespaceUri(reader);
32062        desret_xmlChar_ptr(ret_val);
32063        call_tests++;
32064        des_xmlTextReaderPtr(n_reader, reader, 0);
32065        xmlResetLastError();
32066        if (mem_base != xmlMemBlocks()) {
32067            printf("Leak of %d blocks found in xmlTextReaderNamespaceUri",
32068	           xmlMemBlocks() - mem_base);
32069	    test_ret++;
32070            printf(" %d", n_reader);
32071            printf("\n");
32072        }
32073    }
32074    function_tests++;
32075#endif
32076
32077    return(test_ret);
32078}
32079
32080
32081static int
32082test_xmlTextReaderNext(void) {
32083    int test_ret = 0;
32084
32085#if defined(LIBXML_READER_ENABLED)
32086    int mem_base;
32087    int ret_val;
32088    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32089    int n_reader;
32090
32091    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32092        mem_base = xmlMemBlocks();
32093        reader = gen_xmlTextReaderPtr(n_reader, 0);
32094
32095        ret_val = xmlTextReaderNext(reader);
32096        desret_int(ret_val);
32097        call_tests++;
32098        des_xmlTextReaderPtr(n_reader, reader, 0);
32099        xmlResetLastError();
32100        if (mem_base != xmlMemBlocks()) {
32101            printf("Leak of %d blocks found in xmlTextReaderNext",
32102	           xmlMemBlocks() - mem_base);
32103	    test_ret++;
32104            printf(" %d", n_reader);
32105            printf("\n");
32106        }
32107    }
32108    function_tests++;
32109#endif
32110
32111    return(test_ret);
32112}
32113
32114
32115static int
32116test_xmlTextReaderNextSibling(void) {
32117    int test_ret = 0;
32118
32119#if defined(LIBXML_READER_ENABLED)
32120    int mem_base;
32121    int ret_val;
32122    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32123    int n_reader;
32124
32125    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32126        mem_base = xmlMemBlocks();
32127        reader = gen_xmlTextReaderPtr(n_reader, 0);
32128
32129        ret_val = xmlTextReaderNextSibling(reader);
32130        desret_int(ret_val);
32131        call_tests++;
32132        des_xmlTextReaderPtr(n_reader, reader, 0);
32133        xmlResetLastError();
32134        if (mem_base != xmlMemBlocks()) {
32135            printf("Leak of %d blocks found in xmlTextReaderNextSibling",
32136	           xmlMemBlocks() - mem_base);
32137	    test_ret++;
32138            printf(" %d", n_reader);
32139            printf("\n");
32140        }
32141    }
32142    function_tests++;
32143#endif
32144
32145    return(test_ret);
32146}
32147
32148
32149static int
32150test_xmlTextReaderNodeType(void) {
32151    int test_ret = 0;
32152
32153#if defined(LIBXML_READER_ENABLED)
32154    int mem_base;
32155    int ret_val;
32156    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32157    int n_reader;
32158
32159    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32160        mem_base = xmlMemBlocks();
32161        reader = gen_xmlTextReaderPtr(n_reader, 0);
32162
32163        ret_val = xmlTextReaderNodeType(reader);
32164        desret_int(ret_val);
32165        call_tests++;
32166        des_xmlTextReaderPtr(n_reader, reader, 0);
32167        xmlResetLastError();
32168        if (mem_base != xmlMemBlocks()) {
32169            printf("Leak of %d blocks found in xmlTextReaderNodeType",
32170	           xmlMemBlocks() - mem_base);
32171	    test_ret++;
32172            printf(" %d", n_reader);
32173            printf("\n");
32174        }
32175    }
32176    function_tests++;
32177#endif
32178
32179    return(test_ret);
32180}
32181
32182
32183static int
32184test_xmlTextReaderNormalization(void) {
32185    int test_ret = 0;
32186
32187#if defined(LIBXML_READER_ENABLED)
32188    int mem_base;
32189    int ret_val;
32190    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32191    int n_reader;
32192
32193    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32194        mem_base = xmlMemBlocks();
32195        reader = gen_xmlTextReaderPtr(n_reader, 0);
32196
32197        ret_val = xmlTextReaderNormalization(reader);
32198        desret_int(ret_val);
32199        call_tests++;
32200        des_xmlTextReaderPtr(n_reader, reader, 0);
32201        xmlResetLastError();
32202        if (mem_base != xmlMemBlocks()) {
32203            printf("Leak of %d blocks found in xmlTextReaderNormalization",
32204	           xmlMemBlocks() - mem_base);
32205	    test_ret++;
32206            printf(" %d", n_reader);
32207            printf("\n");
32208        }
32209    }
32210    function_tests++;
32211#endif
32212
32213    return(test_ret);
32214}
32215
32216
32217static int
32218test_xmlTextReaderPrefix(void) {
32219    int test_ret = 0;
32220
32221#if defined(LIBXML_READER_ENABLED)
32222    int mem_base;
32223    xmlChar * ret_val;
32224    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32225    int n_reader;
32226
32227    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32228        mem_base = xmlMemBlocks();
32229        reader = gen_xmlTextReaderPtr(n_reader, 0);
32230
32231        ret_val = xmlTextReaderPrefix(reader);
32232        desret_xmlChar_ptr(ret_val);
32233        call_tests++;
32234        des_xmlTextReaderPtr(n_reader, reader, 0);
32235        xmlResetLastError();
32236        if (mem_base != xmlMemBlocks()) {
32237            printf("Leak of %d blocks found in xmlTextReaderPrefix",
32238	           xmlMemBlocks() - mem_base);
32239	    test_ret++;
32240            printf(" %d", n_reader);
32241            printf("\n");
32242        }
32243    }
32244    function_tests++;
32245#endif
32246
32247    return(test_ret);
32248}
32249
32250
32251static int
32252test_xmlTextReaderPreserve(void) {
32253    int test_ret = 0;
32254
32255#if defined(LIBXML_READER_ENABLED)
32256    int mem_base;
32257    xmlNodePtr ret_val;
32258    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32259    int n_reader;
32260
32261    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32262        mem_base = xmlMemBlocks();
32263        reader = gen_xmlTextReaderPtr(n_reader, 0);
32264
32265        ret_val = xmlTextReaderPreserve(reader);
32266        desret_xmlNodePtr(ret_val);
32267        call_tests++;
32268        des_xmlTextReaderPtr(n_reader, reader, 0);
32269        xmlResetLastError();
32270        if (mem_base != xmlMemBlocks()) {
32271            printf("Leak of %d blocks found in xmlTextReaderPreserve",
32272	           xmlMemBlocks() - mem_base);
32273	    test_ret++;
32274            printf(" %d", n_reader);
32275            printf("\n");
32276        }
32277    }
32278    function_tests++;
32279#endif
32280
32281    return(test_ret);
32282}
32283
32284
32285static int
32286test_xmlTextReaderPreservePattern(void) {
32287    int test_ret = 0;
32288
32289#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
32290#ifdef LIBXML_PATTERN_ENABLED
32291    int mem_base;
32292    int ret_val;
32293    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32294    int n_reader;
32295    xmlChar * pattern; /* an XPath subset pattern */
32296    int n_pattern;
32297    xmlChar ** namespaces; /* the prefix definitions, array of [URI, prefix] or NULL */
32298    int n_namespaces;
32299
32300    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32301    for (n_pattern = 0;n_pattern < gen_nb_const_xmlChar_ptr;n_pattern++) {
32302    for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
32303        mem_base = xmlMemBlocks();
32304        reader = gen_xmlTextReaderPtr(n_reader, 0);
32305        pattern = gen_const_xmlChar_ptr(n_pattern, 1);
32306        namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 2);
32307
32308        ret_val = xmlTextReaderPreservePattern(reader, (const xmlChar *)pattern, (const xmlChar **)namespaces);
32309        desret_int(ret_val);
32310        call_tests++;
32311        des_xmlTextReaderPtr(n_reader, reader, 0);
32312        des_const_xmlChar_ptr(n_pattern, (const xmlChar *)pattern, 1);
32313        des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 2);
32314        xmlResetLastError();
32315        if (mem_base != xmlMemBlocks()) {
32316            printf("Leak of %d blocks found in xmlTextReaderPreservePattern",
32317	           xmlMemBlocks() - mem_base);
32318	    test_ret++;
32319            printf(" %d", n_reader);
32320            printf(" %d", n_pattern);
32321            printf(" %d", n_namespaces);
32322            printf("\n");
32323        }
32324    }
32325    }
32326    }
32327    function_tests++;
32328#endif
32329#endif
32330
32331    return(test_ret);
32332}
32333
32334
32335static int
32336test_xmlTextReaderQuoteChar(void) {
32337    int test_ret = 0;
32338
32339#if defined(LIBXML_READER_ENABLED)
32340    int mem_base;
32341    int ret_val;
32342    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32343    int n_reader;
32344
32345    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32346        mem_base = xmlMemBlocks();
32347        reader = gen_xmlTextReaderPtr(n_reader, 0);
32348
32349        ret_val = xmlTextReaderQuoteChar(reader);
32350        desret_int(ret_val);
32351        call_tests++;
32352        des_xmlTextReaderPtr(n_reader, reader, 0);
32353        xmlResetLastError();
32354        if (mem_base != xmlMemBlocks()) {
32355            printf("Leak of %d blocks found in xmlTextReaderQuoteChar",
32356	           xmlMemBlocks() - mem_base);
32357	    test_ret++;
32358            printf(" %d", n_reader);
32359            printf("\n");
32360        }
32361    }
32362    function_tests++;
32363#endif
32364
32365    return(test_ret);
32366}
32367
32368
32369static int
32370test_xmlTextReaderRead(void) {
32371    int test_ret = 0;
32372
32373#if defined(LIBXML_READER_ENABLED)
32374    int mem_base;
32375    int ret_val;
32376    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32377    int n_reader;
32378
32379    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32380        mem_base = xmlMemBlocks();
32381        reader = gen_xmlTextReaderPtr(n_reader, 0);
32382
32383        ret_val = xmlTextReaderRead(reader);
32384        desret_int(ret_val);
32385        call_tests++;
32386        des_xmlTextReaderPtr(n_reader, reader, 0);
32387        xmlResetLastError();
32388        if (mem_base != xmlMemBlocks()) {
32389            printf("Leak of %d blocks found in xmlTextReaderRead",
32390	           xmlMemBlocks() - mem_base);
32391	    test_ret++;
32392            printf(" %d", n_reader);
32393            printf("\n");
32394        }
32395    }
32396    function_tests++;
32397#endif
32398
32399    return(test_ret);
32400}
32401
32402
32403static int
32404test_xmlTextReaderReadAttributeValue(void) {
32405    int test_ret = 0;
32406
32407#if defined(LIBXML_READER_ENABLED)
32408    int mem_base;
32409    int ret_val;
32410    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32411    int n_reader;
32412
32413    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32414        mem_base = xmlMemBlocks();
32415        reader = gen_xmlTextReaderPtr(n_reader, 0);
32416
32417        ret_val = xmlTextReaderReadAttributeValue(reader);
32418        desret_int(ret_val);
32419        call_tests++;
32420        des_xmlTextReaderPtr(n_reader, reader, 0);
32421        xmlResetLastError();
32422        if (mem_base != xmlMemBlocks()) {
32423            printf("Leak of %d blocks found in xmlTextReaderReadAttributeValue",
32424	           xmlMemBlocks() - mem_base);
32425	    test_ret++;
32426            printf(" %d", n_reader);
32427            printf("\n");
32428        }
32429    }
32430    function_tests++;
32431#endif
32432
32433    return(test_ret);
32434}
32435
32436
32437static int
32438test_xmlTextReaderReadState(void) {
32439    int test_ret = 0;
32440
32441#if defined(LIBXML_READER_ENABLED)
32442    int mem_base;
32443    int ret_val;
32444    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32445    int n_reader;
32446
32447    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32448        mem_base = xmlMemBlocks();
32449        reader = gen_xmlTextReaderPtr(n_reader, 0);
32450
32451        ret_val = xmlTextReaderReadState(reader);
32452        desret_int(ret_val);
32453        call_tests++;
32454        des_xmlTextReaderPtr(n_reader, reader, 0);
32455        xmlResetLastError();
32456        if (mem_base != xmlMemBlocks()) {
32457            printf("Leak of %d blocks found in xmlTextReaderReadState",
32458	           xmlMemBlocks() - mem_base);
32459	    test_ret++;
32460            printf(" %d", n_reader);
32461            printf("\n");
32462        }
32463    }
32464    function_tests++;
32465#endif
32466
32467    return(test_ret);
32468}
32469
32470
32471static int
32472test_xmlTextReaderRelaxNGSetSchema(void) {
32473    int test_ret = 0;
32474
32475#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32476    int mem_base;
32477    int ret_val;
32478    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32479    int n_reader;
32480    xmlRelaxNGPtr schema; /* a precompiled RelaxNG schema */
32481    int n_schema;
32482
32483    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32484    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
32485        mem_base = xmlMemBlocks();
32486        reader = gen_xmlTextReaderPtr(n_reader, 0);
32487        schema = gen_xmlRelaxNGPtr(n_schema, 1);
32488
32489        ret_val = xmlTextReaderRelaxNGSetSchema(reader, schema);
32490        desret_int(ret_val);
32491        call_tests++;
32492        des_xmlTextReaderPtr(n_reader, reader, 0);
32493        des_xmlRelaxNGPtr(n_schema, schema, 1);
32494        xmlResetLastError();
32495        if (mem_base != xmlMemBlocks()) {
32496            printf("Leak of %d blocks found in xmlTextReaderRelaxNGSetSchema",
32497	           xmlMemBlocks() - mem_base);
32498	    test_ret++;
32499            printf(" %d", n_reader);
32500            printf(" %d", n_schema);
32501            printf("\n");
32502        }
32503    }
32504    }
32505    function_tests++;
32506#endif
32507
32508    return(test_ret);
32509}
32510
32511
32512static int
32513test_xmlTextReaderRelaxNGValidate(void) {
32514    int test_ret = 0;
32515
32516#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32517    int mem_base;
32518    int ret_val;
32519    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32520    int n_reader;
32521    char * rng; /* the path to a RelaxNG schema or NULL */
32522    int n_rng;
32523
32524    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32525    for (n_rng = 0;n_rng < gen_nb_const_char_ptr;n_rng++) {
32526        mem_base = xmlMemBlocks();
32527        reader = gen_xmlTextReaderPtr(n_reader, 0);
32528        rng = gen_const_char_ptr(n_rng, 1);
32529
32530        ret_val = xmlTextReaderRelaxNGValidate(reader, (const char *)rng);
32531        desret_int(ret_val);
32532        call_tests++;
32533        des_xmlTextReaderPtr(n_reader, reader, 0);
32534        des_const_char_ptr(n_rng, (const char *)rng, 1);
32535        xmlResetLastError();
32536        if (mem_base != xmlMemBlocks()) {
32537            printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidate",
32538	           xmlMemBlocks() - mem_base);
32539	    test_ret++;
32540            printf(" %d", n_reader);
32541            printf(" %d", n_rng);
32542            printf("\n");
32543        }
32544    }
32545    }
32546    function_tests++;
32547#endif
32548
32549    return(test_ret);
32550}
32551
32552
32553static int
32554test_xmlTextReaderRelaxNGValidateCtxt(void) {
32555    int test_ret = 0;
32556
32557#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32558    int mem_base;
32559    int ret_val;
32560    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32561    int n_reader;
32562    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG schema validation context or NULL */
32563    int n_ctxt;
32564    int options; /* options (not used yet) */
32565    int n_options;
32566
32567    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32568    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
32569    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
32570        mem_base = xmlMemBlocks();
32571        reader = gen_xmlTextReaderPtr(n_reader, 0);
32572        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 1);
32573        options = gen_parseroptions(n_options, 2);
32574
32575        ret_val = xmlTextReaderRelaxNGValidateCtxt(reader, ctxt, options);
32576        desret_int(ret_val);
32577        call_tests++;
32578        des_xmlTextReaderPtr(n_reader, reader, 0);
32579        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 1);
32580        des_parseroptions(n_options, options, 2);
32581        xmlResetLastError();
32582        if (mem_base != xmlMemBlocks()) {
32583            printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidateCtxt",
32584	           xmlMemBlocks() - mem_base);
32585	    test_ret++;
32586            printf(" %d", n_reader);
32587            printf(" %d", n_ctxt);
32588            printf(" %d", n_options);
32589            printf("\n");
32590        }
32591    }
32592    }
32593    }
32594    function_tests++;
32595#endif
32596
32597    return(test_ret);
32598}
32599
32600
32601static int
32602test_xmlTextReaderSchemaValidate(void) {
32603    int test_ret = 0;
32604
32605#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32606    int ret_val;
32607    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32608    int n_reader;
32609    char * xsd; /* the path to a W3C XSD schema or NULL */
32610    int n_xsd;
32611
32612    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32613    for (n_xsd = 0;n_xsd < gen_nb_const_char_ptr;n_xsd++) {
32614        reader = gen_xmlTextReaderPtr(n_reader, 0);
32615        xsd = gen_const_char_ptr(n_xsd, 1);
32616
32617        ret_val = xmlTextReaderSchemaValidate(reader, (const char *)xsd);
32618        desret_int(ret_val);
32619        call_tests++;
32620        des_xmlTextReaderPtr(n_reader, reader, 0);
32621        des_const_char_ptr(n_xsd, (const char *)xsd, 1);
32622        xmlResetLastError();
32623    }
32624    }
32625    function_tests++;
32626#endif
32627
32628    return(test_ret);
32629}
32630
32631
32632static int
32633test_xmlTextReaderSchemaValidateCtxt(void) {
32634    int test_ret = 0;
32635
32636#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32637    int mem_base;
32638    int ret_val;
32639    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32640    int n_reader;
32641    xmlSchemaValidCtxtPtr ctxt; /* the XML Schema validation context or NULL */
32642    int n_ctxt;
32643    int options; /* options (not used yet) */
32644    int n_options;
32645
32646    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32647    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
32648    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
32649        mem_base = xmlMemBlocks();
32650        reader = gen_xmlTextReaderPtr(n_reader, 0);
32651        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 1);
32652        options = gen_parseroptions(n_options, 2);
32653
32654        ret_val = xmlTextReaderSchemaValidateCtxt(reader, ctxt, options);
32655        desret_int(ret_val);
32656        call_tests++;
32657        des_xmlTextReaderPtr(n_reader, reader, 0);
32658        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 1);
32659        des_parseroptions(n_options, options, 2);
32660        xmlResetLastError();
32661        if (mem_base != xmlMemBlocks()) {
32662            printf("Leak of %d blocks found in xmlTextReaderSchemaValidateCtxt",
32663	           xmlMemBlocks() - mem_base);
32664	    test_ret++;
32665            printf(" %d", n_reader);
32666            printf(" %d", n_ctxt);
32667            printf(" %d", n_options);
32668            printf("\n");
32669        }
32670    }
32671    }
32672    }
32673    function_tests++;
32674#endif
32675
32676    return(test_ret);
32677}
32678
32679
32680static int
32681test_xmlTextReaderSetErrorHandler(void) {
32682    int test_ret = 0;
32683
32684
32685    /* missing type support */
32686    return(test_ret);
32687}
32688
32689
32690static int
32691test_xmlTextReaderSetParserProp(void) {
32692    int test_ret = 0;
32693
32694#if defined(LIBXML_READER_ENABLED)
32695    int mem_base;
32696    int ret_val;
32697    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32698    int n_reader;
32699    int prop; /* the xmlParserProperties to set */
32700    int n_prop;
32701    int value; /* usually 0 or 1 to (de)activate it */
32702    int n_value;
32703
32704    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32705    for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
32706    for (n_value = 0;n_value < gen_nb_int;n_value++) {
32707        mem_base = xmlMemBlocks();
32708        reader = gen_xmlTextReaderPtr(n_reader, 0);
32709        prop = gen_int(n_prop, 1);
32710        value = gen_int(n_value, 2);
32711
32712        ret_val = xmlTextReaderSetParserProp(reader, prop, value);
32713        desret_int(ret_val);
32714        call_tests++;
32715        des_xmlTextReaderPtr(n_reader, reader, 0);
32716        des_int(n_prop, prop, 1);
32717        des_int(n_value, value, 2);
32718        xmlResetLastError();
32719        if (mem_base != xmlMemBlocks()) {
32720            printf("Leak of %d blocks found in xmlTextReaderSetParserProp",
32721	           xmlMemBlocks() - mem_base);
32722	    test_ret++;
32723            printf(" %d", n_reader);
32724            printf(" %d", n_prop);
32725            printf(" %d", n_value);
32726            printf("\n");
32727        }
32728    }
32729    }
32730    }
32731    function_tests++;
32732#endif
32733
32734    return(test_ret);
32735}
32736
32737
32738static int
32739test_xmlTextReaderSetSchema(void) {
32740    int test_ret = 0;
32741
32742#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
32743    int mem_base;
32744    int ret_val;
32745    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32746    int n_reader;
32747    xmlSchemaPtr schema; /* a precompiled Schema schema */
32748    int n_schema;
32749
32750    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32751    for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
32752        mem_base = xmlMemBlocks();
32753        reader = gen_xmlTextReaderPtr(n_reader, 0);
32754        schema = gen_xmlSchemaPtr(n_schema, 1);
32755
32756        ret_val = xmlTextReaderSetSchema(reader, schema);
32757        desret_int(ret_val);
32758        call_tests++;
32759        des_xmlTextReaderPtr(n_reader, reader, 0);
32760        des_xmlSchemaPtr(n_schema, schema, 1);
32761        xmlResetLastError();
32762        if (mem_base != xmlMemBlocks()) {
32763            printf("Leak of %d blocks found in xmlTextReaderSetSchema",
32764	           xmlMemBlocks() - mem_base);
32765	    test_ret++;
32766            printf(" %d", n_reader);
32767            printf(" %d", n_schema);
32768            printf("\n");
32769        }
32770    }
32771    }
32772    function_tests++;
32773#endif
32774
32775    return(test_ret);
32776}
32777
32778
32779static int
32780test_xmlTextReaderSetStructuredErrorHandler(void) {
32781    int test_ret = 0;
32782
32783
32784    /* missing type support */
32785    return(test_ret);
32786}
32787
32788
32789static int
32790test_xmlTextReaderSetup(void) {
32791    int test_ret = 0;
32792
32793#if defined(LIBXML_READER_ENABLED)
32794    int mem_base;
32795    int ret_val;
32796    xmlTextReaderPtr reader; /* an XML reader */
32797    int n_reader;
32798    xmlParserInputBufferPtr input; /* xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. */
32799    int n_input;
32800    const char * URL; /* the base URL to use for the document */
32801    int n_URL;
32802    char * encoding; /* the document encoding, or NULL */
32803    int n_encoding;
32804    int options; /* a combination of xmlParserOption */
32805    int n_options;
32806
32807    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32808    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
32809    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
32810    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
32811    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
32812        mem_base = xmlMemBlocks();
32813        reader = gen_xmlTextReaderPtr(n_reader, 0);
32814        input = gen_xmlParserInputBufferPtr(n_input, 1);
32815        URL = gen_filepath(n_URL, 2);
32816        encoding = gen_const_char_ptr(n_encoding, 3);
32817        options = gen_parseroptions(n_options, 4);
32818
32819        ret_val = xmlTextReaderSetup(reader, input, URL, (const char *)encoding, options);
32820        desret_int(ret_val);
32821        call_tests++;
32822        des_xmlTextReaderPtr(n_reader, reader, 0);
32823        des_filepath(n_URL, URL, 2);
32824        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
32825        des_parseroptions(n_options, options, 4);
32826        xmlResetLastError();
32827        if (mem_base != xmlMemBlocks()) {
32828            printf("Leak of %d blocks found in xmlTextReaderSetup",
32829	           xmlMemBlocks() - mem_base);
32830	    test_ret++;
32831            printf(" %d", n_reader);
32832            printf(" %d", n_input);
32833            printf(" %d", n_URL);
32834            printf(" %d", n_encoding);
32835            printf(" %d", n_options);
32836            printf("\n");
32837        }
32838    }
32839    }
32840    }
32841    }
32842    }
32843    function_tests++;
32844#endif
32845
32846    return(test_ret);
32847}
32848
32849
32850static int
32851test_xmlTextReaderStandalone(void) {
32852    int test_ret = 0;
32853
32854#if defined(LIBXML_READER_ENABLED)
32855    int mem_base;
32856    int ret_val;
32857    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32858    int n_reader;
32859
32860    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32861        mem_base = xmlMemBlocks();
32862        reader = gen_xmlTextReaderPtr(n_reader, 0);
32863
32864        ret_val = xmlTextReaderStandalone(reader);
32865        desret_int(ret_val);
32866        call_tests++;
32867        des_xmlTextReaderPtr(n_reader, reader, 0);
32868        xmlResetLastError();
32869        if (mem_base != xmlMemBlocks()) {
32870            printf("Leak of %d blocks found in xmlTextReaderStandalone",
32871	           xmlMemBlocks() - mem_base);
32872	    test_ret++;
32873            printf(" %d", n_reader);
32874            printf("\n");
32875        }
32876    }
32877    function_tests++;
32878#endif
32879
32880    return(test_ret);
32881}
32882
32883
32884static int
32885test_xmlTextReaderValue(void) {
32886    int test_ret = 0;
32887
32888#if defined(LIBXML_READER_ENABLED)
32889    int mem_base;
32890    xmlChar * ret_val;
32891    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32892    int n_reader;
32893
32894    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32895        mem_base = xmlMemBlocks();
32896        reader = gen_xmlTextReaderPtr(n_reader, 0);
32897
32898        ret_val = xmlTextReaderValue(reader);
32899        desret_xmlChar_ptr(ret_val);
32900        call_tests++;
32901        des_xmlTextReaderPtr(n_reader, reader, 0);
32902        xmlResetLastError();
32903        if (mem_base != xmlMemBlocks()) {
32904            printf("Leak of %d blocks found in xmlTextReaderValue",
32905	           xmlMemBlocks() - mem_base);
32906	    test_ret++;
32907            printf(" %d", n_reader);
32908            printf("\n");
32909        }
32910    }
32911    function_tests++;
32912#endif
32913
32914    return(test_ret);
32915}
32916
32917
32918static int
32919test_xmlTextReaderXmlLang(void) {
32920    int test_ret = 0;
32921
32922#if defined(LIBXML_READER_ENABLED)
32923    int mem_base;
32924    xmlChar * ret_val;
32925    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
32926    int n_reader;
32927
32928    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
32929        mem_base = xmlMemBlocks();
32930        reader = gen_xmlTextReaderPtr(n_reader, 0);
32931
32932        ret_val = xmlTextReaderXmlLang(reader);
32933        desret_xmlChar_ptr(ret_val);
32934        call_tests++;
32935        des_xmlTextReaderPtr(n_reader, reader, 0);
32936        xmlResetLastError();
32937        if (mem_base != xmlMemBlocks()) {
32938            printf("Leak of %d blocks found in xmlTextReaderXmlLang",
32939	           xmlMemBlocks() - mem_base);
32940	    test_ret++;
32941            printf(" %d", n_reader);
32942            printf("\n");
32943        }
32944    }
32945    function_tests++;
32946#endif
32947
32948    return(test_ret);
32949}
32950
32951static int
32952test_xmlreader(void) {
32953    int test_ret = 0;
32954
32955    if (quiet == 0) printf("Testing xmlreader : 76 of 86 functions ...\n");
32956    test_ret += test_xmlNewTextReader();
32957    test_ret += test_xmlNewTextReaderFilename();
32958    test_ret += test_xmlReaderForDoc();
32959    test_ret += test_xmlReaderForFile();
32960    test_ret += test_xmlReaderForMemory();
32961    test_ret += test_xmlReaderNewDoc();
32962    test_ret += test_xmlReaderNewFile();
32963    test_ret += test_xmlReaderNewMemory();
32964    test_ret += test_xmlReaderNewWalker();
32965    test_ret += test_xmlReaderWalker();
32966    test_ret += test_xmlTextReaderAttributeCount();
32967    test_ret += test_xmlTextReaderBaseUri();
32968    test_ret += test_xmlTextReaderByteConsumed();
32969    test_ret += test_xmlTextReaderClose();
32970    test_ret += test_xmlTextReaderConstBaseUri();
32971    test_ret += test_xmlTextReaderConstEncoding();
32972    test_ret += test_xmlTextReaderConstLocalName();
32973    test_ret += test_xmlTextReaderConstName();
32974    test_ret += test_xmlTextReaderConstNamespaceUri();
32975    test_ret += test_xmlTextReaderConstPrefix();
32976    test_ret += test_xmlTextReaderConstString();
32977    test_ret += test_xmlTextReaderConstValue();
32978    test_ret += test_xmlTextReaderConstXmlLang();
32979    test_ret += test_xmlTextReaderConstXmlVersion();
32980    test_ret += test_xmlTextReaderCurrentDoc();
32981    test_ret += test_xmlTextReaderCurrentNode();
32982    test_ret += test_xmlTextReaderDepth();
32983    test_ret += test_xmlTextReaderExpand();
32984    test_ret += test_xmlTextReaderGetAttribute();
32985    test_ret += test_xmlTextReaderGetAttributeNo();
32986    test_ret += test_xmlTextReaderGetAttributeNs();
32987    test_ret += test_xmlTextReaderGetErrorHandler();
32988    test_ret += test_xmlTextReaderGetParserColumnNumber();
32989    test_ret += test_xmlTextReaderGetParserLineNumber();
32990    test_ret += test_xmlTextReaderGetParserProp();
32991    test_ret += test_xmlTextReaderGetRemainder();
32992    test_ret += test_xmlTextReaderHasAttributes();
32993    test_ret += test_xmlTextReaderHasValue();
32994    test_ret += test_xmlTextReaderIsDefault();
32995    test_ret += test_xmlTextReaderIsEmptyElement();
32996    test_ret += test_xmlTextReaderIsNamespaceDecl();
32997    test_ret += test_xmlTextReaderIsValid();
32998    test_ret += test_xmlTextReaderLocalName();
32999    test_ret += test_xmlTextReaderLocatorBaseURI();
33000    test_ret += test_xmlTextReaderLocatorLineNumber();
33001    test_ret += test_xmlTextReaderLookupNamespace();
33002    test_ret += test_xmlTextReaderMoveToAttribute();
33003    test_ret += test_xmlTextReaderMoveToAttributeNo();
33004    test_ret += test_xmlTextReaderMoveToAttributeNs();
33005    test_ret += test_xmlTextReaderMoveToElement();
33006    test_ret += test_xmlTextReaderMoveToFirstAttribute();
33007    test_ret += test_xmlTextReaderMoveToNextAttribute();
33008    test_ret += test_xmlTextReaderName();
33009    test_ret += test_xmlTextReaderNamespaceUri();
33010    test_ret += test_xmlTextReaderNext();
33011    test_ret += test_xmlTextReaderNextSibling();
33012    test_ret += test_xmlTextReaderNodeType();
33013    test_ret += test_xmlTextReaderNormalization();
33014    test_ret += test_xmlTextReaderPrefix();
33015    test_ret += test_xmlTextReaderPreserve();
33016    test_ret += test_xmlTextReaderPreservePattern();
33017    test_ret += test_xmlTextReaderQuoteChar();
33018    test_ret += test_xmlTextReaderRead();
33019    test_ret += test_xmlTextReaderReadAttributeValue();
33020    test_ret += test_xmlTextReaderReadState();
33021    test_ret += test_xmlTextReaderRelaxNGSetSchema();
33022    test_ret += test_xmlTextReaderRelaxNGValidate();
33023    test_ret += test_xmlTextReaderRelaxNGValidateCtxt();
33024    test_ret += test_xmlTextReaderSchemaValidate();
33025    test_ret += test_xmlTextReaderSchemaValidateCtxt();
33026    test_ret += test_xmlTextReaderSetErrorHandler();
33027    test_ret += test_xmlTextReaderSetParserProp();
33028    test_ret += test_xmlTextReaderSetSchema();
33029    test_ret += test_xmlTextReaderSetStructuredErrorHandler();
33030    test_ret += test_xmlTextReaderSetup();
33031    test_ret += test_xmlTextReaderStandalone();
33032    test_ret += test_xmlTextReaderValue();
33033    test_ret += test_xmlTextReaderXmlLang();
33034
33035    if (test_ret != 0)
33036	printf("Module xmlreader: %d errors\n", test_ret);
33037    return(test_ret);
33038}
33039
33040static int
33041test_xmlExpCtxtNbCons(void) {
33042    int test_ret = 0;
33043
33044#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33045    int mem_base;
33046    int ret_val;
33047    xmlExpCtxtPtr ctxt; /* an expression context */
33048    int n_ctxt;
33049
33050    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
33051        mem_base = xmlMemBlocks();
33052        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
33053
33054        ret_val = xmlExpCtxtNbCons(ctxt);
33055        desret_int(ret_val);
33056        call_tests++;
33057        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
33058        xmlResetLastError();
33059        if (mem_base != xmlMemBlocks()) {
33060            printf("Leak of %d blocks found in xmlExpCtxtNbCons",
33061	           xmlMemBlocks() - mem_base);
33062	    test_ret++;
33063            printf(" %d", n_ctxt);
33064            printf("\n");
33065        }
33066    }
33067    function_tests++;
33068#endif
33069
33070    return(test_ret);
33071}
33072
33073
33074static int
33075test_xmlExpCtxtNbNodes(void) {
33076    int test_ret = 0;
33077
33078#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33079    int mem_base;
33080    int ret_val;
33081    xmlExpCtxtPtr ctxt; /* an expression context */
33082    int n_ctxt;
33083
33084    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
33085        mem_base = xmlMemBlocks();
33086        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
33087
33088        ret_val = xmlExpCtxtNbNodes(ctxt);
33089        desret_int(ret_val);
33090        call_tests++;
33091        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
33092        xmlResetLastError();
33093        if (mem_base != xmlMemBlocks()) {
33094            printf("Leak of %d blocks found in xmlExpCtxtNbNodes",
33095	           xmlMemBlocks() - mem_base);
33096	    test_ret++;
33097            printf(" %d", n_ctxt);
33098            printf("\n");
33099        }
33100    }
33101    function_tests++;
33102#endif
33103
33104    return(test_ret);
33105}
33106
33107
33108static int
33109test_xmlExpDump(void) {
33110    int test_ret = 0;
33111
33112#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33113    int mem_base;
33114    xmlBufferPtr buf; /* a buffer to receive the output */
33115    int n_buf;
33116    xmlExpNodePtr expr; /* the compiled expression */
33117    int n_expr;
33118
33119    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
33120    for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
33121        mem_base = xmlMemBlocks();
33122        buf = gen_xmlBufferPtr(n_buf, 0);
33123        expr = gen_xmlExpNodePtr(n_expr, 1);
33124
33125        xmlExpDump(buf, expr);
33126        call_tests++;
33127        des_xmlBufferPtr(n_buf, buf, 0);
33128        des_xmlExpNodePtr(n_expr, expr, 1);
33129        xmlResetLastError();
33130        if (mem_base != xmlMemBlocks()) {
33131            printf("Leak of %d blocks found in xmlExpDump",
33132	           xmlMemBlocks() - mem_base);
33133	    test_ret++;
33134            printf(" %d", n_buf);
33135            printf(" %d", n_expr);
33136            printf("\n");
33137        }
33138    }
33139    }
33140    function_tests++;
33141#endif
33142
33143    return(test_ret);
33144}
33145
33146
33147static int
33148test_xmlExpExpDerive(void) {
33149    int test_ret = 0;
33150
33151
33152    /* missing type support */
33153    return(test_ret);
33154}
33155
33156
33157static int
33158test_xmlExpGetLanguage(void) {
33159    int test_ret = 0;
33160
33161#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33162    int mem_base;
33163    int ret_val;
33164    xmlExpCtxtPtr ctxt; /* the expression context */
33165    int n_ctxt;
33166    xmlExpNodePtr exp; /* the expression */
33167    int n_exp;
33168    xmlChar ** langList; /* where to store the tokens */
33169    int n_langList;
33170    int len; /* the allocated length of @list */
33171    int n_len;
33172
33173    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
33174    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
33175    for (n_langList = 0;n_langList < gen_nb_const_xmlChar_ptr_ptr;n_langList++) {
33176    for (n_len = 0;n_len < gen_nb_int;n_len++) {
33177        mem_base = xmlMemBlocks();
33178        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
33179        exp = gen_xmlExpNodePtr(n_exp, 1);
33180        langList = gen_const_xmlChar_ptr_ptr(n_langList, 2);
33181        len = gen_int(n_len, 3);
33182
33183        ret_val = xmlExpGetLanguage(ctxt, exp, (const xmlChar **)langList, len);
33184        desret_int(ret_val);
33185        call_tests++;
33186        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
33187        des_xmlExpNodePtr(n_exp, exp, 1);
33188        des_const_xmlChar_ptr_ptr(n_langList, (const xmlChar **)langList, 2);
33189        des_int(n_len, len, 3);
33190        xmlResetLastError();
33191        if (mem_base != xmlMemBlocks()) {
33192            printf("Leak of %d blocks found in xmlExpGetLanguage",
33193	           xmlMemBlocks() - mem_base);
33194	    test_ret++;
33195            printf(" %d", n_ctxt);
33196            printf(" %d", n_exp);
33197            printf(" %d", n_langList);
33198            printf(" %d", n_len);
33199            printf("\n");
33200        }
33201    }
33202    }
33203    }
33204    }
33205    function_tests++;
33206#endif
33207
33208    return(test_ret);
33209}
33210
33211
33212static int
33213test_xmlExpGetStart(void) {
33214    int test_ret = 0;
33215
33216#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33217    int mem_base;
33218    int ret_val;
33219    xmlExpCtxtPtr ctxt; /* the expression context */
33220    int n_ctxt;
33221    xmlExpNodePtr exp; /* the expression */
33222    int n_exp;
33223    xmlChar ** tokList; /* where to store the tokens */
33224    int n_tokList;
33225    int len; /* the allocated length of @list */
33226    int n_len;
33227
33228    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
33229    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
33230    for (n_tokList = 0;n_tokList < gen_nb_const_xmlChar_ptr_ptr;n_tokList++) {
33231    for (n_len = 0;n_len < gen_nb_int;n_len++) {
33232        mem_base = xmlMemBlocks();
33233        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
33234        exp = gen_xmlExpNodePtr(n_exp, 1);
33235        tokList = gen_const_xmlChar_ptr_ptr(n_tokList, 2);
33236        len = gen_int(n_len, 3);
33237
33238        ret_val = xmlExpGetStart(ctxt, exp, (const xmlChar **)tokList, len);
33239        desret_int(ret_val);
33240        call_tests++;
33241        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
33242        des_xmlExpNodePtr(n_exp, exp, 1);
33243        des_const_xmlChar_ptr_ptr(n_tokList, (const xmlChar **)tokList, 2);
33244        des_int(n_len, len, 3);
33245        xmlResetLastError();
33246        if (mem_base != xmlMemBlocks()) {
33247            printf("Leak of %d blocks found in xmlExpGetStart",
33248	           xmlMemBlocks() - mem_base);
33249	    test_ret++;
33250            printf(" %d", n_ctxt);
33251            printf(" %d", n_exp);
33252            printf(" %d", n_tokList);
33253            printf(" %d", n_len);
33254            printf("\n");
33255        }
33256    }
33257    }
33258    }
33259    }
33260    function_tests++;
33261#endif
33262
33263    return(test_ret);
33264}
33265
33266
33267static int
33268test_xmlExpIsNillable(void) {
33269    int test_ret = 0;
33270
33271#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33272    int mem_base;
33273    int ret_val;
33274    xmlExpNodePtr exp; /* the expression */
33275    int n_exp;
33276
33277    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
33278        mem_base = xmlMemBlocks();
33279        exp = gen_xmlExpNodePtr(n_exp, 0);
33280
33281        ret_val = xmlExpIsNillable(exp);
33282        desret_int(ret_val);
33283        call_tests++;
33284        des_xmlExpNodePtr(n_exp, exp, 0);
33285        xmlResetLastError();
33286        if (mem_base != xmlMemBlocks()) {
33287            printf("Leak of %d blocks found in xmlExpIsNillable",
33288	           xmlMemBlocks() - mem_base);
33289	    test_ret++;
33290            printf(" %d", n_exp);
33291            printf("\n");
33292        }
33293    }
33294    function_tests++;
33295#endif
33296
33297    return(test_ret);
33298}
33299
33300
33301static int
33302test_xmlExpMaxToken(void) {
33303    int test_ret = 0;
33304
33305#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33306    int mem_base;
33307    int ret_val;
33308    xmlExpNodePtr expr; /* a compiled expression */
33309    int n_expr;
33310
33311    for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
33312        mem_base = xmlMemBlocks();
33313        expr = gen_xmlExpNodePtr(n_expr, 0);
33314
33315        ret_val = xmlExpMaxToken(expr);
33316        desret_int(ret_val);
33317        call_tests++;
33318        des_xmlExpNodePtr(n_expr, expr, 0);
33319        xmlResetLastError();
33320        if (mem_base != xmlMemBlocks()) {
33321            printf("Leak of %d blocks found in xmlExpMaxToken",
33322	           xmlMemBlocks() - mem_base);
33323	    test_ret++;
33324            printf(" %d", n_expr);
33325            printf("\n");
33326        }
33327    }
33328    function_tests++;
33329#endif
33330
33331    return(test_ret);
33332}
33333
33334
33335static int
33336test_xmlExpNewAtom(void) {
33337    int test_ret = 0;
33338
33339
33340    /* missing type support */
33341    return(test_ret);
33342}
33343
33344
33345static int
33346test_xmlExpNewCtxt(void) {
33347    int test_ret = 0;
33348
33349
33350    /* missing type support */
33351    return(test_ret);
33352}
33353
33354
33355static int
33356test_xmlExpNewOr(void) {
33357    int test_ret = 0;
33358
33359
33360    /* missing type support */
33361    return(test_ret);
33362}
33363
33364
33365static int
33366test_xmlExpNewRange(void) {
33367    int test_ret = 0;
33368
33369
33370    /* missing type support */
33371    return(test_ret);
33372}
33373
33374
33375static int
33376test_xmlExpNewSeq(void) {
33377    int test_ret = 0;
33378
33379
33380    /* missing type support */
33381    return(test_ret);
33382}
33383
33384
33385static int
33386test_xmlExpParse(void) {
33387    int test_ret = 0;
33388
33389
33390    /* missing type support */
33391    return(test_ret);
33392}
33393
33394
33395static int
33396test_xmlExpRef(void) {
33397    int test_ret = 0;
33398
33399#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33400    int mem_base;
33401    xmlExpNodePtr exp; /* the expression */
33402    int n_exp;
33403
33404    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
33405        mem_base = xmlMemBlocks();
33406        exp = gen_xmlExpNodePtr(n_exp, 0);
33407
33408        xmlExpRef(exp);
33409        call_tests++;
33410        des_xmlExpNodePtr(n_exp, exp, 0);
33411        xmlResetLastError();
33412        if (mem_base != xmlMemBlocks()) {
33413            printf("Leak of %d blocks found in xmlExpRef",
33414	           xmlMemBlocks() - mem_base);
33415	    test_ret++;
33416            printf(" %d", n_exp);
33417            printf("\n");
33418        }
33419    }
33420    function_tests++;
33421#endif
33422
33423    return(test_ret);
33424}
33425
33426
33427static int
33428test_xmlExpStringDerive(void) {
33429    int test_ret = 0;
33430
33431
33432    /* missing type support */
33433    return(test_ret);
33434}
33435
33436
33437static int
33438test_xmlExpSubsume(void) {
33439    int test_ret = 0;
33440
33441#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
33442    int mem_base;
33443    int ret_val;
33444    xmlExpCtxtPtr ctxt; /* the expressions context */
33445    int n_ctxt;
33446    xmlExpNodePtr exp; /* the englobing expression */
33447    int n_exp;
33448    xmlExpNodePtr sub; /* the subexpression */
33449    int n_sub;
33450
33451    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
33452    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
33453    for (n_sub = 0;n_sub < gen_nb_xmlExpNodePtr;n_sub++) {
33454        mem_base = xmlMemBlocks();
33455        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
33456        exp = gen_xmlExpNodePtr(n_exp, 1);
33457        sub = gen_xmlExpNodePtr(n_sub, 2);
33458
33459        ret_val = xmlExpSubsume(ctxt, exp, sub);
33460        desret_int(ret_val);
33461        call_tests++;
33462        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
33463        des_xmlExpNodePtr(n_exp, exp, 1);
33464        des_xmlExpNodePtr(n_sub, sub, 2);
33465        xmlResetLastError();
33466        if (mem_base != xmlMemBlocks()) {
33467            printf("Leak of %d blocks found in xmlExpSubsume",
33468	           xmlMemBlocks() - mem_base);
33469	    test_ret++;
33470            printf(" %d", n_ctxt);
33471            printf(" %d", n_exp);
33472            printf(" %d", n_sub);
33473            printf("\n");
33474        }
33475    }
33476    }
33477    }
33478    function_tests++;
33479#endif
33480
33481    return(test_ret);
33482}
33483
33484#ifdef LIBXML_REGEXP_ENABLED
33485
33486#define gen_nb_xmlRegExecCtxtPtr 1
33487static xmlRegExecCtxtPtr gen_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33488    return(NULL);
33489}
33490static void des_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRegExecCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33491}
33492#endif
33493
33494
33495static int
33496test_xmlRegExecErrInfo(void) {
33497    int test_ret = 0;
33498
33499#if defined(LIBXML_REGEXP_ENABLED)
33500    int mem_base;
33501    int ret_val;
33502    xmlRegExecCtxtPtr exec; /* a regexp execution context generating an error */
33503    int n_exec;
33504    xmlChar ** string; /* return value for the error string */
33505    int n_string;
33506    int * nbval; /* pointer to the number of accepted values IN/OUT */
33507    int n_nbval;
33508    int * nbneg; /* return number of negative transitions */
33509    int n_nbneg;
33510    xmlChar ** values; /* pointer to the array of acceptable values */
33511    int n_values;
33512    int * terminal; /* return value if this was a terminal state */
33513    int n_terminal;
33514
33515    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
33516    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr_ptr;n_string++) {
33517    for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
33518    for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
33519    for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
33520    for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
33521        mem_base = xmlMemBlocks();
33522        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
33523        string = gen_const_xmlChar_ptr_ptr(n_string, 1);
33524        nbval = gen_int_ptr(n_nbval, 2);
33525        nbneg = gen_int_ptr(n_nbneg, 3);
33526        values = gen_xmlChar_ptr_ptr(n_values, 4);
33527        terminal = gen_int_ptr(n_terminal, 5);
33528
33529        ret_val = xmlRegExecErrInfo(exec, (const xmlChar **)string, nbval, nbneg, values, terminal);
33530        desret_int(ret_val);
33531        call_tests++;
33532        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
33533        des_const_xmlChar_ptr_ptr(n_string, (const xmlChar **)string, 1);
33534        des_int_ptr(n_nbval, nbval, 2);
33535        des_int_ptr(n_nbneg, nbneg, 3);
33536        des_xmlChar_ptr_ptr(n_values, values, 4);
33537        des_int_ptr(n_terminal, terminal, 5);
33538        xmlResetLastError();
33539        if (mem_base != xmlMemBlocks()) {
33540            printf("Leak of %d blocks found in xmlRegExecErrInfo",
33541	           xmlMemBlocks() - mem_base);
33542	    test_ret++;
33543            printf(" %d", n_exec);
33544            printf(" %d", n_string);
33545            printf(" %d", n_nbval);
33546            printf(" %d", n_nbneg);
33547            printf(" %d", n_values);
33548            printf(" %d", n_terminal);
33549            printf("\n");
33550        }
33551    }
33552    }
33553    }
33554    }
33555    }
33556    }
33557    function_tests++;
33558#endif
33559
33560    return(test_ret);
33561}
33562
33563
33564static int
33565test_xmlRegExecNextValues(void) {
33566    int test_ret = 0;
33567
33568#if defined(LIBXML_REGEXP_ENABLED)
33569    int mem_base;
33570    int ret_val;
33571    xmlRegExecCtxtPtr exec; /* a regexp execution context */
33572    int n_exec;
33573    int * nbval; /* pointer to the number of accepted values IN/OUT */
33574    int n_nbval;
33575    int * nbneg; /* return number of negative transitions */
33576    int n_nbneg;
33577    xmlChar ** values; /* pointer to the array of acceptable values */
33578    int n_values;
33579    int * terminal; /* return value if this was a terminal state */
33580    int n_terminal;
33581
33582    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
33583    for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
33584    for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
33585    for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
33586    for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
33587        mem_base = xmlMemBlocks();
33588        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
33589        nbval = gen_int_ptr(n_nbval, 1);
33590        nbneg = gen_int_ptr(n_nbneg, 2);
33591        values = gen_xmlChar_ptr_ptr(n_values, 3);
33592        terminal = gen_int_ptr(n_terminal, 4);
33593
33594        ret_val = xmlRegExecNextValues(exec, nbval, nbneg, values, terminal);
33595        desret_int(ret_val);
33596        call_tests++;
33597        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
33598        des_int_ptr(n_nbval, nbval, 1);
33599        des_int_ptr(n_nbneg, nbneg, 2);
33600        des_xmlChar_ptr_ptr(n_values, values, 3);
33601        des_int_ptr(n_terminal, terminal, 4);
33602        xmlResetLastError();
33603        if (mem_base != xmlMemBlocks()) {
33604            printf("Leak of %d blocks found in xmlRegExecNextValues",
33605	           xmlMemBlocks() - mem_base);
33606	    test_ret++;
33607            printf(" %d", n_exec);
33608            printf(" %d", n_nbval);
33609            printf(" %d", n_nbneg);
33610            printf(" %d", n_values);
33611            printf(" %d", n_terminal);
33612            printf("\n");
33613        }
33614    }
33615    }
33616    }
33617    }
33618    }
33619    function_tests++;
33620#endif
33621
33622    return(test_ret);
33623}
33624
33625
33626static int
33627test_xmlRegExecPushString(void) {
33628    int test_ret = 0;
33629
33630#if defined(LIBXML_REGEXP_ENABLED)
33631    int mem_base;
33632    int ret_val;
33633    xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
33634    int n_exec;
33635    xmlChar * value; /* a string token input */
33636    int n_value;
33637    void * data; /* data associated to the token to reuse in callbacks */
33638    int n_data;
33639
33640    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
33641    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
33642    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
33643        mem_base = xmlMemBlocks();
33644        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
33645        value = gen_const_xmlChar_ptr(n_value, 1);
33646        data = gen_userdata(n_data, 2);
33647
33648        ret_val = xmlRegExecPushString(exec, (const xmlChar *)value, data);
33649        desret_int(ret_val);
33650        call_tests++;
33651        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
33652        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
33653        des_userdata(n_data, data, 2);
33654        xmlResetLastError();
33655        if (mem_base != xmlMemBlocks()) {
33656            printf("Leak of %d blocks found in xmlRegExecPushString",
33657	           xmlMemBlocks() - mem_base);
33658	    test_ret++;
33659            printf(" %d", n_exec);
33660            printf(" %d", n_value);
33661            printf(" %d", n_data);
33662            printf("\n");
33663        }
33664    }
33665    }
33666    }
33667    function_tests++;
33668#endif
33669
33670    return(test_ret);
33671}
33672
33673
33674static int
33675test_xmlRegExecPushString2(void) {
33676    int test_ret = 0;
33677
33678#if defined(LIBXML_REGEXP_ENABLED)
33679    int mem_base;
33680    int ret_val;
33681    xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
33682    int n_exec;
33683    xmlChar * value; /* the first string token input */
33684    int n_value;
33685    xmlChar * value2; /* the second string token input */
33686    int n_value2;
33687    void * data; /* data associated to the token to reuse in callbacks */
33688    int n_data;
33689
33690    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
33691    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
33692    for (n_value2 = 0;n_value2 < gen_nb_const_xmlChar_ptr;n_value2++) {
33693    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
33694        mem_base = xmlMemBlocks();
33695        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
33696        value = gen_const_xmlChar_ptr(n_value, 1);
33697        value2 = gen_const_xmlChar_ptr(n_value2, 2);
33698        data = gen_userdata(n_data, 3);
33699
33700        ret_val = xmlRegExecPushString2(exec, (const xmlChar *)value, (const xmlChar *)value2, data);
33701        desret_int(ret_val);
33702        call_tests++;
33703        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
33704        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
33705        des_const_xmlChar_ptr(n_value2, (const xmlChar *)value2, 2);
33706        des_userdata(n_data, data, 3);
33707        xmlResetLastError();
33708        if (mem_base != xmlMemBlocks()) {
33709            printf("Leak of %d blocks found in xmlRegExecPushString2",
33710	           xmlMemBlocks() - mem_base);
33711	    test_ret++;
33712            printf(" %d", n_exec);
33713            printf(" %d", n_value);
33714            printf(" %d", n_value2);
33715            printf(" %d", n_data);
33716            printf("\n");
33717        }
33718    }
33719    }
33720    }
33721    }
33722    function_tests++;
33723#endif
33724
33725    return(test_ret);
33726}
33727
33728#ifdef LIBXML_REGEXP_ENABLED
33729
33730#define gen_nb_xmlRegexpPtr 1
33731static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33732    return(NULL);
33733}
33734static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33735}
33736#endif
33737
33738
33739static int
33740test_xmlRegNewExecCtxt(void) {
33741    int test_ret = 0;
33742
33743
33744    /* missing type support */
33745    return(test_ret);
33746}
33747
33748
33749static int
33750test_xmlRegexpCompile(void) {
33751    int test_ret = 0;
33752
33753
33754    /* missing type support */
33755    return(test_ret);
33756}
33757
33758
33759static int
33760test_xmlRegexpExec(void) {
33761    int test_ret = 0;
33762
33763#if defined(LIBXML_REGEXP_ENABLED)
33764    int mem_base;
33765    int ret_val;
33766    xmlRegexpPtr comp; /* the compiled regular expression */
33767    int n_comp;
33768    xmlChar * content; /* the value to check against the regular expression */
33769    int n_content;
33770
33771    for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
33772    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
33773        mem_base = xmlMemBlocks();
33774        comp = gen_xmlRegexpPtr(n_comp, 0);
33775        content = gen_const_xmlChar_ptr(n_content, 1);
33776
33777        ret_val = xmlRegexpExec(comp, (const xmlChar *)content);
33778        desret_int(ret_val);
33779        call_tests++;
33780        des_xmlRegexpPtr(n_comp, comp, 0);
33781        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
33782        xmlResetLastError();
33783        if (mem_base != xmlMemBlocks()) {
33784            printf("Leak of %d blocks found in xmlRegexpExec",
33785	           xmlMemBlocks() - mem_base);
33786	    test_ret++;
33787            printf(" %d", n_comp);
33788            printf(" %d", n_content);
33789            printf("\n");
33790        }
33791    }
33792    }
33793    function_tests++;
33794#endif
33795
33796    return(test_ret);
33797}
33798
33799
33800static int
33801test_xmlRegexpIsDeterminist(void) {
33802    int test_ret = 0;
33803
33804#if defined(LIBXML_REGEXP_ENABLED)
33805    int mem_base;
33806    int ret_val;
33807    xmlRegexpPtr comp; /* the compiled regular expression */
33808    int n_comp;
33809
33810    for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
33811        mem_base = xmlMemBlocks();
33812        comp = gen_xmlRegexpPtr(n_comp, 0);
33813
33814        ret_val = xmlRegexpIsDeterminist(comp);
33815        desret_int(ret_val);
33816        call_tests++;
33817        des_xmlRegexpPtr(n_comp, comp, 0);
33818        xmlResetLastError();
33819        if (mem_base != xmlMemBlocks()) {
33820            printf("Leak of %d blocks found in xmlRegexpIsDeterminist",
33821	           xmlMemBlocks() - mem_base);
33822	    test_ret++;
33823            printf(" %d", n_comp);
33824            printf("\n");
33825        }
33826    }
33827    function_tests++;
33828#endif
33829
33830    return(test_ret);
33831}
33832
33833
33834static int
33835test_xmlRegexpPrint(void) {
33836    int test_ret = 0;
33837
33838#if defined(LIBXML_REGEXP_ENABLED)
33839    int mem_base;
33840    FILE * output; /* the file for the output debug */
33841    int n_output;
33842    xmlRegexpPtr regexp; /* the compiled regexp */
33843    int n_regexp;
33844
33845    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
33846    for (n_regexp = 0;n_regexp < gen_nb_xmlRegexpPtr;n_regexp++) {
33847        mem_base = xmlMemBlocks();
33848        output = gen_FILE_ptr(n_output, 0);
33849        regexp = gen_xmlRegexpPtr(n_regexp, 1);
33850
33851        xmlRegexpPrint(output, regexp);
33852        call_tests++;
33853        des_FILE_ptr(n_output, output, 0);
33854        des_xmlRegexpPtr(n_regexp, regexp, 1);
33855        xmlResetLastError();
33856        if (mem_base != xmlMemBlocks()) {
33857            printf("Leak of %d blocks found in xmlRegexpPrint",
33858	           xmlMemBlocks() - mem_base);
33859	    test_ret++;
33860            printf(" %d", n_output);
33861            printf(" %d", n_regexp);
33862            printf("\n");
33863        }
33864    }
33865    }
33866    function_tests++;
33867#endif
33868
33869    return(test_ret);
33870}
33871
33872static int
33873test_xmlregexp(void) {
33874    int test_ret = 0;
33875
33876    if (quiet == 0) printf("Testing xmlregexp : 16 of 30 functions ...\n");
33877    test_ret += test_xmlExpCtxtNbCons();
33878    test_ret += test_xmlExpCtxtNbNodes();
33879    test_ret += test_xmlExpDump();
33880    test_ret += test_xmlExpExpDerive();
33881    test_ret += test_xmlExpGetLanguage();
33882    test_ret += test_xmlExpGetStart();
33883    test_ret += test_xmlExpIsNillable();
33884    test_ret += test_xmlExpMaxToken();
33885    test_ret += test_xmlExpNewAtom();
33886    test_ret += test_xmlExpNewCtxt();
33887    test_ret += test_xmlExpNewOr();
33888    test_ret += test_xmlExpNewRange();
33889    test_ret += test_xmlExpNewSeq();
33890    test_ret += test_xmlExpParse();
33891    test_ret += test_xmlExpRef();
33892    test_ret += test_xmlExpStringDerive();
33893    test_ret += test_xmlExpSubsume();
33894    test_ret += test_xmlRegExecErrInfo();
33895    test_ret += test_xmlRegExecNextValues();
33896    test_ret += test_xmlRegExecPushString();
33897    test_ret += test_xmlRegExecPushString2();
33898    test_ret += test_xmlRegNewExecCtxt();
33899    test_ret += test_xmlRegexpCompile();
33900    test_ret += test_xmlRegexpExec();
33901    test_ret += test_xmlRegexpIsDeterminist();
33902    test_ret += test_xmlRegexpPrint();
33903
33904    if (test_ret != 0)
33905	printf("Module xmlregexp: %d errors\n", test_ret);
33906    return(test_ret);
33907}
33908#ifdef LIBXML_OUTPUT_ENABLED
33909
33910#define gen_nb_xmlSaveCtxtPtr 1
33911static xmlSaveCtxtPtr gen_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33912    return(NULL);
33913}
33914static void des_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSaveCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
33915}
33916#endif
33917
33918
33919static int
33920test_xmlSaveClose(void) {
33921    int test_ret = 0;
33922
33923#if defined(LIBXML_OUTPUT_ENABLED)
33924    int mem_base;
33925    int ret_val;
33926    xmlSaveCtxtPtr ctxt; /* a document saving context */
33927    int n_ctxt;
33928
33929    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
33930        mem_base = xmlMemBlocks();
33931        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
33932
33933        ret_val = xmlSaveClose(ctxt);
33934        desret_int(ret_val);
33935        call_tests++;
33936        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
33937        xmlResetLastError();
33938        if (mem_base != xmlMemBlocks()) {
33939            printf("Leak of %d blocks found in xmlSaveClose",
33940	           xmlMemBlocks() - mem_base);
33941	    test_ret++;
33942            printf(" %d", n_ctxt);
33943            printf("\n");
33944        }
33945    }
33946    function_tests++;
33947#endif
33948
33949    return(test_ret);
33950}
33951
33952
33953static int
33954test_xmlSaveDoc(void) {
33955    int test_ret = 0;
33956
33957#if defined(LIBXML_OUTPUT_ENABLED)
33958    int mem_base;
33959    long ret_val;
33960    xmlSaveCtxtPtr ctxt; /* a document saving context */
33961    int n_ctxt;
33962    xmlDocPtr doc; /* a document */
33963    int n_doc;
33964
33965    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
33966    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
33967        mem_base = xmlMemBlocks();
33968        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
33969        doc = gen_xmlDocPtr(n_doc, 1);
33970
33971        ret_val = xmlSaveDoc(ctxt, doc);
33972        desret_long(ret_val);
33973        call_tests++;
33974        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
33975        des_xmlDocPtr(n_doc, doc, 1);
33976        xmlResetLastError();
33977        if (mem_base != xmlMemBlocks()) {
33978            printf("Leak of %d blocks found in xmlSaveDoc",
33979	           xmlMemBlocks() - mem_base);
33980	    test_ret++;
33981            printf(" %d", n_ctxt);
33982            printf(" %d", n_doc);
33983            printf("\n");
33984        }
33985    }
33986    }
33987    function_tests++;
33988#endif
33989
33990    return(test_ret);
33991}
33992
33993
33994static int
33995test_xmlSaveFlush(void) {
33996    int test_ret = 0;
33997
33998#if defined(LIBXML_OUTPUT_ENABLED)
33999    int mem_base;
34000    int ret_val;
34001    xmlSaveCtxtPtr ctxt; /* a document saving context */
34002    int n_ctxt;
34003
34004    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
34005        mem_base = xmlMemBlocks();
34006        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
34007
34008        ret_val = xmlSaveFlush(ctxt);
34009        desret_int(ret_val);
34010        call_tests++;
34011        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
34012        xmlResetLastError();
34013        if (mem_base != xmlMemBlocks()) {
34014            printf("Leak of %d blocks found in xmlSaveFlush",
34015	           xmlMemBlocks() - mem_base);
34016	    test_ret++;
34017            printf(" %d", n_ctxt);
34018            printf("\n");
34019        }
34020    }
34021    function_tests++;
34022#endif
34023
34024    return(test_ret);
34025}
34026
34027
34028static int
34029test_xmlSaveSetAttrEscape(void) {
34030    int test_ret = 0;
34031
34032
34033    /* missing type support */
34034    return(test_ret);
34035}
34036
34037
34038static int
34039test_xmlSaveSetEscape(void) {
34040    int test_ret = 0;
34041
34042
34043    /* missing type support */
34044    return(test_ret);
34045}
34046
34047
34048static int
34049test_xmlSaveToBuffer(void) {
34050    int test_ret = 0;
34051
34052
34053    /* missing type support */
34054    return(test_ret);
34055}
34056
34057
34058static int
34059test_xmlSaveToFd(void) {
34060    int test_ret = 0;
34061
34062
34063    /* missing type support */
34064    return(test_ret);
34065}
34066
34067
34068static int
34069test_xmlSaveToFilename(void) {
34070    int test_ret = 0;
34071
34072
34073    /* missing type support */
34074    return(test_ret);
34075}
34076
34077
34078static int
34079test_xmlSaveTree(void) {
34080    int test_ret = 0;
34081
34082#if defined(LIBXML_OUTPUT_ENABLED)
34083    int mem_base;
34084    long ret_val;
34085    xmlSaveCtxtPtr ctxt; /* a document saving context */
34086    int n_ctxt;
34087    xmlNodePtr node; /* the top node of the subtree to save */
34088    int n_node;
34089
34090    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
34091    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
34092        mem_base = xmlMemBlocks();
34093        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
34094        node = gen_xmlNodePtr(n_node, 1);
34095
34096        ret_val = xmlSaveTree(ctxt, node);
34097        desret_long(ret_val);
34098        call_tests++;
34099        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
34100        des_xmlNodePtr(n_node, node, 1);
34101        xmlResetLastError();
34102        if (mem_base != xmlMemBlocks()) {
34103            printf("Leak of %d blocks found in xmlSaveTree",
34104	           xmlMemBlocks() - mem_base);
34105	    test_ret++;
34106            printf(" %d", n_ctxt);
34107            printf(" %d", n_node);
34108            printf("\n");
34109        }
34110    }
34111    }
34112    function_tests++;
34113#endif
34114
34115    return(test_ret);
34116}
34117
34118static int
34119test_xmlsave(void) {
34120    int test_ret = 0;
34121
34122    if (quiet == 0) printf("Testing xmlsave : 4 of 10 functions ...\n");
34123    test_ret += test_xmlSaveClose();
34124    test_ret += test_xmlSaveDoc();
34125    test_ret += test_xmlSaveFlush();
34126    test_ret += test_xmlSaveSetAttrEscape();
34127    test_ret += test_xmlSaveSetEscape();
34128    test_ret += test_xmlSaveToBuffer();
34129    test_ret += test_xmlSaveToFd();
34130    test_ret += test_xmlSaveToFilename();
34131    test_ret += test_xmlSaveTree();
34132
34133    if (test_ret != 0)
34134	printf("Module xmlsave: %d errors\n", test_ret);
34135    return(test_ret);
34136}
34137
34138static int
34139test_xmlSchemaDump(void) {
34140    int test_ret = 0;
34141
34142#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
34143    int mem_base;
34144    FILE * output; /* the file output */
34145    int n_output;
34146    xmlSchemaPtr schema; /* a schema structure */
34147    int n_schema;
34148
34149    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
34150    for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
34151        mem_base = xmlMemBlocks();
34152        output = gen_FILE_ptr(n_output, 0);
34153        schema = gen_xmlSchemaPtr(n_schema, 1);
34154
34155        xmlSchemaDump(output, schema);
34156        call_tests++;
34157        des_FILE_ptr(n_output, output, 0);
34158        des_xmlSchemaPtr(n_schema, schema, 1);
34159        xmlResetLastError();
34160        if (mem_base != xmlMemBlocks()) {
34161            printf("Leak of %d blocks found in xmlSchemaDump",
34162	           xmlMemBlocks() - mem_base);
34163	    test_ret++;
34164            printf(" %d", n_output);
34165            printf(" %d", n_schema);
34166            printf("\n");
34167        }
34168    }
34169    }
34170    function_tests++;
34171#endif
34172
34173    return(test_ret);
34174}
34175
34176#ifdef LIBXML_SCHEMAS_ENABLED
34177
34178#define gen_nb_xmlSchemaParserCtxtPtr 1
34179static xmlSchemaParserCtxtPtr gen_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34180    return(NULL);
34181}
34182static void des_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34183}
34184#endif
34185
34186#ifdef LIBXML_SCHEMAS_ENABLED
34187
34188#define gen_nb_xmlSchemaValidityErrorFunc_ptr 1
34189static xmlSchemaValidityErrorFunc * gen_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34190    return(NULL);
34191}
34192static void des_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34193}
34194#endif
34195
34196#ifdef LIBXML_SCHEMAS_ENABLED
34197
34198#define gen_nb_xmlSchemaValidityWarningFunc_ptr 1
34199static xmlSchemaValidityWarningFunc * gen_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34200    return(NULL);
34201}
34202static void des_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34203}
34204#endif
34205
34206
34207static int
34208test_xmlSchemaGetParserErrors(void) {
34209    int test_ret = 0;
34210
34211#if defined(LIBXML_SCHEMAS_ENABLED)
34212    int mem_base;
34213    int ret_val;
34214    xmlSchemaParserCtxtPtr ctxt; /* a XMl-Schema parser context */
34215    int n_ctxt;
34216    xmlSchemaValidityErrorFunc * err; /* the error callback result */
34217    int n_err;
34218    xmlSchemaValidityWarningFunc * warn; /* the warning callback result */
34219    int n_warn;
34220    void ** ctx; /* contextual data for the callbacks result */
34221    int n_ctx;
34222
34223    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaParserCtxtPtr;n_ctxt++) {
34224    for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
34225    for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
34226    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
34227        mem_base = xmlMemBlocks();
34228        ctxt = gen_xmlSchemaParserCtxtPtr(n_ctxt, 0);
34229        err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
34230        warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
34231        ctx = gen_void_ptr_ptr(n_ctx, 3);
34232
34233        ret_val = xmlSchemaGetParserErrors(ctxt, err, warn, ctx);
34234        desret_int(ret_val);
34235        call_tests++;
34236        des_xmlSchemaParserCtxtPtr(n_ctxt, ctxt, 0);
34237        des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
34238        des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
34239        des_void_ptr_ptr(n_ctx, ctx, 3);
34240        xmlResetLastError();
34241        if (mem_base != xmlMemBlocks()) {
34242            printf("Leak of %d blocks found in xmlSchemaGetParserErrors",
34243	           xmlMemBlocks() - mem_base);
34244	    test_ret++;
34245            printf(" %d", n_ctxt);
34246            printf(" %d", n_err);
34247            printf(" %d", n_warn);
34248            printf(" %d", n_ctx);
34249            printf("\n");
34250        }
34251    }
34252    }
34253    }
34254    }
34255    function_tests++;
34256#endif
34257
34258    return(test_ret);
34259}
34260
34261
34262static int
34263test_xmlSchemaGetValidErrors(void) {
34264    int test_ret = 0;
34265
34266#if defined(LIBXML_SCHEMAS_ENABLED)
34267    int mem_base;
34268    int ret_val;
34269    xmlSchemaValidCtxtPtr ctxt; /* a XML-Schema validation context */
34270    int n_ctxt;
34271    xmlSchemaValidityErrorFunc * err; /* the error function result */
34272    int n_err;
34273    xmlSchemaValidityWarningFunc * warn; /* the warning function result */
34274    int n_warn;
34275    void ** ctx; /* the functions context result */
34276    int n_ctx;
34277
34278    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34279    for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
34280    for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
34281    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
34282        mem_base = xmlMemBlocks();
34283        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34284        err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
34285        warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
34286        ctx = gen_void_ptr_ptr(n_ctx, 3);
34287
34288        ret_val = xmlSchemaGetValidErrors(ctxt, err, warn, ctx);
34289        desret_int(ret_val);
34290        call_tests++;
34291        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34292        des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
34293        des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
34294        des_void_ptr_ptr(n_ctx, ctx, 3);
34295        xmlResetLastError();
34296        if (mem_base != xmlMemBlocks()) {
34297            printf("Leak of %d blocks found in xmlSchemaGetValidErrors",
34298	           xmlMemBlocks() - mem_base);
34299	    test_ret++;
34300            printf(" %d", n_ctxt);
34301            printf(" %d", n_err);
34302            printf(" %d", n_warn);
34303            printf(" %d", n_ctx);
34304            printf("\n");
34305        }
34306    }
34307    }
34308    }
34309    }
34310    function_tests++;
34311#endif
34312
34313    return(test_ret);
34314}
34315
34316
34317static int
34318test_xmlSchemaIsValid(void) {
34319    int test_ret = 0;
34320
34321#if defined(LIBXML_SCHEMAS_ENABLED)
34322    int mem_base;
34323    int ret_val;
34324    xmlSchemaValidCtxtPtr ctxt; /* the schema validation context */
34325    int n_ctxt;
34326
34327    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34328        mem_base = xmlMemBlocks();
34329        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34330
34331        ret_val = xmlSchemaIsValid(ctxt);
34332        desret_int(ret_val);
34333        call_tests++;
34334        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34335        xmlResetLastError();
34336        if (mem_base != xmlMemBlocks()) {
34337            printf("Leak of %d blocks found in xmlSchemaIsValid",
34338	           xmlMemBlocks() - mem_base);
34339	    test_ret++;
34340            printf(" %d", n_ctxt);
34341            printf("\n");
34342        }
34343    }
34344    function_tests++;
34345#endif
34346
34347    return(test_ret);
34348}
34349
34350
34351static int
34352test_xmlSchemaNewDocParserCtxt(void) {
34353    int test_ret = 0;
34354
34355#if defined(LIBXML_SCHEMAS_ENABLED)
34356    int mem_base;
34357    xmlSchemaParserCtxtPtr ret_val;
34358    xmlDocPtr doc; /* a preparsed document tree */
34359    int n_doc;
34360
34361    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
34362        mem_base = xmlMemBlocks();
34363        doc = gen_xmlDocPtr(n_doc, 0);
34364
34365        ret_val = xmlSchemaNewDocParserCtxt(doc);
34366        desret_xmlSchemaParserCtxtPtr(ret_val);
34367        call_tests++;
34368        des_xmlDocPtr(n_doc, doc, 0);
34369        xmlResetLastError();
34370        if (mem_base != xmlMemBlocks()) {
34371            printf("Leak of %d blocks found in xmlSchemaNewDocParserCtxt",
34372	           xmlMemBlocks() - mem_base);
34373	    test_ret++;
34374            printf(" %d", n_doc);
34375            printf("\n");
34376        }
34377    }
34378    function_tests++;
34379#endif
34380
34381    return(test_ret);
34382}
34383
34384
34385static int
34386test_xmlSchemaNewMemParserCtxt(void) {
34387    int test_ret = 0;
34388
34389#if defined(LIBXML_SCHEMAS_ENABLED)
34390    int mem_base;
34391    xmlSchemaParserCtxtPtr ret_val;
34392    char * buffer; /* a pointer to a char array containing the schemas */
34393    int n_buffer;
34394    int size; /* the size of the array */
34395    int n_size;
34396
34397    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
34398    for (n_size = 0;n_size < gen_nb_int;n_size++) {
34399        mem_base = xmlMemBlocks();
34400        buffer = gen_const_char_ptr(n_buffer, 0);
34401        size = gen_int(n_size, 1);
34402
34403        ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
34404        desret_xmlSchemaParserCtxtPtr(ret_val);
34405        call_tests++;
34406        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
34407        des_int(n_size, size, 1);
34408        xmlResetLastError();
34409        if (mem_base != xmlMemBlocks()) {
34410            printf("Leak of %d blocks found in xmlSchemaNewMemParserCtxt",
34411	           xmlMemBlocks() - mem_base);
34412	    test_ret++;
34413            printf(" %d", n_buffer);
34414            printf(" %d", n_size);
34415            printf("\n");
34416        }
34417    }
34418    }
34419    function_tests++;
34420#endif
34421
34422    return(test_ret);
34423}
34424
34425
34426static int
34427test_xmlSchemaNewParserCtxt(void) {
34428    int test_ret = 0;
34429
34430#if defined(LIBXML_SCHEMAS_ENABLED)
34431    int mem_base;
34432    xmlSchemaParserCtxtPtr ret_val;
34433    char * URL; /* the location of the schema */
34434    int n_URL;
34435
34436    for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
34437        mem_base = xmlMemBlocks();
34438        URL = gen_const_char_ptr(n_URL, 0);
34439
34440        ret_val = xmlSchemaNewParserCtxt((const char *)URL);
34441        desret_xmlSchemaParserCtxtPtr(ret_val);
34442        call_tests++;
34443        des_const_char_ptr(n_URL, (const char *)URL, 0);
34444        xmlResetLastError();
34445        if (mem_base != xmlMemBlocks()) {
34446            printf("Leak of %d blocks found in xmlSchemaNewParserCtxt",
34447	           xmlMemBlocks() - mem_base);
34448	    test_ret++;
34449            printf(" %d", n_URL);
34450            printf("\n");
34451        }
34452    }
34453    function_tests++;
34454#endif
34455
34456    return(test_ret);
34457}
34458
34459
34460static int
34461test_xmlSchemaNewValidCtxt(void) {
34462    int test_ret = 0;
34463
34464
34465    /* missing type support */
34466    return(test_ret);
34467}
34468
34469
34470static int
34471test_xmlSchemaParse(void) {
34472    int test_ret = 0;
34473
34474
34475    /* missing type support */
34476    return(test_ret);
34477}
34478
34479#ifdef LIBXML_SCHEMAS_ENABLED
34480
34481#define gen_nb_xmlSAXHandlerPtr_ptr 1
34482static xmlSAXHandlerPtr * gen_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34483    return(NULL);
34484}
34485static void des_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34486}
34487#endif
34488
34489
34490static int
34491test_xmlSchemaSAXPlug(void) {
34492    int test_ret = 0;
34493
34494
34495    /* missing type support */
34496    return(test_ret);
34497}
34498
34499#ifdef LIBXML_SCHEMAS_ENABLED
34500
34501#define gen_nb_xmlSchemaSAXPlugPtr 1
34502static xmlSchemaSAXPlugPtr gen_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34503    return(NULL);
34504}
34505static void des_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, xmlSchemaSAXPlugPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34506}
34507#endif
34508
34509
34510static int
34511test_xmlSchemaSAXUnplug(void) {
34512    int test_ret = 0;
34513
34514#if defined(LIBXML_SCHEMAS_ENABLED)
34515    int mem_base;
34516    int ret_val;
34517    xmlSchemaSAXPlugPtr plug; /* a data structure returned by xmlSchemaSAXPlug */
34518    int n_plug;
34519
34520    for (n_plug = 0;n_plug < gen_nb_xmlSchemaSAXPlugPtr;n_plug++) {
34521        mem_base = xmlMemBlocks();
34522        plug = gen_xmlSchemaSAXPlugPtr(n_plug, 0);
34523
34524        ret_val = xmlSchemaSAXUnplug(plug);
34525        desret_int(ret_val);
34526        call_tests++;
34527        des_xmlSchemaSAXPlugPtr(n_plug, plug, 0);
34528        xmlResetLastError();
34529        if (mem_base != xmlMemBlocks()) {
34530            printf("Leak of %d blocks found in xmlSchemaSAXUnplug",
34531	           xmlMemBlocks() - mem_base);
34532	    test_ret++;
34533            printf(" %d", n_plug);
34534            printf("\n");
34535        }
34536    }
34537    function_tests++;
34538#endif
34539
34540    return(test_ret);
34541}
34542
34543
34544static int
34545test_xmlSchemaSetParserErrors(void) {
34546    int test_ret = 0;
34547
34548
34549    /* missing type support */
34550    return(test_ret);
34551}
34552
34553
34554static int
34555test_xmlSchemaSetParserStructuredErrors(void) {
34556    int test_ret = 0;
34557
34558
34559    /* missing type support */
34560    return(test_ret);
34561}
34562
34563
34564static int
34565test_xmlSchemaSetValidErrors(void) {
34566    int test_ret = 0;
34567
34568
34569    /* missing type support */
34570    return(test_ret);
34571}
34572
34573
34574static int
34575test_xmlSchemaSetValidOptions(void) {
34576    int test_ret = 0;
34577
34578#if defined(LIBXML_SCHEMAS_ENABLED)
34579    int mem_base;
34580    int ret_val;
34581    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34582    int n_ctxt;
34583    int options; /* a combination of xmlSchemaValidOption */
34584    int n_options;
34585
34586    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34587    for (n_options = 0;n_options < gen_nb_int;n_options++) {
34588        mem_base = xmlMemBlocks();
34589        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34590        options = gen_int(n_options, 1);
34591
34592        ret_val = xmlSchemaSetValidOptions(ctxt, options);
34593        desret_int(ret_val);
34594        call_tests++;
34595        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34596        des_int(n_options, options, 1);
34597        xmlResetLastError();
34598        if (mem_base != xmlMemBlocks()) {
34599            printf("Leak of %d blocks found in xmlSchemaSetValidOptions",
34600	           xmlMemBlocks() - mem_base);
34601	    test_ret++;
34602            printf(" %d", n_ctxt);
34603            printf(" %d", n_options);
34604            printf("\n");
34605        }
34606    }
34607    }
34608    function_tests++;
34609#endif
34610
34611    return(test_ret);
34612}
34613
34614
34615static int
34616test_xmlSchemaSetValidStructuredErrors(void) {
34617    int test_ret = 0;
34618
34619
34620    /* missing type support */
34621    return(test_ret);
34622}
34623
34624
34625static int
34626test_xmlSchemaValidCtxtGetOptions(void) {
34627    int test_ret = 0;
34628
34629#if defined(LIBXML_SCHEMAS_ENABLED)
34630    int mem_base;
34631    int ret_val;
34632    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34633    int n_ctxt;
34634
34635    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34636        mem_base = xmlMemBlocks();
34637        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34638
34639        ret_val = xmlSchemaValidCtxtGetOptions(ctxt);
34640        desret_int(ret_val);
34641        call_tests++;
34642        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34643        xmlResetLastError();
34644        if (mem_base != xmlMemBlocks()) {
34645            printf("Leak of %d blocks found in xmlSchemaValidCtxtGetOptions",
34646	           xmlMemBlocks() - mem_base);
34647	    test_ret++;
34648            printf(" %d", n_ctxt);
34649            printf("\n");
34650        }
34651    }
34652    function_tests++;
34653#endif
34654
34655    return(test_ret);
34656}
34657
34658
34659static int
34660test_xmlSchemaValidCtxtGetParserCtxt(void) {
34661    int test_ret = 0;
34662
34663#if defined(LIBXML_SCHEMAS_ENABLED)
34664    int mem_base;
34665    xmlParserCtxtPtr ret_val;
34666    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34667    int n_ctxt;
34668
34669    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34670        mem_base = xmlMemBlocks();
34671        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34672
34673        ret_val = xmlSchemaValidCtxtGetParserCtxt(ctxt);
34674        desret_xmlParserCtxtPtr(ret_val);
34675        call_tests++;
34676        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34677        xmlResetLastError();
34678        if (mem_base != xmlMemBlocks()) {
34679            printf("Leak of %d blocks found in xmlSchemaValidCtxtGetParserCtxt",
34680	           xmlMemBlocks() - mem_base);
34681	    test_ret++;
34682            printf(" %d", n_ctxt);
34683            printf("\n");
34684        }
34685    }
34686    function_tests++;
34687#endif
34688
34689    return(test_ret);
34690}
34691
34692
34693static int
34694test_xmlSchemaValidateDoc(void) {
34695    int test_ret = 0;
34696
34697#if defined(LIBXML_SCHEMAS_ENABLED)
34698    int mem_base;
34699    int ret_val;
34700    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34701    int n_ctxt;
34702    xmlDocPtr doc; /* a parsed document tree */
34703    int n_doc;
34704
34705    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34706    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
34707        mem_base = xmlMemBlocks();
34708        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34709        doc = gen_xmlDocPtr(n_doc, 1);
34710
34711        ret_val = xmlSchemaValidateDoc(ctxt, doc);
34712        desret_int(ret_val);
34713        call_tests++;
34714        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34715        des_xmlDocPtr(n_doc, doc, 1);
34716        xmlResetLastError();
34717        if (mem_base != xmlMemBlocks()) {
34718            printf("Leak of %d blocks found in xmlSchemaValidateDoc",
34719	           xmlMemBlocks() - mem_base);
34720	    test_ret++;
34721            printf(" %d", n_ctxt);
34722            printf(" %d", n_doc);
34723            printf("\n");
34724        }
34725    }
34726    }
34727    function_tests++;
34728#endif
34729
34730    return(test_ret);
34731}
34732
34733
34734static int
34735test_xmlSchemaValidateFile(void) {
34736    int test_ret = 0;
34737
34738#if defined(LIBXML_SCHEMAS_ENABLED)
34739    int mem_base;
34740    int ret_val;
34741    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34742    int n_ctxt;
34743    const char * filename; /* the URI of the instance */
34744    int n_filename;
34745    int options; /* a future set of options, currently unused */
34746    int n_options;
34747
34748    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34749    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
34750    for (n_options = 0;n_options < gen_nb_int;n_options++) {
34751        mem_base = xmlMemBlocks();
34752        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34753        filename = gen_filepath(n_filename, 1);
34754        options = gen_int(n_options, 2);
34755
34756        ret_val = xmlSchemaValidateFile(ctxt, filename, options);
34757        desret_int(ret_val);
34758        call_tests++;
34759        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34760        des_filepath(n_filename, filename, 1);
34761        des_int(n_options, options, 2);
34762        xmlResetLastError();
34763        if (mem_base != xmlMemBlocks()) {
34764            printf("Leak of %d blocks found in xmlSchemaValidateFile",
34765	           xmlMemBlocks() - mem_base);
34766	    test_ret++;
34767            printf(" %d", n_ctxt);
34768            printf(" %d", n_filename);
34769            printf(" %d", n_options);
34770            printf("\n");
34771        }
34772    }
34773    }
34774    }
34775    function_tests++;
34776#endif
34777
34778    return(test_ret);
34779}
34780
34781
34782static int
34783test_xmlSchemaValidateOneElement(void) {
34784    int test_ret = 0;
34785
34786#if defined(LIBXML_SCHEMAS_ENABLED)
34787    int mem_base;
34788    int ret_val;
34789    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34790    int n_ctxt;
34791    xmlNodePtr elem; /* an element node */
34792    int n_elem;
34793
34794    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34795    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
34796        mem_base = xmlMemBlocks();
34797        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34798        elem = gen_xmlNodePtr(n_elem, 1);
34799
34800        ret_val = xmlSchemaValidateOneElement(ctxt, elem);
34801        desret_int(ret_val);
34802        call_tests++;
34803        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34804        des_xmlNodePtr(n_elem, elem, 1);
34805        xmlResetLastError();
34806        if (mem_base != xmlMemBlocks()) {
34807            printf("Leak of %d blocks found in xmlSchemaValidateOneElement",
34808	           xmlMemBlocks() - mem_base);
34809	    test_ret++;
34810            printf(" %d", n_ctxt);
34811            printf(" %d", n_elem);
34812            printf("\n");
34813        }
34814    }
34815    }
34816    function_tests++;
34817#endif
34818
34819    return(test_ret);
34820}
34821
34822
34823static int
34824test_xmlSchemaValidateSetFilename(void) {
34825    int test_ret = 0;
34826
34827#if defined(LIBXML_SCHEMAS_ENABLED)
34828    int mem_base;
34829    xmlSchemaValidCtxtPtr vctxt; /* the schema validation context */
34830    int n_vctxt;
34831    const char * filename; /* the file name */
34832    int n_filename;
34833
34834    for (n_vctxt = 0;n_vctxt < gen_nb_xmlSchemaValidCtxtPtr;n_vctxt++) {
34835    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
34836        mem_base = xmlMemBlocks();
34837        vctxt = gen_xmlSchemaValidCtxtPtr(n_vctxt, 0);
34838        filename = gen_filepath(n_filename, 1);
34839
34840        xmlSchemaValidateSetFilename(vctxt, filename);
34841        call_tests++;
34842        des_xmlSchemaValidCtxtPtr(n_vctxt, vctxt, 0);
34843        des_filepath(n_filename, filename, 1);
34844        xmlResetLastError();
34845        if (mem_base != xmlMemBlocks()) {
34846            printf("Leak of %d blocks found in xmlSchemaValidateSetFilename",
34847	           xmlMemBlocks() - mem_base);
34848	    test_ret++;
34849            printf(" %d", n_vctxt);
34850            printf(" %d", n_filename);
34851            printf("\n");
34852        }
34853    }
34854    }
34855    function_tests++;
34856#endif
34857
34858    return(test_ret);
34859}
34860
34861
34862static int
34863test_xmlSchemaValidateSetLocator(void) {
34864    int test_ret = 0;
34865
34866
34867    /* missing type support */
34868    return(test_ret);
34869}
34870
34871
34872static int
34873test_xmlSchemaValidateStream(void) {
34874    int test_ret = 0;
34875
34876#if defined(LIBXML_SCHEMAS_ENABLED)
34877    int mem_base;
34878    int ret_val;
34879    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
34880    int n_ctxt;
34881    xmlParserInputBufferPtr input; /* the input to use for reading the data */
34882    int n_input;
34883    xmlCharEncoding enc; /* an optional encoding information */
34884    int n_enc;
34885    xmlSAXHandlerPtr sax; /* a SAX handler for the resulting events */
34886    int n_sax;
34887    void * user_data; /* the context to provide to the SAX handler. */
34888    int n_user_data;
34889
34890    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
34891    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
34892    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
34893    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
34894    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
34895        mem_base = xmlMemBlocks();
34896        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
34897        input = gen_xmlParserInputBufferPtr(n_input, 1);
34898        enc = gen_xmlCharEncoding(n_enc, 2);
34899        sax = gen_xmlSAXHandlerPtr(n_sax, 3);
34900        user_data = gen_userdata(n_user_data, 4);
34901
34902        ret_val = xmlSchemaValidateStream(ctxt, input, enc, sax, user_data);
34903        desret_int(ret_val);
34904        call_tests++;
34905        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
34906        des_xmlParserInputBufferPtr(n_input, input, 1);
34907        des_xmlCharEncoding(n_enc, enc, 2);
34908        des_xmlSAXHandlerPtr(n_sax, sax, 3);
34909        des_userdata(n_user_data, user_data, 4);
34910        xmlResetLastError();
34911        if (mem_base != xmlMemBlocks()) {
34912            printf("Leak of %d blocks found in xmlSchemaValidateStream",
34913	           xmlMemBlocks() - mem_base);
34914	    test_ret++;
34915            printf(" %d", n_ctxt);
34916            printf(" %d", n_input);
34917            printf(" %d", n_enc);
34918            printf(" %d", n_sax);
34919            printf(" %d", n_user_data);
34920            printf("\n");
34921        }
34922    }
34923    }
34924    }
34925    }
34926    }
34927    function_tests++;
34928#endif
34929
34930    return(test_ret);
34931}
34932
34933static int
34934test_xmlschemas(void) {
34935    int test_ret = 0;
34936
34937    if (quiet == 0) printf("Testing xmlschemas : 16 of 27 functions ...\n");
34938    test_ret += test_xmlSchemaDump();
34939    test_ret += test_xmlSchemaGetParserErrors();
34940    test_ret += test_xmlSchemaGetValidErrors();
34941    test_ret += test_xmlSchemaIsValid();
34942    test_ret += test_xmlSchemaNewDocParserCtxt();
34943    test_ret += test_xmlSchemaNewMemParserCtxt();
34944    test_ret += test_xmlSchemaNewParserCtxt();
34945    test_ret += test_xmlSchemaNewValidCtxt();
34946    test_ret += test_xmlSchemaParse();
34947    test_ret += test_xmlSchemaSAXPlug();
34948    test_ret += test_xmlSchemaSAXUnplug();
34949    test_ret += test_xmlSchemaSetParserErrors();
34950    test_ret += test_xmlSchemaSetParserStructuredErrors();
34951    test_ret += test_xmlSchemaSetValidErrors();
34952    test_ret += test_xmlSchemaSetValidOptions();
34953    test_ret += test_xmlSchemaSetValidStructuredErrors();
34954    test_ret += test_xmlSchemaValidCtxtGetOptions();
34955    test_ret += test_xmlSchemaValidCtxtGetParserCtxt();
34956    test_ret += test_xmlSchemaValidateDoc();
34957    test_ret += test_xmlSchemaValidateFile();
34958    test_ret += test_xmlSchemaValidateOneElement();
34959    test_ret += test_xmlSchemaValidateSetFilename();
34960    test_ret += test_xmlSchemaValidateSetLocator();
34961    test_ret += test_xmlSchemaValidateStream();
34962
34963    if (test_ret != 0)
34964	printf("Module xmlschemas: %d errors\n", test_ret);
34965    return(test_ret);
34966}
34967#ifdef LIBXML_SCHEMAS_ENABLED
34968
34969#define gen_nb_xmlSchemaFacetPtr 1
34970static xmlSchemaFacetPtr gen_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34971    return(NULL);
34972}
34973static void des_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, xmlSchemaFacetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34974}
34975#endif
34976
34977#ifdef LIBXML_SCHEMAS_ENABLED
34978
34979#define gen_nb_xmlSchemaTypePtr 1
34980static xmlSchemaTypePtr gen_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34981    return(NULL);
34982}
34983static void des_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, xmlSchemaTypePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
34984}
34985#endif
34986
34987
34988static int
34989test_xmlSchemaCheckFacet(void) {
34990    int test_ret = 0;
34991
34992#if defined(LIBXML_SCHEMAS_ENABLED)
34993    int mem_base;
34994    int ret_val;
34995    xmlSchemaFacetPtr facet; /* the facet */
34996    int n_facet;
34997    xmlSchemaTypePtr typeDecl; /* the schema type definition */
34998    int n_typeDecl;
34999    xmlSchemaParserCtxtPtr pctxt; /* the schema parser context or NULL */
35000    int n_pctxt;
35001    xmlChar * name; /* the optional name of the type */
35002    int n_name;
35003
35004    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35005    for (n_typeDecl = 0;n_typeDecl < gen_nb_xmlSchemaTypePtr;n_typeDecl++) {
35006    for (n_pctxt = 0;n_pctxt < gen_nb_xmlSchemaParserCtxtPtr;n_pctxt++) {
35007    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
35008        mem_base = xmlMemBlocks();
35009        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
35010        typeDecl = gen_xmlSchemaTypePtr(n_typeDecl, 1);
35011        pctxt = gen_xmlSchemaParserCtxtPtr(n_pctxt, 2);
35012        name = gen_const_xmlChar_ptr(n_name, 3);
35013
35014        ret_val = xmlSchemaCheckFacet(facet, typeDecl, pctxt, (const xmlChar *)name);
35015        desret_int(ret_val);
35016        call_tests++;
35017        des_xmlSchemaFacetPtr(n_facet, facet, 0);
35018        des_xmlSchemaTypePtr(n_typeDecl, typeDecl, 1);
35019        des_xmlSchemaParserCtxtPtr(n_pctxt, pctxt, 2);
35020        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
35021        xmlResetLastError();
35022        if (mem_base != xmlMemBlocks()) {
35023            printf("Leak of %d blocks found in xmlSchemaCheckFacet",
35024	           xmlMemBlocks() - mem_base);
35025	    test_ret++;
35026            printf(" %d", n_facet);
35027            printf(" %d", n_typeDecl);
35028            printf(" %d", n_pctxt);
35029            printf(" %d", n_name);
35030            printf("\n");
35031        }
35032    }
35033    }
35034    }
35035    }
35036    function_tests++;
35037#endif
35038
35039    return(test_ret);
35040}
35041
35042
35043static int
35044test_xmlSchemaCleanupTypes(void) {
35045    int test_ret = 0;
35046
35047#if defined(LIBXML_SCHEMAS_ENABLED)
35048
35049
35050        xmlSchemaCleanupTypes();
35051        call_tests++;
35052        xmlResetLastError();
35053    function_tests++;
35054#endif
35055
35056    return(test_ret);
35057}
35058
35059
35060static int
35061test_xmlSchemaCollapseString(void) {
35062    int test_ret = 0;
35063
35064#if defined(LIBXML_SCHEMAS_ENABLED)
35065    int mem_base;
35066    xmlChar * ret_val;
35067    xmlChar * value; /* a value */
35068    int n_value;
35069
35070    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35071        mem_base = xmlMemBlocks();
35072        value = gen_const_xmlChar_ptr(n_value, 0);
35073
35074        ret_val = xmlSchemaCollapseString((const xmlChar *)value);
35075        desret_xmlChar_ptr(ret_val);
35076        call_tests++;
35077        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
35078        xmlResetLastError();
35079        if (mem_base != xmlMemBlocks()) {
35080            printf("Leak of %d blocks found in xmlSchemaCollapseString",
35081	           xmlMemBlocks() - mem_base);
35082	    test_ret++;
35083            printf(" %d", n_value);
35084            printf("\n");
35085        }
35086    }
35087    function_tests++;
35088#endif
35089
35090    return(test_ret);
35091}
35092
35093#ifdef LIBXML_SCHEMAS_ENABLED
35094
35095#define gen_nb_xmlSchemaValPtr 1
35096static xmlSchemaValPtr gen_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
35097    return(NULL);
35098}
35099static void des_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
35100}
35101#endif
35102
35103
35104static int
35105test_xmlSchemaCompareValues(void) {
35106    int test_ret = 0;
35107
35108#if defined(LIBXML_SCHEMAS_ENABLED)
35109    int mem_base;
35110    int ret_val;
35111    xmlSchemaValPtr x; /* a first value */
35112    int n_x;
35113    xmlSchemaValPtr y; /* a second value */
35114    int n_y;
35115
35116    for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
35117    for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
35118        mem_base = xmlMemBlocks();
35119        x = gen_xmlSchemaValPtr(n_x, 0);
35120        y = gen_xmlSchemaValPtr(n_y, 1);
35121
35122        ret_val = xmlSchemaCompareValues(x, y);
35123        desret_int(ret_val);
35124        call_tests++;
35125        des_xmlSchemaValPtr(n_x, x, 0);
35126        des_xmlSchemaValPtr(n_y, y, 1);
35127        xmlResetLastError();
35128        if (mem_base != xmlMemBlocks()) {
35129            printf("Leak of %d blocks found in xmlSchemaCompareValues",
35130	           xmlMemBlocks() - mem_base);
35131	    test_ret++;
35132            printf(" %d", n_x);
35133            printf(" %d", n_y);
35134            printf("\n");
35135        }
35136    }
35137    }
35138    function_tests++;
35139#endif
35140
35141    return(test_ret);
35142}
35143
35144
35145static int
35146test_xmlSchemaCompareValuesWhtsp(void) {
35147    int test_ret = 0;
35148
35149#if defined(LIBXML_SCHEMAS_ENABLED)
35150    int mem_base;
35151    int ret_val;
35152    xmlSchemaValPtr x; /* a first value */
35153    int n_x;
35154    xmlSchemaWhitespaceValueType xws; /* the whitespace value of x */
35155    int n_xws;
35156    xmlSchemaValPtr y; /* a second value */
35157    int n_y;
35158    xmlSchemaWhitespaceValueType yws; /* the whitespace value of y */
35159    int n_yws;
35160
35161    for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
35162    for (n_xws = 0;n_xws < gen_nb_xmlSchemaWhitespaceValueType;n_xws++) {
35163    for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
35164    for (n_yws = 0;n_yws < gen_nb_xmlSchemaWhitespaceValueType;n_yws++) {
35165        mem_base = xmlMemBlocks();
35166        x = gen_xmlSchemaValPtr(n_x, 0);
35167        xws = gen_xmlSchemaWhitespaceValueType(n_xws, 1);
35168        y = gen_xmlSchemaValPtr(n_y, 2);
35169        yws = gen_xmlSchemaWhitespaceValueType(n_yws, 3);
35170
35171        ret_val = xmlSchemaCompareValuesWhtsp(x, xws, y, yws);
35172        desret_int(ret_val);
35173        call_tests++;
35174        des_xmlSchemaValPtr(n_x, x, 0);
35175        des_xmlSchemaWhitespaceValueType(n_xws, xws, 1);
35176        des_xmlSchemaValPtr(n_y, y, 2);
35177        des_xmlSchemaWhitespaceValueType(n_yws, yws, 3);
35178        xmlResetLastError();
35179        if (mem_base != xmlMemBlocks()) {
35180            printf("Leak of %d blocks found in xmlSchemaCompareValuesWhtsp",
35181	           xmlMemBlocks() - mem_base);
35182	    test_ret++;
35183            printf(" %d", n_x);
35184            printf(" %d", n_xws);
35185            printf(" %d", n_y);
35186            printf(" %d", n_yws);
35187            printf("\n");
35188        }
35189    }
35190    }
35191    }
35192    }
35193    function_tests++;
35194#endif
35195
35196    return(test_ret);
35197}
35198
35199
35200static int
35201test_xmlSchemaCopyValue(void) {
35202    int test_ret = 0;
35203
35204
35205    /* missing type support */
35206    return(test_ret);
35207}
35208
35209
35210static int
35211test_xmlSchemaGetBuiltInListSimpleTypeItemType(void) {
35212    int test_ret = 0;
35213
35214#if defined(LIBXML_SCHEMAS_ENABLED)
35215    int mem_base;
35216    xmlSchemaTypePtr ret_val;
35217    xmlSchemaTypePtr type; /* the built-in simple type. */
35218    int n_type;
35219
35220    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
35221        mem_base = xmlMemBlocks();
35222        type = gen_xmlSchemaTypePtr(n_type, 0);
35223
35224        ret_val = xmlSchemaGetBuiltInListSimpleTypeItemType(type);
35225        desret_xmlSchemaTypePtr(ret_val);
35226        call_tests++;
35227        des_xmlSchemaTypePtr(n_type, type, 0);
35228        xmlResetLastError();
35229        if (mem_base != xmlMemBlocks()) {
35230            printf("Leak of %d blocks found in xmlSchemaGetBuiltInListSimpleTypeItemType",
35231	           xmlMemBlocks() - mem_base);
35232	    test_ret++;
35233            printf(" %d", n_type);
35234            printf("\n");
35235        }
35236    }
35237    function_tests++;
35238#endif
35239
35240    return(test_ret);
35241}
35242
35243
35244static int
35245test_xmlSchemaGetBuiltInType(void) {
35246    int test_ret = 0;
35247
35248#if defined(LIBXML_SCHEMAS_ENABLED)
35249    xmlSchemaTypePtr ret_val;
35250    xmlSchemaValType type; /* the type of the built in type */
35251    int n_type;
35252
35253    for (n_type = 0;n_type < gen_nb_xmlSchemaValType;n_type++) {
35254        type = gen_xmlSchemaValType(n_type, 0);
35255
35256        ret_val = xmlSchemaGetBuiltInType(type);
35257        desret_xmlSchemaTypePtr(ret_val);
35258        call_tests++;
35259        des_xmlSchemaValType(n_type, type, 0);
35260        xmlResetLastError();
35261    }
35262    function_tests++;
35263#endif
35264
35265    return(test_ret);
35266}
35267
35268
35269static int
35270test_xmlSchemaGetCanonValue(void) {
35271    int test_ret = 0;
35272
35273#if defined(LIBXML_SCHEMAS_ENABLED)
35274    int mem_base;
35275    int ret_val;
35276    xmlSchemaValPtr val; /* the precomputed value */
35277    int n_val;
35278    xmlChar ** retValue; /* the returned value */
35279    int n_retValue;
35280
35281    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35282    for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
35283        mem_base = xmlMemBlocks();
35284        val = gen_xmlSchemaValPtr(n_val, 0);
35285        retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
35286
35287        ret_val = xmlSchemaGetCanonValue(val, (const xmlChar **)retValue);
35288        desret_int(ret_val);
35289        call_tests++;
35290        des_xmlSchemaValPtr(n_val, val, 0);
35291        des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
35292        xmlResetLastError();
35293        if (mem_base != xmlMemBlocks()) {
35294            printf("Leak of %d blocks found in xmlSchemaGetCanonValue",
35295	           xmlMemBlocks() - mem_base);
35296	    test_ret++;
35297            printf(" %d", n_val);
35298            printf(" %d", n_retValue);
35299            printf("\n");
35300        }
35301    }
35302    }
35303    function_tests++;
35304#endif
35305
35306    return(test_ret);
35307}
35308
35309
35310static int
35311test_xmlSchemaGetCanonValueWhtsp(void) {
35312    int test_ret = 0;
35313
35314#if defined(LIBXML_SCHEMAS_ENABLED)
35315    int mem_base;
35316    int ret_val;
35317    xmlSchemaValPtr val; /* the precomputed value */
35318    int n_val;
35319    xmlChar ** retValue; /* the returned value */
35320    int n_retValue;
35321    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
35322    int n_ws;
35323
35324    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35325    for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
35326    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
35327        mem_base = xmlMemBlocks();
35328        val = gen_xmlSchemaValPtr(n_val, 0);
35329        retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
35330        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 2);
35331
35332        ret_val = xmlSchemaGetCanonValueWhtsp(val, (const xmlChar **)retValue, ws);
35333        desret_int(ret_val);
35334        call_tests++;
35335        des_xmlSchemaValPtr(n_val, val, 0);
35336        des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
35337        des_xmlSchemaWhitespaceValueType(n_ws, ws, 2);
35338        xmlResetLastError();
35339        if (mem_base != xmlMemBlocks()) {
35340            printf("Leak of %d blocks found in xmlSchemaGetCanonValueWhtsp",
35341	           xmlMemBlocks() - mem_base);
35342	    test_ret++;
35343            printf(" %d", n_val);
35344            printf(" %d", n_retValue);
35345            printf(" %d", n_ws);
35346            printf("\n");
35347        }
35348    }
35349    }
35350    }
35351    function_tests++;
35352#endif
35353
35354    return(test_ret);
35355}
35356
35357
35358static int
35359test_xmlSchemaGetFacetValueAsULong(void) {
35360    int test_ret = 0;
35361
35362#if defined(LIBXML_SCHEMAS_ENABLED)
35363    int mem_base;
35364    unsigned long ret_val;
35365    xmlSchemaFacetPtr facet; /* an schemas type facet */
35366    int n_facet;
35367
35368    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35369        mem_base = xmlMemBlocks();
35370        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
35371
35372        ret_val = xmlSchemaGetFacetValueAsULong(facet);
35373        desret_unsigned_long(ret_val);
35374        call_tests++;
35375        des_xmlSchemaFacetPtr(n_facet, facet, 0);
35376        xmlResetLastError();
35377        if (mem_base != xmlMemBlocks()) {
35378            printf("Leak of %d blocks found in xmlSchemaGetFacetValueAsULong",
35379	           xmlMemBlocks() - mem_base);
35380	    test_ret++;
35381            printf(" %d", n_facet);
35382            printf("\n");
35383        }
35384    }
35385    function_tests++;
35386#endif
35387
35388    return(test_ret);
35389}
35390
35391
35392static int
35393test_xmlSchemaGetPredefinedType(void) {
35394    int test_ret = 0;
35395
35396#if defined(LIBXML_SCHEMAS_ENABLED)
35397    int mem_base;
35398    xmlSchemaTypePtr ret_val;
35399    xmlChar * name; /* the type name */
35400    int n_name;
35401    xmlChar * ns; /* the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" */
35402    int n_ns;
35403
35404    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
35405    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
35406        mem_base = xmlMemBlocks();
35407        name = gen_const_xmlChar_ptr(n_name, 0);
35408        ns = gen_const_xmlChar_ptr(n_ns, 1);
35409
35410        ret_val = xmlSchemaGetPredefinedType((const xmlChar *)name, (const xmlChar *)ns);
35411        desret_xmlSchemaTypePtr(ret_val);
35412        call_tests++;
35413        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
35414        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 1);
35415        xmlResetLastError();
35416        if (mem_base != xmlMemBlocks()) {
35417            printf("Leak of %d blocks found in xmlSchemaGetPredefinedType",
35418	           xmlMemBlocks() - mem_base);
35419	    test_ret++;
35420            printf(" %d", n_name);
35421            printf(" %d", n_ns);
35422            printf("\n");
35423        }
35424    }
35425    }
35426    function_tests++;
35427#endif
35428
35429    return(test_ret);
35430}
35431
35432
35433static int
35434test_xmlSchemaGetValType(void) {
35435    int test_ret = 0;
35436
35437#if defined(LIBXML_SCHEMAS_ENABLED)
35438    int mem_base;
35439    xmlSchemaValType ret_val;
35440    xmlSchemaValPtr val; /* a schemas value */
35441    int n_val;
35442
35443    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35444        mem_base = xmlMemBlocks();
35445        val = gen_xmlSchemaValPtr(n_val, 0);
35446
35447        ret_val = xmlSchemaGetValType(val);
35448        desret_xmlSchemaValType(ret_val);
35449        call_tests++;
35450        des_xmlSchemaValPtr(n_val, val, 0);
35451        xmlResetLastError();
35452        if (mem_base != xmlMemBlocks()) {
35453            printf("Leak of %d blocks found in xmlSchemaGetValType",
35454	           xmlMemBlocks() - mem_base);
35455	    test_ret++;
35456            printf(" %d", n_val);
35457            printf("\n");
35458        }
35459    }
35460    function_tests++;
35461#endif
35462
35463    return(test_ret);
35464}
35465
35466
35467static int
35468test_xmlSchemaInitTypes(void) {
35469    int test_ret = 0;
35470
35471#if defined(LIBXML_SCHEMAS_ENABLED)
35472
35473
35474        xmlSchemaInitTypes();
35475        call_tests++;
35476        xmlResetLastError();
35477    function_tests++;
35478#endif
35479
35480    return(test_ret);
35481}
35482
35483
35484static int
35485test_xmlSchemaIsBuiltInTypeFacet(void) {
35486    int test_ret = 0;
35487
35488#if defined(LIBXML_SCHEMAS_ENABLED)
35489    int mem_base;
35490    int ret_val;
35491    xmlSchemaTypePtr type; /* the built-in type */
35492    int n_type;
35493    int facetType; /* the facet type */
35494    int n_facetType;
35495
35496    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
35497    for (n_facetType = 0;n_facetType < gen_nb_int;n_facetType++) {
35498        mem_base = xmlMemBlocks();
35499        type = gen_xmlSchemaTypePtr(n_type, 0);
35500        facetType = gen_int(n_facetType, 1);
35501
35502        ret_val = xmlSchemaIsBuiltInTypeFacet(type, facetType);
35503        desret_int(ret_val);
35504        call_tests++;
35505        des_xmlSchemaTypePtr(n_type, type, 0);
35506        des_int(n_facetType, facetType, 1);
35507        xmlResetLastError();
35508        if (mem_base != xmlMemBlocks()) {
35509            printf("Leak of %d blocks found in xmlSchemaIsBuiltInTypeFacet",
35510	           xmlMemBlocks() - mem_base);
35511	    test_ret++;
35512            printf(" %d", n_type);
35513            printf(" %d", n_facetType);
35514            printf("\n");
35515        }
35516    }
35517    }
35518    function_tests++;
35519#endif
35520
35521    return(test_ret);
35522}
35523
35524
35525static int
35526test_xmlSchemaNewFacet(void) {
35527    int test_ret = 0;
35528
35529
35530    /* missing type support */
35531    return(test_ret);
35532}
35533
35534
35535static int
35536test_xmlSchemaNewNOTATIONValue(void) {
35537    int test_ret = 0;
35538
35539
35540    /* missing type support */
35541    return(test_ret);
35542}
35543
35544
35545static int
35546test_xmlSchemaNewQNameValue(void) {
35547    int test_ret = 0;
35548
35549
35550    /* missing type support */
35551    return(test_ret);
35552}
35553
35554
35555static int
35556test_xmlSchemaNewStringValue(void) {
35557    int test_ret = 0;
35558
35559
35560    /* missing type support */
35561    return(test_ret);
35562}
35563
35564#ifdef LIBXML_SCHEMAS_ENABLED
35565
35566#define gen_nb_xmlSchemaValPtr_ptr 1
35567static xmlSchemaValPtr * gen_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
35568    return(NULL);
35569}
35570static void des_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
35571}
35572#endif
35573
35574
35575static int
35576test_xmlSchemaValPredefTypeNode(void) {
35577    int test_ret = 0;
35578
35579#if defined(LIBXML_SCHEMAS_ENABLED)
35580    int mem_base;
35581    int ret_val;
35582    xmlSchemaTypePtr type; /* the predefined type */
35583    int n_type;
35584    xmlChar * value; /* the value to check */
35585    int n_value;
35586    xmlSchemaValPtr * val; /* the return computed value */
35587    int n_val;
35588    xmlNodePtr node; /* the node containing the value */
35589    int n_node;
35590
35591    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
35592    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35593    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
35594    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
35595        mem_base = xmlMemBlocks();
35596        type = gen_xmlSchemaTypePtr(n_type, 0);
35597        value = gen_const_xmlChar_ptr(n_value, 1);
35598        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
35599        node = gen_xmlNodePtr(n_node, 3);
35600
35601        ret_val = xmlSchemaValPredefTypeNode(type, (const xmlChar *)value, val, node);
35602        desret_int(ret_val);
35603        call_tests++;
35604        des_xmlSchemaTypePtr(n_type, type, 0);
35605        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
35606        des_xmlSchemaValPtr_ptr(n_val, val, 2);
35607        des_xmlNodePtr(n_node, node, 3);
35608        xmlResetLastError();
35609        if (mem_base != xmlMemBlocks()) {
35610            printf("Leak of %d blocks found in xmlSchemaValPredefTypeNode",
35611	           xmlMemBlocks() - mem_base);
35612	    test_ret++;
35613            printf(" %d", n_type);
35614            printf(" %d", n_value);
35615            printf(" %d", n_val);
35616            printf(" %d", n_node);
35617            printf("\n");
35618        }
35619    }
35620    }
35621    }
35622    }
35623    function_tests++;
35624#endif
35625
35626    return(test_ret);
35627}
35628
35629
35630static int
35631test_xmlSchemaValPredefTypeNodeNoNorm(void) {
35632    int test_ret = 0;
35633
35634#if defined(LIBXML_SCHEMAS_ENABLED)
35635    int mem_base;
35636    int ret_val;
35637    xmlSchemaTypePtr type; /* the predefined type */
35638    int n_type;
35639    xmlChar * value; /* the value to check */
35640    int n_value;
35641    xmlSchemaValPtr * val; /* the return computed value */
35642    int n_val;
35643    xmlNodePtr node; /* the node containing the value */
35644    int n_node;
35645
35646    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
35647    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35648    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
35649    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
35650        mem_base = xmlMemBlocks();
35651        type = gen_xmlSchemaTypePtr(n_type, 0);
35652        value = gen_const_xmlChar_ptr(n_value, 1);
35653        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
35654        node = gen_xmlNodePtr(n_node, 3);
35655
35656        ret_val = xmlSchemaValPredefTypeNodeNoNorm(type, (const xmlChar *)value, val, node);
35657        desret_int(ret_val);
35658        call_tests++;
35659        des_xmlSchemaTypePtr(n_type, type, 0);
35660        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
35661        des_xmlSchemaValPtr_ptr(n_val, val, 2);
35662        des_xmlNodePtr(n_node, node, 3);
35663        xmlResetLastError();
35664        if (mem_base != xmlMemBlocks()) {
35665            printf("Leak of %d blocks found in xmlSchemaValPredefTypeNodeNoNorm",
35666	           xmlMemBlocks() - mem_base);
35667	    test_ret++;
35668            printf(" %d", n_type);
35669            printf(" %d", n_value);
35670            printf(" %d", n_val);
35671            printf(" %d", n_node);
35672            printf("\n");
35673        }
35674    }
35675    }
35676    }
35677    }
35678    function_tests++;
35679#endif
35680
35681    return(test_ret);
35682}
35683
35684
35685static int
35686test_xmlSchemaValidateFacet(void) {
35687    int test_ret = 0;
35688
35689#if defined(LIBXML_SCHEMAS_ENABLED)
35690    int mem_base;
35691    int ret_val;
35692    xmlSchemaTypePtr base; /* the base type */
35693    int n_base;
35694    xmlSchemaFacetPtr facet; /* the facet to check */
35695    int n_facet;
35696    xmlChar * value; /* the lexical repr of the value to validate */
35697    int n_value;
35698    xmlSchemaValPtr val; /* the precomputed value */
35699    int n_val;
35700
35701    for (n_base = 0;n_base < gen_nb_xmlSchemaTypePtr;n_base++) {
35702    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35703    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35704    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35705        mem_base = xmlMemBlocks();
35706        base = gen_xmlSchemaTypePtr(n_base, 0);
35707        facet = gen_xmlSchemaFacetPtr(n_facet, 1);
35708        value = gen_const_xmlChar_ptr(n_value, 2);
35709        val = gen_xmlSchemaValPtr(n_val, 3);
35710
35711        ret_val = xmlSchemaValidateFacet(base, facet, (const xmlChar *)value, val);
35712        desret_int(ret_val);
35713        call_tests++;
35714        des_xmlSchemaTypePtr(n_base, base, 0);
35715        des_xmlSchemaFacetPtr(n_facet, facet, 1);
35716        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
35717        des_xmlSchemaValPtr(n_val, val, 3);
35718        xmlResetLastError();
35719        if (mem_base != xmlMemBlocks()) {
35720            printf("Leak of %d blocks found in xmlSchemaValidateFacet",
35721	           xmlMemBlocks() - mem_base);
35722	    test_ret++;
35723            printf(" %d", n_base);
35724            printf(" %d", n_facet);
35725            printf(" %d", n_value);
35726            printf(" %d", n_val);
35727            printf("\n");
35728        }
35729    }
35730    }
35731    }
35732    }
35733    function_tests++;
35734#endif
35735
35736    return(test_ret);
35737}
35738
35739
35740static int
35741test_xmlSchemaValidateFacetWhtsp(void) {
35742    int test_ret = 0;
35743
35744#if defined(LIBXML_SCHEMAS_ENABLED)
35745    int mem_base;
35746    int ret_val;
35747    xmlSchemaFacetPtr facet; /* the facet to check */
35748    int n_facet;
35749    xmlSchemaWhitespaceValueType fws; /* the whitespace type of the facet's value */
35750    int n_fws;
35751    xmlSchemaValType valType; /* the built-in type of the value */
35752    int n_valType;
35753    xmlChar * value; /* the lexical (or normalized for pattern) repr of the value to validate */
35754    int n_value;
35755    xmlSchemaValPtr val; /* the precomputed value */
35756    int n_val;
35757    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
35758    int n_ws;
35759
35760    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35761    for (n_fws = 0;n_fws < gen_nb_xmlSchemaWhitespaceValueType;n_fws++) {
35762    for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
35763    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35764    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35765    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
35766        mem_base = xmlMemBlocks();
35767        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
35768        fws = gen_xmlSchemaWhitespaceValueType(n_fws, 1);
35769        valType = gen_xmlSchemaValType(n_valType, 2);
35770        value = gen_const_xmlChar_ptr(n_value, 3);
35771        val = gen_xmlSchemaValPtr(n_val, 4);
35772        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
35773
35774        ret_val = xmlSchemaValidateFacetWhtsp(facet, fws, valType, (const xmlChar *)value, val, ws);
35775        desret_int(ret_val);
35776        call_tests++;
35777        des_xmlSchemaFacetPtr(n_facet, facet, 0);
35778        des_xmlSchemaWhitespaceValueType(n_fws, fws, 1);
35779        des_xmlSchemaValType(n_valType, valType, 2);
35780        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
35781        des_xmlSchemaValPtr(n_val, val, 4);
35782        des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
35783        xmlResetLastError();
35784        if (mem_base != xmlMemBlocks()) {
35785            printf("Leak of %d blocks found in xmlSchemaValidateFacetWhtsp",
35786	           xmlMemBlocks() - mem_base);
35787	    test_ret++;
35788            printf(" %d", n_facet);
35789            printf(" %d", n_fws);
35790            printf(" %d", n_valType);
35791            printf(" %d", n_value);
35792            printf(" %d", n_val);
35793            printf(" %d", n_ws);
35794            printf("\n");
35795        }
35796    }
35797    }
35798    }
35799    }
35800    }
35801    }
35802    function_tests++;
35803#endif
35804
35805    return(test_ret);
35806}
35807
35808
35809static int
35810test_xmlSchemaValidateLengthFacet(void) {
35811    int test_ret = 0;
35812
35813#if defined(LIBXML_SCHEMAS_ENABLED)
35814    int mem_base;
35815    int ret_val;
35816    xmlSchemaTypePtr type; /* the built-in type */
35817    int n_type;
35818    xmlSchemaFacetPtr facet; /* the facet to check */
35819    int n_facet;
35820    xmlChar * value; /* the lexical repr. of the value to be validated */
35821    int n_value;
35822    xmlSchemaValPtr val; /* the precomputed value */
35823    int n_val;
35824    unsigned long * length; /* the actual length of the value */
35825    int n_length;
35826
35827    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
35828    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35829    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35830    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35831    for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
35832        mem_base = xmlMemBlocks();
35833        type = gen_xmlSchemaTypePtr(n_type, 0);
35834        facet = gen_xmlSchemaFacetPtr(n_facet, 1);
35835        value = gen_const_xmlChar_ptr(n_value, 2);
35836        val = gen_xmlSchemaValPtr(n_val, 3);
35837        length = gen_unsigned_long_ptr(n_length, 4);
35838
35839        ret_val = xmlSchemaValidateLengthFacet(type, facet, (const xmlChar *)value, val, length);
35840        desret_int(ret_val);
35841        call_tests++;
35842        des_xmlSchemaTypePtr(n_type, type, 0);
35843        des_xmlSchemaFacetPtr(n_facet, facet, 1);
35844        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
35845        des_xmlSchemaValPtr(n_val, val, 3);
35846        des_unsigned_long_ptr(n_length, length, 4);
35847        xmlResetLastError();
35848        if (mem_base != xmlMemBlocks()) {
35849            printf("Leak of %d blocks found in xmlSchemaValidateLengthFacet",
35850	           xmlMemBlocks() - mem_base);
35851	    test_ret++;
35852            printf(" %d", n_type);
35853            printf(" %d", n_facet);
35854            printf(" %d", n_value);
35855            printf(" %d", n_val);
35856            printf(" %d", n_length);
35857            printf("\n");
35858        }
35859    }
35860    }
35861    }
35862    }
35863    }
35864    function_tests++;
35865#endif
35866
35867    return(test_ret);
35868}
35869
35870
35871static int
35872test_xmlSchemaValidateLengthFacetWhtsp(void) {
35873    int test_ret = 0;
35874
35875#if defined(LIBXML_SCHEMAS_ENABLED)
35876    int mem_base;
35877    int ret_val;
35878    xmlSchemaFacetPtr facet; /* the facet to check */
35879    int n_facet;
35880    xmlSchemaValType valType; /* the built-in type */
35881    int n_valType;
35882    xmlChar * value; /* the lexical repr. of the value to be validated */
35883    int n_value;
35884    xmlSchemaValPtr val; /* the precomputed value */
35885    int n_val;
35886    unsigned long * length; /* the actual length of the value */
35887    int n_length;
35888    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
35889    int n_ws;
35890
35891    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35892    for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
35893    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35894    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
35895    for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
35896    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
35897        mem_base = xmlMemBlocks();
35898        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
35899        valType = gen_xmlSchemaValType(n_valType, 1);
35900        value = gen_const_xmlChar_ptr(n_value, 2);
35901        val = gen_xmlSchemaValPtr(n_val, 3);
35902        length = gen_unsigned_long_ptr(n_length, 4);
35903        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
35904
35905        ret_val = xmlSchemaValidateLengthFacetWhtsp(facet, valType, (const xmlChar *)value, val, length, ws);
35906        desret_int(ret_val);
35907        call_tests++;
35908        des_xmlSchemaFacetPtr(n_facet, facet, 0);
35909        des_xmlSchemaValType(n_valType, valType, 1);
35910        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
35911        des_xmlSchemaValPtr(n_val, val, 3);
35912        des_unsigned_long_ptr(n_length, length, 4);
35913        des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
35914        xmlResetLastError();
35915        if (mem_base != xmlMemBlocks()) {
35916            printf("Leak of %d blocks found in xmlSchemaValidateLengthFacetWhtsp",
35917	           xmlMemBlocks() - mem_base);
35918	    test_ret++;
35919            printf(" %d", n_facet);
35920            printf(" %d", n_valType);
35921            printf(" %d", n_value);
35922            printf(" %d", n_val);
35923            printf(" %d", n_length);
35924            printf(" %d", n_ws);
35925            printf("\n");
35926        }
35927    }
35928    }
35929    }
35930    }
35931    }
35932    }
35933    function_tests++;
35934#endif
35935
35936    return(test_ret);
35937}
35938
35939
35940static int
35941test_xmlSchemaValidateListSimpleTypeFacet(void) {
35942    int test_ret = 0;
35943
35944#if defined(LIBXML_SCHEMAS_ENABLED)
35945    int mem_base;
35946    int ret_val;
35947    xmlSchemaFacetPtr facet; /* the facet to check */
35948    int n_facet;
35949    xmlChar * value; /* the lexical repr of the value to validate */
35950    int n_value;
35951    unsigned long actualLen; /* the number of list items */
35952    int n_actualLen;
35953    unsigned long * expectedLen; /* the resulting expected number of list items */
35954    int n_expectedLen;
35955
35956    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
35957    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
35958    for (n_actualLen = 0;n_actualLen < gen_nb_unsigned_long;n_actualLen++) {
35959    for (n_expectedLen = 0;n_expectedLen < gen_nb_unsigned_long_ptr;n_expectedLen++) {
35960        mem_base = xmlMemBlocks();
35961        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
35962        value = gen_const_xmlChar_ptr(n_value, 1);
35963        actualLen = gen_unsigned_long(n_actualLen, 2);
35964        expectedLen = gen_unsigned_long_ptr(n_expectedLen, 3);
35965
35966        ret_val = xmlSchemaValidateListSimpleTypeFacet(facet, (const xmlChar *)value, actualLen, expectedLen);
35967        desret_int(ret_val);
35968        call_tests++;
35969        des_xmlSchemaFacetPtr(n_facet, facet, 0);
35970        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
35971        des_unsigned_long(n_actualLen, actualLen, 2);
35972        des_unsigned_long_ptr(n_expectedLen, expectedLen, 3);
35973        xmlResetLastError();
35974        if (mem_base != xmlMemBlocks()) {
35975            printf("Leak of %d blocks found in xmlSchemaValidateListSimpleTypeFacet",
35976	           xmlMemBlocks() - mem_base);
35977	    test_ret++;
35978            printf(" %d", n_facet);
35979            printf(" %d", n_value);
35980            printf(" %d", n_actualLen);
35981            printf(" %d", n_expectedLen);
35982            printf("\n");
35983        }
35984    }
35985    }
35986    }
35987    }
35988    function_tests++;
35989#endif
35990
35991    return(test_ret);
35992}
35993
35994
35995static int
35996test_xmlSchemaValidatePredefinedType(void) {
35997    int test_ret = 0;
35998
35999#if defined(LIBXML_SCHEMAS_ENABLED)
36000    int mem_base;
36001    int ret_val;
36002    xmlSchemaTypePtr type; /* the predefined type */
36003    int n_type;
36004    xmlChar * value; /* the value to check */
36005    int n_value;
36006    xmlSchemaValPtr * val; /* the return computed value */
36007    int n_val;
36008
36009    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
36010    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
36011    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
36012        mem_base = xmlMemBlocks();
36013        type = gen_xmlSchemaTypePtr(n_type, 0);
36014        value = gen_const_xmlChar_ptr(n_value, 1);
36015        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
36016
36017        ret_val = xmlSchemaValidatePredefinedType(type, (const xmlChar *)value, val);
36018        desret_int(ret_val);
36019        call_tests++;
36020        des_xmlSchemaTypePtr(n_type, type, 0);
36021        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
36022        des_xmlSchemaValPtr_ptr(n_val, val, 2);
36023        xmlResetLastError();
36024        if (mem_base != xmlMemBlocks()) {
36025            printf("Leak of %d blocks found in xmlSchemaValidatePredefinedType",
36026	           xmlMemBlocks() - mem_base);
36027	    test_ret++;
36028            printf(" %d", n_type);
36029            printf(" %d", n_value);
36030            printf(" %d", n_val);
36031            printf("\n");
36032        }
36033    }
36034    }
36035    }
36036    function_tests++;
36037#endif
36038
36039    return(test_ret);
36040}
36041
36042
36043static int
36044test_xmlSchemaValueAppend(void) {
36045    int test_ret = 0;
36046
36047#if defined(LIBXML_SCHEMAS_ENABLED)
36048    int mem_base;
36049    int ret_val;
36050    xmlSchemaValPtr prev; /* the value */
36051    int n_prev;
36052    xmlSchemaValPtr cur; /* the value to be appended */
36053    int n_cur;
36054
36055    for (n_prev = 0;n_prev < gen_nb_xmlSchemaValPtr;n_prev++) {
36056    for (n_cur = 0;n_cur < gen_nb_xmlSchemaValPtr;n_cur++) {
36057        mem_base = xmlMemBlocks();
36058        prev = gen_xmlSchemaValPtr(n_prev, 0);
36059        cur = gen_xmlSchemaValPtr(n_cur, 1);
36060
36061        ret_val = xmlSchemaValueAppend(prev, cur);
36062        desret_int(ret_val);
36063        call_tests++;
36064        des_xmlSchemaValPtr(n_prev, prev, 0);
36065        des_xmlSchemaValPtr(n_cur, cur, 1);
36066        xmlResetLastError();
36067        if (mem_base != xmlMemBlocks()) {
36068            printf("Leak of %d blocks found in xmlSchemaValueAppend",
36069	           xmlMemBlocks() - mem_base);
36070	    test_ret++;
36071            printf(" %d", n_prev);
36072            printf(" %d", n_cur);
36073            printf("\n");
36074        }
36075    }
36076    }
36077    function_tests++;
36078#endif
36079
36080    return(test_ret);
36081}
36082
36083
36084static int
36085test_xmlSchemaValueGetAsBoolean(void) {
36086    int test_ret = 0;
36087
36088#if defined(LIBXML_SCHEMAS_ENABLED)
36089    int mem_base;
36090    int ret_val;
36091    xmlSchemaValPtr val; /* the value */
36092    int n_val;
36093
36094    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
36095        mem_base = xmlMemBlocks();
36096        val = gen_xmlSchemaValPtr(n_val, 0);
36097
36098        ret_val = xmlSchemaValueGetAsBoolean(val);
36099        desret_int(ret_val);
36100        call_tests++;
36101        des_xmlSchemaValPtr(n_val, val, 0);
36102        xmlResetLastError();
36103        if (mem_base != xmlMemBlocks()) {
36104            printf("Leak of %d blocks found in xmlSchemaValueGetAsBoolean",
36105	           xmlMemBlocks() - mem_base);
36106	    test_ret++;
36107            printf(" %d", n_val);
36108            printf("\n");
36109        }
36110    }
36111    function_tests++;
36112#endif
36113
36114    return(test_ret);
36115}
36116
36117
36118static int
36119test_xmlSchemaValueGetAsString(void) {
36120    int test_ret = 0;
36121
36122#if defined(LIBXML_SCHEMAS_ENABLED)
36123    int mem_base;
36124    const xmlChar * ret_val;
36125    xmlSchemaValPtr val; /* the value */
36126    int n_val;
36127
36128    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
36129        mem_base = xmlMemBlocks();
36130        val = gen_xmlSchemaValPtr(n_val, 0);
36131
36132        ret_val = xmlSchemaValueGetAsString(val);
36133        desret_const_xmlChar_ptr(ret_val);
36134        call_tests++;
36135        des_xmlSchemaValPtr(n_val, val, 0);
36136        xmlResetLastError();
36137        if (mem_base != xmlMemBlocks()) {
36138            printf("Leak of %d blocks found in xmlSchemaValueGetAsString",
36139	           xmlMemBlocks() - mem_base);
36140	    test_ret++;
36141            printf(" %d", n_val);
36142            printf("\n");
36143        }
36144    }
36145    function_tests++;
36146#endif
36147
36148    return(test_ret);
36149}
36150
36151
36152static int
36153test_xmlSchemaValueGetNext(void) {
36154    int test_ret = 0;
36155
36156
36157    /* missing type support */
36158    return(test_ret);
36159}
36160
36161
36162static int
36163test_xmlSchemaWhiteSpaceReplace(void) {
36164    int test_ret = 0;
36165
36166#if defined(LIBXML_SCHEMAS_ENABLED)
36167    int mem_base;
36168    xmlChar * ret_val;
36169    xmlChar * value; /* a value */
36170    int n_value;
36171
36172    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
36173        mem_base = xmlMemBlocks();
36174        value = gen_const_xmlChar_ptr(n_value, 0);
36175
36176        ret_val = xmlSchemaWhiteSpaceReplace((const xmlChar *)value);
36177        desret_xmlChar_ptr(ret_val);
36178        call_tests++;
36179        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
36180        xmlResetLastError();
36181        if (mem_base != xmlMemBlocks()) {
36182            printf("Leak of %d blocks found in xmlSchemaWhiteSpaceReplace",
36183	           xmlMemBlocks() - mem_base);
36184	    test_ret++;
36185            printf(" %d", n_value);
36186            printf("\n");
36187        }
36188    }
36189    function_tests++;
36190#endif
36191
36192    return(test_ret);
36193}
36194
36195static int
36196test_xmlschemastypes(void) {
36197    int test_ret = 0;
36198
36199    if (quiet == 0) printf("Testing xmlschemastypes : 26 of 34 functions ...\n");
36200    test_ret += test_xmlSchemaCheckFacet();
36201    test_ret += test_xmlSchemaCleanupTypes();
36202    test_ret += test_xmlSchemaCollapseString();
36203    test_ret += test_xmlSchemaCompareValues();
36204    test_ret += test_xmlSchemaCompareValuesWhtsp();
36205    test_ret += test_xmlSchemaCopyValue();
36206    test_ret += test_xmlSchemaGetBuiltInListSimpleTypeItemType();
36207    test_ret += test_xmlSchemaGetBuiltInType();
36208    test_ret += test_xmlSchemaGetCanonValue();
36209    test_ret += test_xmlSchemaGetCanonValueWhtsp();
36210    test_ret += test_xmlSchemaGetFacetValueAsULong();
36211    test_ret += test_xmlSchemaGetPredefinedType();
36212    test_ret += test_xmlSchemaGetValType();
36213    test_ret += test_xmlSchemaInitTypes();
36214    test_ret += test_xmlSchemaIsBuiltInTypeFacet();
36215    test_ret += test_xmlSchemaNewFacet();
36216    test_ret += test_xmlSchemaNewNOTATIONValue();
36217    test_ret += test_xmlSchemaNewQNameValue();
36218    test_ret += test_xmlSchemaNewStringValue();
36219    test_ret += test_xmlSchemaValPredefTypeNode();
36220    test_ret += test_xmlSchemaValPredefTypeNodeNoNorm();
36221    test_ret += test_xmlSchemaValidateFacet();
36222    test_ret += test_xmlSchemaValidateFacetWhtsp();
36223    test_ret += test_xmlSchemaValidateLengthFacet();
36224    test_ret += test_xmlSchemaValidateLengthFacetWhtsp();
36225    test_ret += test_xmlSchemaValidateListSimpleTypeFacet();
36226    test_ret += test_xmlSchemaValidatePredefinedType();
36227    test_ret += test_xmlSchemaValueAppend();
36228    test_ret += test_xmlSchemaValueGetAsBoolean();
36229    test_ret += test_xmlSchemaValueGetAsString();
36230    test_ret += test_xmlSchemaValueGetNext();
36231    test_ret += test_xmlSchemaWhiteSpaceReplace();
36232
36233    if (test_ret != 0)
36234	printf("Module xmlschemastypes: %d errors\n", test_ret);
36235    return(test_ret);
36236}
36237
36238static int
36239test_xmlCharStrdup(void) {
36240    int test_ret = 0;
36241
36242    int mem_base;
36243    xmlChar * ret_val;
36244    char * cur; /* the input char * */
36245    int n_cur;
36246
36247    for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
36248        mem_base = xmlMemBlocks();
36249        cur = gen_const_char_ptr(n_cur, 0);
36250
36251        ret_val = xmlCharStrdup((const char *)cur);
36252        desret_xmlChar_ptr(ret_val);
36253        call_tests++;
36254        des_const_char_ptr(n_cur, (const char *)cur, 0);
36255        xmlResetLastError();
36256        if (mem_base != xmlMemBlocks()) {
36257            printf("Leak of %d blocks found in xmlCharStrdup",
36258	           xmlMemBlocks() - mem_base);
36259	    test_ret++;
36260            printf(" %d", n_cur);
36261            printf("\n");
36262        }
36263    }
36264    function_tests++;
36265
36266    return(test_ret);
36267}
36268
36269
36270static int
36271test_xmlCharStrndup(void) {
36272    int test_ret = 0;
36273
36274    int mem_base;
36275    xmlChar * ret_val;
36276    char * cur; /* the input char * */
36277    int n_cur;
36278    int len; /* the len of @cur */
36279    int n_len;
36280
36281    for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
36282    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36283        mem_base = xmlMemBlocks();
36284        cur = gen_const_char_ptr(n_cur, 0);
36285        len = gen_int(n_len, 1);
36286
36287        ret_val = xmlCharStrndup((const char *)cur, len);
36288        desret_xmlChar_ptr(ret_val);
36289        call_tests++;
36290        des_const_char_ptr(n_cur, (const char *)cur, 0);
36291        des_int(n_len, len, 1);
36292        xmlResetLastError();
36293        if (mem_base != xmlMemBlocks()) {
36294            printf("Leak of %d blocks found in xmlCharStrndup",
36295	           xmlMemBlocks() - mem_base);
36296	    test_ret++;
36297            printf(" %d", n_cur);
36298            printf(" %d", n_len);
36299            printf("\n");
36300        }
36301    }
36302    }
36303    function_tests++;
36304
36305    return(test_ret);
36306}
36307
36308
36309static int
36310test_xmlCheckUTF8(void) {
36311    int test_ret = 0;
36312
36313    int mem_base;
36314    int ret_val;
36315    unsigned char * utf; /* Pointer to putative UTF-8 encoded string. */
36316    int n_utf;
36317
36318    for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
36319        mem_base = xmlMemBlocks();
36320        utf = gen_const_unsigned_char_ptr(n_utf, 0);
36321
36322        ret_val = xmlCheckUTF8((const unsigned char *)utf);
36323        desret_int(ret_val);
36324        call_tests++;
36325        des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
36326        xmlResetLastError();
36327        if (mem_base != xmlMemBlocks()) {
36328            printf("Leak of %d blocks found in xmlCheckUTF8",
36329	           xmlMemBlocks() - mem_base);
36330	    test_ret++;
36331            printf(" %d", n_utf);
36332            printf("\n");
36333        }
36334    }
36335    function_tests++;
36336
36337    return(test_ret);
36338}
36339
36340
36341static int
36342test_xmlGetUTF8Char(void) {
36343    int test_ret = 0;
36344
36345    int mem_base;
36346    int ret_val;
36347    unsigned char * utf; /* a sequence of UTF-8 encoded bytes */
36348    int n_utf;
36349    int * len; /* a pointer to the minimum number of bytes present in the sequence.  This is used to assure the next character is completely contained within the sequence. */
36350    int n_len;
36351
36352    for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
36353    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
36354        mem_base = xmlMemBlocks();
36355        utf = gen_const_unsigned_char_ptr(n_utf, 0);
36356        len = gen_int_ptr(n_len, 1);
36357
36358        ret_val = xmlGetUTF8Char((const unsigned char *)utf, len);
36359        desret_int(ret_val);
36360        call_tests++;
36361        des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
36362        des_int_ptr(n_len, len, 1);
36363        xmlResetLastError();
36364        if (mem_base != xmlMemBlocks()) {
36365            printf("Leak of %d blocks found in xmlGetUTF8Char",
36366	           xmlMemBlocks() - mem_base);
36367	    test_ret++;
36368            printf(" %d", n_utf);
36369            printf(" %d", n_len);
36370            printf("\n");
36371        }
36372    }
36373    }
36374    function_tests++;
36375
36376    return(test_ret);
36377}
36378
36379
36380static int
36381test_xmlStrEqual(void) {
36382    int test_ret = 0;
36383
36384    int mem_base;
36385    int ret_val;
36386    xmlChar * str1; /* the first xmlChar * */
36387    int n_str1;
36388    xmlChar * str2; /* the second xmlChar * */
36389    int n_str2;
36390
36391    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36392    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36393        mem_base = xmlMemBlocks();
36394        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36395        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36396
36397        ret_val = xmlStrEqual((const xmlChar *)str1, (const xmlChar *)str2);
36398        desret_int(ret_val);
36399        call_tests++;
36400        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36401        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36402        xmlResetLastError();
36403        if (mem_base != xmlMemBlocks()) {
36404            printf("Leak of %d blocks found in xmlStrEqual",
36405	           xmlMemBlocks() - mem_base);
36406	    test_ret++;
36407            printf(" %d", n_str1);
36408            printf(" %d", n_str2);
36409            printf("\n");
36410        }
36411    }
36412    }
36413    function_tests++;
36414
36415    return(test_ret);
36416}
36417
36418
36419static int
36420test_xmlStrPrintf(void) {
36421    int test_ret = 0;
36422
36423
36424    /* missing type support */
36425    return(test_ret);
36426}
36427
36428
36429static int
36430test_xmlStrQEqual(void) {
36431    int test_ret = 0;
36432
36433    int mem_base;
36434    int ret_val;
36435    xmlChar * pref; /* the prefix of the QName */
36436    int n_pref;
36437    xmlChar * name; /* the localname of the QName */
36438    int n_name;
36439    xmlChar * str; /* the second xmlChar * */
36440    int n_str;
36441
36442    for (n_pref = 0;n_pref < gen_nb_const_xmlChar_ptr;n_pref++) {
36443    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
36444    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36445        mem_base = xmlMemBlocks();
36446        pref = gen_const_xmlChar_ptr(n_pref, 0);
36447        name = gen_const_xmlChar_ptr(n_name, 1);
36448        str = gen_const_xmlChar_ptr(n_str, 2);
36449
36450        ret_val = xmlStrQEqual((const xmlChar *)pref, (const xmlChar *)name, (const xmlChar *)str);
36451        desret_int(ret_val);
36452        call_tests++;
36453        des_const_xmlChar_ptr(n_pref, (const xmlChar *)pref, 0);
36454        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
36455        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 2);
36456        xmlResetLastError();
36457        if (mem_base != xmlMemBlocks()) {
36458            printf("Leak of %d blocks found in xmlStrQEqual",
36459	           xmlMemBlocks() - mem_base);
36460	    test_ret++;
36461            printf(" %d", n_pref);
36462            printf(" %d", n_name);
36463            printf(" %d", n_str);
36464            printf("\n");
36465        }
36466    }
36467    }
36468    }
36469    function_tests++;
36470
36471    return(test_ret);
36472}
36473
36474
36475static int
36476test_xmlStrVPrintf(void) {
36477    int test_ret = 0;
36478
36479
36480    /* missing type support */
36481    return(test_ret);
36482}
36483
36484
36485static int
36486test_xmlStrcasecmp(void) {
36487    int test_ret = 0;
36488
36489    int mem_base;
36490    int ret_val;
36491    xmlChar * str1; /* the first xmlChar * */
36492    int n_str1;
36493    xmlChar * str2; /* the second xmlChar * */
36494    int n_str2;
36495
36496    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36497    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36498        mem_base = xmlMemBlocks();
36499        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36500        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36501
36502        ret_val = xmlStrcasecmp((const xmlChar *)str1, (const xmlChar *)str2);
36503        desret_int(ret_val);
36504        call_tests++;
36505        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36506        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36507        xmlResetLastError();
36508        if (mem_base != xmlMemBlocks()) {
36509            printf("Leak of %d blocks found in xmlStrcasecmp",
36510	           xmlMemBlocks() - mem_base);
36511	    test_ret++;
36512            printf(" %d", n_str1);
36513            printf(" %d", n_str2);
36514            printf("\n");
36515        }
36516    }
36517    }
36518    function_tests++;
36519
36520    return(test_ret);
36521}
36522
36523
36524static int
36525test_xmlStrcasestr(void) {
36526    int test_ret = 0;
36527
36528    int mem_base;
36529    const xmlChar * ret_val;
36530    xmlChar * str; /* the xmlChar * array (haystack) */
36531    int n_str;
36532    xmlChar * val; /* the xmlChar to search (needle) */
36533    int n_val;
36534
36535    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36536    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
36537        mem_base = xmlMemBlocks();
36538        str = gen_const_xmlChar_ptr(n_str, 0);
36539        val = gen_const_xmlChar_ptr(n_val, 1);
36540
36541        ret_val = xmlStrcasestr((const xmlChar *)str, (const xmlChar *)val);
36542        desret_const_xmlChar_ptr(ret_val);
36543        call_tests++;
36544        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
36545        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
36546        xmlResetLastError();
36547        if (mem_base != xmlMemBlocks()) {
36548            printf("Leak of %d blocks found in xmlStrcasestr",
36549	           xmlMemBlocks() - mem_base);
36550	    test_ret++;
36551            printf(" %d", n_str);
36552            printf(" %d", n_val);
36553            printf("\n");
36554        }
36555    }
36556    }
36557    function_tests++;
36558
36559    return(test_ret);
36560}
36561
36562
36563static int
36564test_xmlStrchr(void) {
36565    int test_ret = 0;
36566
36567    int mem_base;
36568    const xmlChar * ret_val;
36569    xmlChar * str; /* the xmlChar * array */
36570    int n_str;
36571    xmlChar val; /* the xmlChar to search */
36572    int n_val;
36573
36574    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36575    for (n_val = 0;n_val < gen_nb_xmlChar;n_val++) {
36576        mem_base = xmlMemBlocks();
36577        str = gen_const_xmlChar_ptr(n_str, 0);
36578        val = gen_xmlChar(n_val, 1);
36579
36580        ret_val = xmlStrchr((const xmlChar *)str, val);
36581        desret_const_xmlChar_ptr(ret_val);
36582        call_tests++;
36583        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
36584        des_xmlChar(n_val, val, 1);
36585        xmlResetLastError();
36586        if (mem_base != xmlMemBlocks()) {
36587            printf("Leak of %d blocks found in xmlStrchr",
36588	           xmlMemBlocks() - mem_base);
36589	    test_ret++;
36590            printf(" %d", n_str);
36591            printf(" %d", n_val);
36592            printf("\n");
36593        }
36594    }
36595    }
36596    function_tests++;
36597
36598    return(test_ret);
36599}
36600
36601
36602static int
36603test_xmlStrcmp(void) {
36604    int test_ret = 0;
36605
36606    int mem_base;
36607    int ret_val;
36608    xmlChar * str1; /* the first xmlChar * */
36609    int n_str1;
36610    xmlChar * str2; /* the second xmlChar * */
36611    int n_str2;
36612
36613    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36614    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36615        mem_base = xmlMemBlocks();
36616        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36617        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36618
36619        ret_val = xmlStrcmp((const xmlChar *)str1, (const xmlChar *)str2);
36620        desret_int(ret_val);
36621        call_tests++;
36622        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36623        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36624        xmlResetLastError();
36625        if (mem_base != xmlMemBlocks()) {
36626            printf("Leak of %d blocks found in xmlStrcmp",
36627	           xmlMemBlocks() - mem_base);
36628	    test_ret++;
36629            printf(" %d", n_str1);
36630            printf(" %d", n_str2);
36631            printf("\n");
36632        }
36633    }
36634    }
36635    function_tests++;
36636
36637    return(test_ret);
36638}
36639
36640
36641static int
36642test_xmlStrdup(void) {
36643    int test_ret = 0;
36644
36645    int mem_base;
36646    xmlChar * ret_val;
36647    xmlChar * cur; /* the input xmlChar * */
36648    int n_cur;
36649
36650    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
36651        mem_base = xmlMemBlocks();
36652        cur = gen_const_xmlChar_ptr(n_cur, 0);
36653
36654        ret_val = xmlStrdup((const xmlChar *)cur);
36655        desret_xmlChar_ptr(ret_val);
36656        call_tests++;
36657        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
36658        xmlResetLastError();
36659        if (mem_base != xmlMemBlocks()) {
36660            printf("Leak of %d blocks found in xmlStrdup",
36661	           xmlMemBlocks() - mem_base);
36662	    test_ret++;
36663            printf(" %d", n_cur);
36664            printf("\n");
36665        }
36666    }
36667    function_tests++;
36668
36669    return(test_ret);
36670}
36671
36672
36673static int
36674test_xmlStrlen(void) {
36675    int test_ret = 0;
36676
36677    int mem_base;
36678    int ret_val;
36679    xmlChar * str; /* the xmlChar * array */
36680    int n_str;
36681
36682    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36683        mem_base = xmlMemBlocks();
36684        str = gen_const_xmlChar_ptr(n_str, 0);
36685
36686        ret_val = xmlStrlen((const xmlChar *)str);
36687        desret_int(ret_val);
36688        call_tests++;
36689        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
36690        xmlResetLastError();
36691        if (mem_base != xmlMemBlocks()) {
36692            printf("Leak of %d blocks found in xmlStrlen",
36693	           xmlMemBlocks() - mem_base);
36694	    test_ret++;
36695            printf(" %d", n_str);
36696            printf("\n");
36697        }
36698    }
36699    function_tests++;
36700
36701    return(test_ret);
36702}
36703
36704
36705static int
36706test_xmlStrncasecmp(void) {
36707    int test_ret = 0;
36708
36709    int mem_base;
36710    int ret_val;
36711    xmlChar * str1; /* the first xmlChar * */
36712    int n_str1;
36713    xmlChar * str2; /* the second xmlChar * */
36714    int n_str2;
36715    int len; /* the max comparison length */
36716    int n_len;
36717
36718    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36719    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36720    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36721        mem_base = xmlMemBlocks();
36722        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36723        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36724        len = gen_int(n_len, 2);
36725
36726        ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
36727        desret_int(ret_val);
36728        call_tests++;
36729        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36730        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36731        des_int(n_len, len, 2);
36732        xmlResetLastError();
36733        if (mem_base != xmlMemBlocks()) {
36734            printf("Leak of %d blocks found in xmlStrncasecmp",
36735	           xmlMemBlocks() - mem_base);
36736	    test_ret++;
36737            printf(" %d", n_str1);
36738            printf(" %d", n_str2);
36739            printf(" %d", n_len);
36740            printf("\n");
36741        }
36742    }
36743    }
36744    }
36745    function_tests++;
36746
36747    return(test_ret);
36748}
36749
36750
36751static int
36752test_xmlStrncatNew(void) {
36753    int test_ret = 0;
36754
36755    int mem_base;
36756    xmlChar * ret_val;
36757    xmlChar * str1; /* first xmlChar string */
36758    int n_str1;
36759    xmlChar * str2; /* second xmlChar string */
36760    int n_str2;
36761    int len; /* the len of @str2 or < 0 */
36762    int n_len;
36763
36764    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36765    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36766    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36767        mem_base = xmlMemBlocks();
36768        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36769        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36770        len = gen_int(n_len, 2);
36771
36772        ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
36773        desret_xmlChar_ptr(ret_val);
36774        call_tests++;
36775        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36776        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36777        des_int(n_len, len, 2);
36778        xmlResetLastError();
36779        if (mem_base != xmlMemBlocks()) {
36780            printf("Leak of %d blocks found in xmlStrncatNew",
36781	           xmlMemBlocks() - mem_base);
36782	    test_ret++;
36783            printf(" %d", n_str1);
36784            printf(" %d", n_str2);
36785            printf(" %d", n_len);
36786            printf("\n");
36787        }
36788    }
36789    }
36790    }
36791    function_tests++;
36792
36793    return(test_ret);
36794}
36795
36796
36797static int
36798test_xmlStrncmp(void) {
36799    int test_ret = 0;
36800
36801    int mem_base;
36802    int ret_val;
36803    xmlChar * str1; /* the first xmlChar * */
36804    int n_str1;
36805    xmlChar * str2; /* the second xmlChar * */
36806    int n_str2;
36807    int len; /* the max comparison length */
36808    int n_len;
36809
36810    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
36811    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
36812    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36813        mem_base = xmlMemBlocks();
36814        str1 = gen_const_xmlChar_ptr(n_str1, 0);
36815        str2 = gen_const_xmlChar_ptr(n_str2, 1);
36816        len = gen_int(n_len, 2);
36817
36818        ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
36819        desret_int(ret_val);
36820        call_tests++;
36821        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
36822        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
36823        des_int(n_len, len, 2);
36824        xmlResetLastError();
36825        if (mem_base != xmlMemBlocks()) {
36826            printf("Leak of %d blocks found in xmlStrncmp",
36827	           xmlMemBlocks() - mem_base);
36828	    test_ret++;
36829            printf(" %d", n_str1);
36830            printf(" %d", n_str2);
36831            printf(" %d", n_len);
36832            printf("\n");
36833        }
36834    }
36835    }
36836    }
36837    function_tests++;
36838
36839    return(test_ret);
36840}
36841
36842
36843static int
36844test_xmlStrndup(void) {
36845    int test_ret = 0;
36846
36847    int mem_base;
36848    xmlChar * ret_val;
36849    xmlChar * cur; /* the input xmlChar * */
36850    int n_cur;
36851    int len; /* the len of @cur */
36852    int n_len;
36853
36854    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
36855    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36856        mem_base = xmlMemBlocks();
36857        cur = gen_const_xmlChar_ptr(n_cur, 0);
36858        len = gen_int(n_len, 1);
36859
36860        ret_val = xmlStrndup((const xmlChar *)cur, len);
36861        desret_xmlChar_ptr(ret_val);
36862        call_tests++;
36863        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
36864        des_int(n_len, len, 1);
36865        xmlResetLastError();
36866        if (mem_base != xmlMemBlocks()) {
36867            printf("Leak of %d blocks found in xmlStrndup",
36868	           xmlMemBlocks() - mem_base);
36869	    test_ret++;
36870            printf(" %d", n_cur);
36871            printf(" %d", n_len);
36872            printf("\n");
36873        }
36874    }
36875    }
36876    function_tests++;
36877
36878    return(test_ret);
36879}
36880
36881
36882static int
36883test_xmlStrstr(void) {
36884    int test_ret = 0;
36885
36886    int mem_base;
36887    const xmlChar * ret_val;
36888    xmlChar * str; /* the xmlChar * array (haystack) */
36889    int n_str;
36890    xmlChar * val; /* the xmlChar to search (needle) */
36891    int n_val;
36892
36893    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36894    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
36895        mem_base = xmlMemBlocks();
36896        str = gen_const_xmlChar_ptr(n_str, 0);
36897        val = gen_const_xmlChar_ptr(n_val, 1);
36898
36899        ret_val = xmlStrstr((const xmlChar *)str, (const xmlChar *)val);
36900        desret_const_xmlChar_ptr(ret_val);
36901        call_tests++;
36902        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
36903        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
36904        xmlResetLastError();
36905        if (mem_base != xmlMemBlocks()) {
36906            printf("Leak of %d blocks found in xmlStrstr",
36907	           xmlMemBlocks() - mem_base);
36908	    test_ret++;
36909            printf(" %d", n_str);
36910            printf(" %d", n_val);
36911            printf("\n");
36912        }
36913    }
36914    }
36915    function_tests++;
36916
36917    return(test_ret);
36918}
36919
36920
36921static int
36922test_xmlStrsub(void) {
36923    int test_ret = 0;
36924
36925    int mem_base;
36926    xmlChar * ret_val;
36927    xmlChar * str; /* the xmlChar * array (haystack) */
36928    int n_str;
36929    int start; /* the index of the first char (zero based) */
36930    int n_start;
36931    int len; /* the length of the substring */
36932    int n_len;
36933
36934    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
36935    for (n_start = 0;n_start < gen_nb_int;n_start++) {
36936    for (n_len = 0;n_len < gen_nb_int;n_len++) {
36937        mem_base = xmlMemBlocks();
36938        str = gen_const_xmlChar_ptr(n_str, 0);
36939        start = gen_int(n_start, 1);
36940        len = gen_int(n_len, 2);
36941
36942        ret_val = xmlStrsub((const xmlChar *)str, start, len);
36943        desret_xmlChar_ptr(ret_val);
36944        call_tests++;
36945        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
36946        des_int(n_start, start, 1);
36947        des_int(n_len, len, 2);
36948        xmlResetLastError();
36949        if (mem_base != xmlMemBlocks()) {
36950            printf("Leak of %d blocks found in xmlStrsub",
36951	           xmlMemBlocks() - mem_base);
36952	    test_ret++;
36953            printf(" %d", n_str);
36954            printf(" %d", n_start);
36955            printf(" %d", n_len);
36956            printf("\n");
36957        }
36958    }
36959    }
36960    }
36961    function_tests++;
36962
36963    return(test_ret);
36964}
36965
36966
36967static int
36968test_xmlUTF8Charcmp(void) {
36969    int test_ret = 0;
36970
36971    int mem_base;
36972    int ret_val;
36973    xmlChar * utf1; /* pointer to first UTF8 char */
36974    int n_utf1;
36975    xmlChar * utf2; /* pointer to second UTF8 char */
36976    int n_utf2;
36977
36978    for (n_utf1 = 0;n_utf1 < gen_nb_const_xmlChar_ptr;n_utf1++) {
36979    for (n_utf2 = 0;n_utf2 < gen_nb_const_xmlChar_ptr;n_utf2++) {
36980        mem_base = xmlMemBlocks();
36981        utf1 = gen_const_xmlChar_ptr(n_utf1, 0);
36982        utf2 = gen_const_xmlChar_ptr(n_utf2, 1);
36983
36984        ret_val = xmlUTF8Charcmp((const xmlChar *)utf1, (const xmlChar *)utf2);
36985        desret_int(ret_val);
36986        call_tests++;
36987        des_const_xmlChar_ptr(n_utf1, (const xmlChar *)utf1, 0);
36988        des_const_xmlChar_ptr(n_utf2, (const xmlChar *)utf2, 1);
36989        xmlResetLastError();
36990        if (mem_base != xmlMemBlocks()) {
36991            printf("Leak of %d blocks found in xmlUTF8Charcmp",
36992	           xmlMemBlocks() - mem_base);
36993	    test_ret++;
36994            printf(" %d", n_utf1);
36995            printf(" %d", n_utf2);
36996            printf("\n");
36997        }
36998    }
36999    }
37000    function_tests++;
37001
37002    return(test_ret);
37003}
37004
37005
37006static int
37007test_xmlUTF8Size(void) {
37008    int test_ret = 0;
37009
37010    int mem_base;
37011    int ret_val;
37012    xmlChar * utf; /* pointer to the UTF8 character */
37013    int n_utf;
37014
37015    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37016        mem_base = xmlMemBlocks();
37017        utf = gen_const_xmlChar_ptr(n_utf, 0);
37018
37019        ret_val = xmlUTF8Size((const xmlChar *)utf);
37020        desret_int(ret_val);
37021        call_tests++;
37022        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37023        xmlResetLastError();
37024        if (mem_base != xmlMemBlocks()) {
37025            printf("Leak of %d blocks found in xmlUTF8Size",
37026	           xmlMemBlocks() - mem_base);
37027	    test_ret++;
37028            printf(" %d", n_utf);
37029            printf("\n");
37030        }
37031    }
37032    function_tests++;
37033
37034    return(test_ret);
37035}
37036
37037
37038static int
37039test_xmlUTF8Strlen(void) {
37040    int test_ret = 0;
37041
37042    int mem_base;
37043    int ret_val;
37044    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
37045    int n_utf;
37046
37047    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37048        mem_base = xmlMemBlocks();
37049        utf = gen_const_xmlChar_ptr(n_utf, 0);
37050
37051        ret_val = xmlUTF8Strlen((const xmlChar *)utf);
37052        desret_int(ret_val);
37053        call_tests++;
37054        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37055        xmlResetLastError();
37056        if (mem_base != xmlMemBlocks()) {
37057            printf("Leak of %d blocks found in xmlUTF8Strlen",
37058	           xmlMemBlocks() - mem_base);
37059	    test_ret++;
37060            printf(" %d", n_utf);
37061            printf("\n");
37062        }
37063    }
37064    function_tests++;
37065
37066    return(test_ret);
37067}
37068
37069
37070static int
37071test_xmlUTF8Strloc(void) {
37072    int test_ret = 0;
37073
37074    int mem_base;
37075    int ret_val;
37076    xmlChar * utf; /* the input UTF8 * */
37077    int n_utf;
37078    xmlChar * utfchar; /* the UTF8 character to be found */
37079    int n_utfchar;
37080
37081    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37082    for (n_utfchar = 0;n_utfchar < gen_nb_const_xmlChar_ptr;n_utfchar++) {
37083        mem_base = xmlMemBlocks();
37084        utf = gen_const_xmlChar_ptr(n_utf, 0);
37085        utfchar = gen_const_xmlChar_ptr(n_utfchar, 1);
37086
37087        ret_val = xmlUTF8Strloc((const xmlChar *)utf, (const xmlChar *)utfchar);
37088        desret_int(ret_val);
37089        call_tests++;
37090        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37091        des_const_xmlChar_ptr(n_utfchar, (const xmlChar *)utfchar, 1);
37092        xmlResetLastError();
37093        if (mem_base != xmlMemBlocks()) {
37094            printf("Leak of %d blocks found in xmlUTF8Strloc",
37095	           xmlMemBlocks() - mem_base);
37096	    test_ret++;
37097            printf(" %d", n_utf);
37098            printf(" %d", n_utfchar);
37099            printf("\n");
37100        }
37101    }
37102    }
37103    function_tests++;
37104
37105    return(test_ret);
37106}
37107
37108
37109static int
37110test_xmlUTF8Strndup(void) {
37111    int test_ret = 0;
37112
37113    int mem_base;
37114    xmlChar * ret_val;
37115    xmlChar * utf; /* the input UTF8 * */
37116    int n_utf;
37117    int len; /* the len of @utf (in chars) */
37118    int n_len;
37119
37120    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37121    for (n_len = 0;n_len < gen_nb_int;n_len++) {
37122        mem_base = xmlMemBlocks();
37123        utf = gen_const_xmlChar_ptr(n_utf, 0);
37124        len = gen_int(n_len, 1);
37125
37126        ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
37127        desret_xmlChar_ptr(ret_val);
37128        call_tests++;
37129        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37130        des_int(n_len, len, 1);
37131        xmlResetLastError();
37132        if (mem_base != xmlMemBlocks()) {
37133            printf("Leak of %d blocks found in xmlUTF8Strndup",
37134	           xmlMemBlocks() - mem_base);
37135	    test_ret++;
37136            printf(" %d", n_utf);
37137            printf(" %d", n_len);
37138            printf("\n");
37139        }
37140    }
37141    }
37142    function_tests++;
37143
37144    return(test_ret);
37145}
37146
37147
37148static int
37149test_xmlUTF8Strpos(void) {
37150    int test_ret = 0;
37151
37152    int mem_base;
37153    const xmlChar * ret_val;
37154    xmlChar * utf; /* the input UTF8 * */
37155    int n_utf;
37156    int pos; /* the position of the desired UTF8 char (in chars) */
37157    int n_pos;
37158
37159    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37160    for (n_pos = 0;n_pos < gen_nb_int;n_pos++) {
37161        mem_base = xmlMemBlocks();
37162        utf = gen_const_xmlChar_ptr(n_utf, 0);
37163        pos = gen_int(n_pos, 1);
37164
37165        ret_val = xmlUTF8Strpos((const xmlChar *)utf, pos);
37166        desret_const_xmlChar_ptr(ret_val);
37167        call_tests++;
37168        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37169        des_int(n_pos, pos, 1);
37170        xmlResetLastError();
37171        if (mem_base != xmlMemBlocks()) {
37172            printf("Leak of %d blocks found in xmlUTF8Strpos",
37173	           xmlMemBlocks() - mem_base);
37174	    test_ret++;
37175            printf(" %d", n_utf);
37176            printf(" %d", n_pos);
37177            printf("\n");
37178        }
37179    }
37180    }
37181    function_tests++;
37182
37183    return(test_ret);
37184}
37185
37186
37187static int
37188test_xmlUTF8Strsize(void) {
37189    int test_ret = 0;
37190
37191    int mem_base;
37192    int ret_val;
37193    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
37194    int n_utf;
37195    int len; /* the number of characters in the array */
37196    int n_len;
37197
37198    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37199    for (n_len = 0;n_len < gen_nb_int;n_len++) {
37200        mem_base = xmlMemBlocks();
37201        utf = gen_const_xmlChar_ptr(n_utf, 0);
37202        len = gen_int(n_len, 1);
37203
37204        ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
37205        desret_int(ret_val);
37206        call_tests++;
37207        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37208        des_int(n_len, len, 1);
37209        xmlResetLastError();
37210        if (mem_base != xmlMemBlocks()) {
37211            printf("Leak of %d blocks found in xmlUTF8Strsize",
37212	           xmlMemBlocks() - mem_base);
37213	    test_ret++;
37214            printf(" %d", n_utf);
37215            printf(" %d", n_len);
37216            printf("\n");
37217        }
37218    }
37219    }
37220    function_tests++;
37221
37222    return(test_ret);
37223}
37224
37225
37226static int
37227test_xmlUTF8Strsub(void) {
37228    int test_ret = 0;
37229
37230    int mem_base;
37231    xmlChar * ret_val;
37232    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
37233    int n_utf;
37234    int start; /* relative pos of first char */
37235    int n_start;
37236    int len; /* total number to copy */
37237    int n_len;
37238
37239    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
37240    for (n_start = 0;n_start < gen_nb_int;n_start++) {
37241    for (n_len = 0;n_len < gen_nb_int;n_len++) {
37242        mem_base = xmlMemBlocks();
37243        utf = gen_const_xmlChar_ptr(n_utf, 0);
37244        start = gen_int(n_start, 1);
37245        len = gen_int(n_len, 2);
37246
37247        ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
37248        desret_xmlChar_ptr(ret_val);
37249        call_tests++;
37250        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
37251        des_int(n_start, start, 1);
37252        des_int(n_len, len, 2);
37253        xmlResetLastError();
37254        if (mem_base != xmlMemBlocks()) {
37255            printf("Leak of %d blocks found in xmlUTF8Strsub",
37256	           xmlMemBlocks() - mem_base);
37257	    test_ret++;
37258            printf(" %d", n_utf);
37259            printf(" %d", n_start);
37260            printf(" %d", n_len);
37261            printf("\n");
37262        }
37263    }
37264    }
37265    }
37266    function_tests++;
37267
37268    return(test_ret);
37269}
37270
37271static int
37272test_xmlstring(void) {
37273    int test_ret = 0;
37274
37275    if (quiet == 0) printf("Testing xmlstring : 26 of 30 functions ...\n");
37276    test_ret += test_xmlCharStrdup();
37277    test_ret += test_xmlCharStrndup();
37278    test_ret += test_xmlCheckUTF8();
37279    test_ret += test_xmlGetUTF8Char();
37280    test_ret += test_xmlStrEqual();
37281    test_ret += test_xmlStrPrintf();
37282    test_ret += test_xmlStrQEqual();
37283    test_ret += test_xmlStrVPrintf();
37284    test_ret += test_xmlStrcasecmp();
37285    test_ret += test_xmlStrcasestr();
37286    test_ret += test_xmlStrchr();
37287    test_ret += test_xmlStrcmp();
37288    test_ret += test_xmlStrdup();
37289    test_ret += test_xmlStrlen();
37290    test_ret += test_xmlStrncasecmp();
37291    test_ret += test_xmlStrncatNew();
37292    test_ret += test_xmlStrncmp();
37293    test_ret += test_xmlStrndup();
37294    test_ret += test_xmlStrstr();
37295    test_ret += test_xmlStrsub();
37296    test_ret += test_xmlUTF8Charcmp();
37297    test_ret += test_xmlUTF8Size();
37298    test_ret += test_xmlUTF8Strlen();
37299    test_ret += test_xmlUTF8Strloc();
37300    test_ret += test_xmlUTF8Strndup();
37301    test_ret += test_xmlUTF8Strpos();
37302    test_ret += test_xmlUTF8Strsize();
37303    test_ret += test_xmlUTF8Strsub();
37304
37305    if (test_ret != 0)
37306	printf("Module xmlstring: %d errors\n", test_ret);
37307    return(test_ret);
37308}
37309
37310static int
37311test_xmlUCSIsAegeanNumbers(void) {
37312    int test_ret = 0;
37313
37314#if defined(LIBXML_UNICODE_ENABLED)
37315    int mem_base;
37316    int ret_val;
37317    int code; /* UCS code point */
37318    int n_code;
37319
37320    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37321        mem_base = xmlMemBlocks();
37322        code = gen_int(n_code, 0);
37323
37324        ret_val = xmlUCSIsAegeanNumbers(code);
37325        desret_int(ret_val);
37326        call_tests++;
37327        des_int(n_code, code, 0);
37328        xmlResetLastError();
37329        if (mem_base != xmlMemBlocks()) {
37330            printf("Leak of %d blocks found in xmlUCSIsAegeanNumbers",
37331	           xmlMemBlocks() - mem_base);
37332	    test_ret++;
37333            printf(" %d", n_code);
37334            printf("\n");
37335        }
37336    }
37337    function_tests++;
37338#endif
37339
37340    return(test_ret);
37341}
37342
37343
37344static int
37345test_xmlUCSIsAlphabeticPresentationForms(void) {
37346    int test_ret = 0;
37347
37348#if defined(LIBXML_UNICODE_ENABLED)
37349    int mem_base;
37350    int ret_val;
37351    int code; /* UCS code point */
37352    int n_code;
37353
37354    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37355        mem_base = xmlMemBlocks();
37356        code = gen_int(n_code, 0);
37357
37358        ret_val = xmlUCSIsAlphabeticPresentationForms(code);
37359        desret_int(ret_val);
37360        call_tests++;
37361        des_int(n_code, code, 0);
37362        xmlResetLastError();
37363        if (mem_base != xmlMemBlocks()) {
37364            printf("Leak of %d blocks found in xmlUCSIsAlphabeticPresentationForms",
37365	           xmlMemBlocks() - mem_base);
37366	    test_ret++;
37367            printf(" %d", n_code);
37368            printf("\n");
37369        }
37370    }
37371    function_tests++;
37372#endif
37373
37374    return(test_ret);
37375}
37376
37377
37378static int
37379test_xmlUCSIsArabic(void) {
37380    int test_ret = 0;
37381
37382#if defined(LIBXML_UNICODE_ENABLED)
37383    int mem_base;
37384    int ret_val;
37385    int code; /* UCS code point */
37386    int n_code;
37387
37388    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37389        mem_base = xmlMemBlocks();
37390        code = gen_int(n_code, 0);
37391
37392        ret_val = xmlUCSIsArabic(code);
37393        desret_int(ret_val);
37394        call_tests++;
37395        des_int(n_code, code, 0);
37396        xmlResetLastError();
37397        if (mem_base != xmlMemBlocks()) {
37398            printf("Leak of %d blocks found in xmlUCSIsArabic",
37399	           xmlMemBlocks() - mem_base);
37400	    test_ret++;
37401            printf(" %d", n_code);
37402            printf("\n");
37403        }
37404    }
37405    function_tests++;
37406#endif
37407
37408    return(test_ret);
37409}
37410
37411
37412static int
37413test_xmlUCSIsArabicPresentationFormsA(void) {
37414    int test_ret = 0;
37415
37416#if defined(LIBXML_UNICODE_ENABLED)
37417    int mem_base;
37418    int ret_val;
37419    int code; /* UCS code point */
37420    int n_code;
37421
37422    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37423        mem_base = xmlMemBlocks();
37424        code = gen_int(n_code, 0);
37425
37426        ret_val = xmlUCSIsArabicPresentationFormsA(code);
37427        desret_int(ret_val);
37428        call_tests++;
37429        des_int(n_code, code, 0);
37430        xmlResetLastError();
37431        if (mem_base != xmlMemBlocks()) {
37432            printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsA",
37433	           xmlMemBlocks() - mem_base);
37434	    test_ret++;
37435            printf(" %d", n_code);
37436            printf("\n");
37437        }
37438    }
37439    function_tests++;
37440#endif
37441
37442    return(test_ret);
37443}
37444
37445
37446static int
37447test_xmlUCSIsArabicPresentationFormsB(void) {
37448    int test_ret = 0;
37449
37450#if defined(LIBXML_UNICODE_ENABLED)
37451    int mem_base;
37452    int ret_val;
37453    int code; /* UCS code point */
37454    int n_code;
37455
37456    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37457        mem_base = xmlMemBlocks();
37458        code = gen_int(n_code, 0);
37459
37460        ret_val = xmlUCSIsArabicPresentationFormsB(code);
37461        desret_int(ret_val);
37462        call_tests++;
37463        des_int(n_code, code, 0);
37464        xmlResetLastError();
37465        if (mem_base != xmlMemBlocks()) {
37466            printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsB",
37467	           xmlMemBlocks() - mem_base);
37468	    test_ret++;
37469            printf(" %d", n_code);
37470            printf("\n");
37471        }
37472    }
37473    function_tests++;
37474#endif
37475
37476    return(test_ret);
37477}
37478
37479
37480static int
37481test_xmlUCSIsArmenian(void) {
37482    int test_ret = 0;
37483
37484#if defined(LIBXML_UNICODE_ENABLED)
37485    int mem_base;
37486    int ret_val;
37487    int code; /* UCS code point */
37488    int n_code;
37489
37490    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37491        mem_base = xmlMemBlocks();
37492        code = gen_int(n_code, 0);
37493
37494        ret_val = xmlUCSIsArmenian(code);
37495        desret_int(ret_val);
37496        call_tests++;
37497        des_int(n_code, code, 0);
37498        xmlResetLastError();
37499        if (mem_base != xmlMemBlocks()) {
37500            printf("Leak of %d blocks found in xmlUCSIsArmenian",
37501	           xmlMemBlocks() - mem_base);
37502	    test_ret++;
37503            printf(" %d", n_code);
37504            printf("\n");
37505        }
37506    }
37507    function_tests++;
37508#endif
37509
37510    return(test_ret);
37511}
37512
37513
37514static int
37515test_xmlUCSIsArrows(void) {
37516    int test_ret = 0;
37517
37518#if defined(LIBXML_UNICODE_ENABLED)
37519    int mem_base;
37520    int ret_val;
37521    int code; /* UCS code point */
37522    int n_code;
37523
37524    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37525        mem_base = xmlMemBlocks();
37526        code = gen_int(n_code, 0);
37527
37528        ret_val = xmlUCSIsArrows(code);
37529        desret_int(ret_val);
37530        call_tests++;
37531        des_int(n_code, code, 0);
37532        xmlResetLastError();
37533        if (mem_base != xmlMemBlocks()) {
37534            printf("Leak of %d blocks found in xmlUCSIsArrows",
37535	           xmlMemBlocks() - mem_base);
37536	    test_ret++;
37537            printf(" %d", n_code);
37538            printf("\n");
37539        }
37540    }
37541    function_tests++;
37542#endif
37543
37544    return(test_ret);
37545}
37546
37547
37548static int
37549test_xmlUCSIsBasicLatin(void) {
37550    int test_ret = 0;
37551
37552#if defined(LIBXML_UNICODE_ENABLED)
37553    int mem_base;
37554    int ret_val;
37555    int code; /* UCS code point */
37556    int n_code;
37557
37558    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37559        mem_base = xmlMemBlocks();
37560        code = gen_int(n_code, 0);
37561
37562        ret_val = xmlUCSIsBasicLatin(code);
37563        desret_int(ret_val);
37564        call_tests++;
37565        des_int(n_code, code, 0);
37566        xmlResetLastError();
37567        if (mem_base != xmlMemBlocks()) {
37568            printf("Leak of %d blocks found in xmlUCSIsBasicLatin",
37569	           xmlMemBlocks() - mem_base);
37570	    test_ret++;
37571            printf(" %d", n_code);
37572            printf("\n");
37573        }
37574    }
37575    function_tests++;
37576#endif
37577
37578    return(test_ret);
37579}
37580
37581
37582static int
37583test_xmlUCSIsBengali(void) {
37584    int test_ret = 0;
37585
37586#if defined(LIBXML_UNICODE_ENABLED)
37587    int mem_base;
37588    int ret_val;
37589    int code; /* UCS code point */
37590    int n_code;
37591
37592    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37593        mem_base = xmlMemBlocks();
37594        code = gen_int(n_code, 0);
37595
37596        ret_val = xmlUCSIsBengali(code);
37597        desret_int(ret_val);
37598        call_tests++;
37599        des_int(n_code, code, 0);
37600        xmlResetLastError();
37601        if (mem_base != xmlMemBlocks()) {
37602            printf("Leak of %d blocks found in xmlUCSIsBengali",
37603	           xmlMemBlocks() - mem_base);
37604	    test_ret++;
37605            printf(" %d", n_code);
37606            printf("\n");
37607        }
37608    }
37609    function_tests++;
37610#endif
37611
37612    return(test_ret);
37613}
37614
37615
37616static int
37617test_xmlUCSIsBlock(void) {
37618    int test_ret = 0;
37619
37620#if defined(LIBXML_UNICODE_ENABLED)
37621    int mem_base;
37622    int ret_val;
37623    int code; /* UCS code point */
37624    int n_code;
37625    char * block; /* UCS block name */
37626    int n_block;
37627
37628    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37629    for (n_block = 0;n_block < gen_nb_const_char_ptr;n_block++) {
37630        mem_base = xmlMemBlocks();
37631        code = gen_int(n_code, 0);
37632        block = gen_const_char_ptr(n_block, 1);
37633
37634        ret_val = xmlUCSIsBlock(code, (const char *)block);
37635        desret_int(ret_val);
37636        call_tests++;
37637        des_int(n_code, code, 0);
37638        des_const_char_ptr(n_block, (const char *)block, 1);
37639        xmlResetLastError();
37640        if (mem_base != xmlMemBlocks()) {
37641            printf("Leak of %d blocks found in xmlUCSIsBlock",
37642	           xmlMemBlocks() - mem_base);
37643	    test_ret++;
37644            printf(" %d", n_code);
37645            printf(" %d", n_block);
37646            printf("\n");
37647        }
37648    }
37649    }
37650    function_tests++;
37651#endif
37652
37653    return(test_ret);
37654}
37655
37656
37657static int
37658test_xmlUCSIsBlockElements(void) {
37659    int test_ret = 0;
37660
37661#if defined(LIBXML_UNICODE_ENABLED)
37662    int mem_base;
37663    int ret_val;
37664    int code; /* UCS code point */
37665    int n_code;
37666
37667    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37668        mem_base = xmlMemBlocks();
37669        code = gen_int(n_code, 0);
37670
37671        ret_val = xmlUCSIsBlockElements(code);
37672        desret_int(ret_val);
37673        call_tests++;
37674        des_int(n_code, code, 0);
37675        xmlResetLastError();
37676        if (mem_base != xmlMemBlocks()) {
37677            printf("Leak of %d blocks found in xmlUCSIsBlockElements",
37678	           xmlMemBlocks() - mem_base);
37679	    test_ret++;
37680            printf(" %d", n_code);
37681            printf("\n");
37682        }
37683    }
37684    function_tests++;
37685#endif
37686
37687    return(test_ret);
37688}
37689
37690
37691static int
37692test_xmlUCSIsBopomofo(void) {
37693    int test_ret = 0;
37694
37695#if defined(LIBXML_UNICODE_ENABLED)
37696    int mem_base;
37697    int ret_val;
37698    int code; /* UCS code point */
37699    int n_code;
37700
37701    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37702        mem_base = xmlMemBlocks();
37703        code = gen_int(n_code, 0);
37704
37705        ret_val = xmlUCSIsBopomofo(code);
37706        desret_int(ret_val);
37707        call_tests++;
37708        des_int(n_code, code, 0);
37709        xmlResetLastError();
37710        if (mem_base != xmlMemBlocks()) {
37711            printf("Leak of %d blocks found in xmlUCSIsBopomofo",
37712	           xmlMemBlocks() - mem_base);
37713	    test_ret++;
37714            printf(" %d", n_code);
37715            printf("\n");
37716        }
37717    }
37718    function_tests++;
37719#endif
37720
37721    return(test_ret);
37722}
37723
37724
37725static int
37726test_xmlUCSIsBopomofoExtended(void) {
37727    int test_ret = 0;
37728
37729#if defined(LIBXML_UNICODE_ENABLED)
37730    int mem_base;
37731    int ret_val;
37732    int code; /* UCS code point */
37733    int n_code;
37734
37735    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37736        mem_base = xmlMemBlocks();
37737        code = gen_int(n_code, 0);
37738
37739        ret_val = xmlUCSIsBopomofoExtended(code);
37740        desret_int(ret_val);
37741        call_tests++;
37742        des_int(n_code, code, 0);
37743        xmlResetLastError();
37744        if (mem_base != xmlMemBlocks()) {
37745            printf("Leak of %d blocks found in xmlUCSIsBopomofoExtended",
37746	           xmlMemBlocks() - mem_base);
37747	    test_ret++;
37748            printf(" %d", n_code);
37749            printf("\n");
37750        }
37751    }
37752    function_tests++;
37753#endif
37754
37755    return(test_ret);
37756}
37757
37758
37759static int
37760test_xmlUCSIsBoxDrawing(void) {
37761    int test_ret = 0;
37762
37763#if defined(LIBXML_UNICODE_ENABLED)
37764    int mem_base;
37765    int ret_val;
37766    int code; /* UCS code point */
37767    int n_code;
37768
37769    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37770        mem_base = xmlMemBlocks();
37771        code = gen_int(n_code, 0);
37772
37773        ret_val = xmlUCSIsBoxDrawing(code);
37774        desret_int(ret_val);
37775        call_tests++;
37776        des_int(n_code, code, 0);
37777        xmlResetLastError();
37778        if (mem_base != xmlMemBlocks()) {
37779            printf("Leak of %d blocks found in xmlUCSIsBoxDrawing",
37780	           xmlMemBlocks() - mem_base);
37781	    test_ret++;
37782            printf(" %d", n_code);
37783            printf("\n");
37784        }
37785    }
37786    function_tests++;
37787#endif
37788
37789    return(test_ret);
37790}
37791
37792
37793static int
37794test_xmlUCSIsBraillePatterns(void) {
37795    int test_ret = 0;
37796
37797#if defined(LIBXML_UNICODE_ENABLED)
37798    int mem_base;
37799    int ret_val;
37800    int code; /* UCS code point */
37801    int n_code;
37802
37803    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37804        mem_base = xmlMemBlocks();
37805        code = gen_int(n_code, 0);
37806
37807        ret_val = xmlUCSIsBraillePatterns(code);
37808        desret_int(ret_val);
37809        call_tests++;
37810        des_int(n_code, code, 0);
37811        xmlResetLastError();
37812        if (mem_base != xmlMemBlocks()) {
37813            printf("Leak of %d blocks found in xmlUCSIsBraillePatterns",
37814	           xmlMemBlocks() - mem_base);
37815	    test_ret++;
37816            printf(" %d", n_code);
37817            printf("\n");
37818        }
37819    }
37820    function_tests++;
37821#endif
37822
37823    return(test_ret);
37824}
37825
37826
37827static int
37828test_xmlUCSIsBuhid(void) {
37829    int test_ret = 0;
37830
37831#if defined(LIBXML_UNICODE_ENABLED)
37832    int mem_base;
37833    int ret_val;
37834    int code; /* UCS code point */
37835    int n_code;
37836
37837    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37838        mem_base = xmlMemBlocks();
37839        code = gen_int(n_code, 0);
37840
37841        ret_val = xmlUCSIsBuhid(code);
37842        desret_int(ret_val);
37843        call_tests++;
37844        des_int(n_code, code, 0);
37845        xmlResetLastError();
37846        if (mem_base != xmlMemBlocks()) {
37847            printf("Leak of %d blocks found in xmlUCSIsBuhid",
37848	           xmlMemBlocks() - mem_base);
37849	    test_ret++;
37850            printf(" %d", n_code);
37851            printf("\n");
37852        }
37853    }
37854    function_tests++;
37855#endif
37856
37857    return(test_ret);
37858}
37859
37860
37861static int
37862test_xmlUCSIsByzantineMusicalSymbols(void) {
37863    int test_ret = 0;
37864
37865#if defined(LIBXML_UNICODE_ENABLED)
37866    int mem_base;
37867    int ret_val;
37868    int code; /* UCS code point */
37869    int n_code;
37870
37871    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37872        mem_base = xmlMemBlocks();
37873        code = gen_int(n_code, 0);
37874
37875        ret_val = xmlUCSIsByzantineMusicalSymbols(code);
37876        desret_int(ret_val);
37877        call_tests++;
37878        des_int(n_code, code, 0);
37879        xmlResetLastError();
37880        if (mem_base != xmlMemBlocks()) {
37881            printf("Leak of %d blocks found in xmlUCSIsByzantineMusicalSymbols",
37882	           xmlMemBlocks() - mem_base);
37883	    test_ret++;
37884            printf(" %d", n_code);
37885            printf("\n");
37886        }
37887    }
37888    function_tests++;
37889#endif
37890
37891    return(test_ret);
37892}
37893
37894
37895static int
37896test_xmlUCSIsCJKCompatibility(void) {
37897    int test_ret = 0;
37898
37899#if defined(LIBXML_UNICODE_ENABLED)
37900    int mem_base;
37901    int ret_val;
37902    int code; /* UCS code point */
37903    int n_code;
37904
37905    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37906        mem_base = xmlMemBlocks();
37907        code = gen_int(n_code, 0);
37908
37909        ret_val = xmlUCSIsCJKCompatibility(code);
37910        desret_int(ret_val);
37911        call_tests++;
37912        des_int(n_code, code, 0);
37913        xmlResetLastError();
37914        if (mem_base != xmlMemBlocks()) {
37915            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibility",
37916	           xmlMemBlocks() - mem_base);
37917	    test_ret++;
37918            printf(" %d", n_code);
37919            printf("\n");
37920        }
37921    }
37922    function_tests++;
37923#endif
37924
37925    return(test_ret);
37926}
37927
37928
37929static int
37930test_xmlUCSIsCJKCompatibilityForms(void) {
37931    int test_ret = 0;
37932
37933#if defined(LIBXML_UNICODE_ENABLED)
37934    int mem_base;
37935    int ret_val;
37936    int code; /* UCS code point */
37937    int n_code;
37938
37939    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37940        mem_base = xmlMemBlocks();
37941        code = gen_int(n_code, 0);
37942
37943        ret_val = xmlUCSIsCJKCompatibilityForms(code);
37944        desret_int(ret_val);
37945        call_tests++;
37946        des_int(n_code, code, 0);
37947        xmlResetLastError();
37948        if (mem_base != xmlMemBlocks()) {
37949            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityForms",
37950	           xmlMemBlocks() - mem_base);
37951	    test_ret++;
37952            printf(" %d", n_code);
37953            printf("\n");
37954        }
37955    }
37956    function_tests++;
37957#endif
37958
37959    return(test_ret);
37960}
37961
37962
37963static int
37964test_xmlUCSIsCJKCompatibilityIdeographs(void) {
37965    int test_ret = 0;
37966
37967#if defined(LIBXML_UNICODE_ENABLED)
37968    int mem_base;
37969    int ret_val;
37970    int code; /* UCS code point */
37971    int n_code;
37972
37973    for (n_code = 0;n_code < gen_nb_int;n_code++) {
37974        mem_base = xmlMemBlocks();
37975        code = gen_int(n_code, 0);
37976
37977        ret_val = xmlUCSIsCJKCompatibilityIdeographs(code);
37978        desret_int(ret_val);
37979        call_tests++;
37980        des_int(n_code, code, 0);
37981        xmlResetLastError();
37982        if (mem_base != xmlMemBlocks()) {
37983            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographs",
37984	           xmlMemBlocks() - mem_base);
37985	    test_ret++;
37986            printf(" %d", n_code);
37987            printf("\n");
37988        }
37989    }
37990    function_tests++;
37991#endif
37992
37993    return(test_ret);
37994}
37995
37996
37997static int
37998test_xmlUCSIsCJKCompatibilityIdeographsSupplement(void) {
37999    int test_ret = 0;
38000
38001#if defined(LIBXML_UNICODE_ENABLED)
38002    int mem_base;
38003    int ret_val;
38004    int code; /* UCS code point */
38005    int n_code;
38006
38007    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38008        mem_base = xmlMemBlocks();
38009        code = gen_int(n_code, 0);
38010
38011        ret_val = xmlUCSIsCJKCompatibilityIdeographsSupplement(code);
38012        desret_int(ret_val);
38013        call_tests++;
38014        des_int(n_code, code, 0);
38015        xmlResetLastError();
38016        if (mem_base != xmlMemBlocks()) {
38017            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographsSupplement",
38018	           xmlMemBlocks() - mem_base);
38019	    test_ret++;
38020            printf(" %d", n_code);
38021            printf("\n");
38022        }
38023    }
38024    function_tests++;
38025#endif
38026
38027    return(test_ret);
38028}
38029
38030
38031static int
38032test_xmlUCSIsCJKRadicalsSupplement(void) {
38033    int test_ret = 0;
38034
38035#if defined(LIBXML_UNICODE_ENABLED)
38036    int mem_base;
38037    int ret_val;
38038    int code; /* UCS code point */
38039    int n_code;
38040
38041    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38042        mem_base = xmlMemBlocks();
38043        code = gen_int(n_code, 0);
38044
38045        ret_val = xmlUCSIsCJKRadicalsSupplement(code);
38046        desret_int(ret_val);
38047        call_tests++;
38048        des_int(n_code, code, 0);
38049        xmlResetLastError();
38050        if (mem_base != xmlMemBlocks()) {
38051            printf("Leak of %d blocks found in xmlUCSIsCJKRadicalsSupplement",
38052	           xmlMemBlocks() - mem_base);
38053	    test_ret++;
38054            printf(" %d", n_code);
38055            printf("\n");
38056        }
38057    }
38058    function_tests++;
38059#endif
38060
38061    return(test_ret);
38062}
38063
38064
38065static int
38066test_xmlUCSIsCJKSymbolsandPunctuation(void) {
38067    int test_ret = 0;
38068
38069#if defined(LIBXML_UNICODE_ENABLED)
38070    int mem_base;
38071    int ret_val;
38072    int code; /* UCS code point */
38073    int n_code;
38074
38075    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38076        mem_base = xmlMemBlocks();
38077        code = gen_int(n_code, 0);
38078
38079        ret_val = xmlUCSIsCJKSymbolsandPunctuation(code);
38080        desret_int(ret_val);
38081        call_tests++;
38082        des_int(n_code, code, 0);
38083        xmlResetLastError();
38084        if (mem_base != xmlMemBlocks()) {
38085            printf("Leak of %d blocks found in xmlUCSIsCJKSymbolsandPunctuation",
38086	           xmlMemBlocks() - mem_base);
38087	    test_ret++;
38088            printf(" %d", n_code);
38089            printf("\n");
38090        }
38091    }
38092    function_tests++;
38093#endif
38094
38095    return(test_ret);
38096}
38097
38098
38099static int
38100test_xmlUCSIsCJKUnifiedIdeographs(void) {
38101    int test_ret = 0;
38102
38103#if defined(LIBXML_UNICODE_ENABLED)
38104    int mem_base;
38105    int ret_val;
38106    int code; /* UCS code point */
38107    int n_code;
38108
38109    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38110        mem_base = xmlMemBlocks();
38111        code = gen_int(n_code, 0);
38112
38113        ret_val = xmlUCSIsCJKUnifiedIdeographs(code);
38114        desret_int(ret_val);
38115        call_tests++;
38116        des_int(n_code, code, 0);
38117        xmlResetLastError();
38118        if (mem_base != xmlMemBlocks()) {
38119            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographs",
38120	           xmlMemBlocks() - mem_base);
38121	    test_ret++;
38122            printf(" %d", n_code);
38123            printf("\n");
38124        }
38125    }
38126    function_tests++;
38127#endif
38128
38129    return(test_ret);
38130}
38131
38132
38133static int
38134test_xmlUCSIsCJKUnifiedIdeographsExtensionA(void) {
38135    int test_ret = 0;
38136
38137#if defined(LIBXML_UNICODE_ENABLED)
38138    int mem_base;
38139    int ret_val;
38140    int code; /* UCS code point */
38141    int n_code;
38142
38143    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38144        mem_base = xmlMemBlocks();
38145        code = gen_int(n_code, 0);
38146
38147        ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionA(code);
38148        desret_int(ret_val);
38149        call_tests++;
38150        des_int(n_code, code, 0);
38151        xmlResetLastError();
38152        if (mem_base != xmlMemBlocks()) {
38153            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionA",
38154	           xmlMemBlocks() - mem_base);
38155	    test_ret++;
38156            printf(" %d", n_code);
38157            printf("\n");
38158        }
38159    }
38160    function_tests++;
38161#endif
38162
38163    return(test_ret);
38164}
38165
38166
38167static int
38168test_xmlUCSIsCJKUnifiedIdeographsExtensionB(void) {
38169    int test_ret = 0;
38170
38171#if defined(LIBXML_UNICODE_ENABLED)
38172    int mem_base;
38173    int ret_val;
38174    int code; /* UCS code point */
38175    int n_code;
38176
38177    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38178        mem_base = xmlMemBlocks();
38179        code = gen_int(n_code, 0);
38180
38181        ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionB(code);
38182        desret_int(ret_val);
38183        call_tests++;
38184        des_int(n_code, code, 0);
38185        xmlResetLastError();
38186        if (mem_base != xmlMemBlocks()) {
38187            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionB",
38188	           xmlMemBlocks() - mem_base);
38189	    test_ret++;
38190            printf(" %d", n_code);
38191            printf("\n");
38192        }
38193    }
38194    function_tests++;
38195#endif
38196
38197    return(test_ret);
38198}
38199
38200
38201static int
38202test_xmlUCSIsCat(void) {
38203    int test_ret = 0;
38204
38205#if defined(LIBXML_UNICODE_ENABLED)
38206    int mem_base;
38207    int ret_val;
38208    int code; /* UCS code point */
38209    int n_code;
38210    char * cat; /* UCS Category name */
38211    int n_cat;
38212
38213    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38214    for (n_cat = 0;n_cat < gen_nb_const_char_ptr;n_cat++) {
38215        mem_base = xmlMemBlocks();
38216        code = gen_int(n_code, 0);
38217        cat = gen_const_char_ptr(n_cat, 1);
38218
38219        ret_val = xmlUCSIsCat(code, (const char *)cat);
38220        desret_int(ret_val);
38221        call_tests++;
38222        des_int(n_code, code, 0);
38223        des_const_char_ptr(n_cat, (const char *)cat, 1);
38224        xmlResetLastError();
38225        if (mem_base != xmlMemBlocks()) {
38226            printf("Leak of %d blocks found in xmlUCSIsCat",
38227	           xmlMemBlocks() - mem_base);
38228	    test_ret++;
38229            printf(" %d", n_code);
38230            printf(" %d", n_cat);
38231            printf("\n");
38232        }
38233    }
38234    }
38235    function_tests++;
38236#endif
38237
38238    return(test_ret);
38239}
38240
38241
38242static int
38243test_xmlUCSIsCatC(void) {
38244    int test_ret = 0;
38245
38246#if defined(LIBXML_UNICODE_ENABLED)
38247    int mem_base;
38248    int ret_val;
38249    int code; /* UCS code point */
38250    int n_code;
38251
38252    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38253        mem_base = xmlMemBlocks();
38254        code = gen_int(n_code, 0);
38255
38256        ret_val = xmlUCSIsCatC(code);
38257        desret_int(ret_val);
38258        call_tests++;
38259        des_int(n_code, code, 0);
38260        xmlResetLastError();
38261        if (mem_base != xmlMemBlocks()) {
38262            printf("Leak of %d blocks found in xmlUCSIsCatC",
38263	           xmlMemBlocks() - mem_base);
38264	    test_ret++;
38265            printf(" %d", n_code);
38266            printf("\n");
38267        }
38268    }
38269    function_tests++;
38270#endif
38271
38272    return(test_ret);
38273}
38274
38275
38276static int
38277test_xmlUCSIsCatCc(void) {
38278    int test_ret = 0;
38279
38280#if defined(LIBXML_UNICODE_ENABLED)
38281    int mem_base;
38282    int ret_val;
38283    int code; /* UCS code point */
38284    int n_code;
38285
38286    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38287        mem_base = xmlMemBlocks();
38288        code = gen_int(n_code, 0);
38289
38290        ret_val = xmlUCSIsCatCc(code);
38291        desret_int(ret_val);
38292        call_tests++;
38293        des_int(n_code, code, 0);
38294        xmlResetLastError();
38295        if (mem_base != xmlMemBlocks()) {
38296            printf("Leak of %d blocks found in xmlUCSIsCatCc",
38297	           xmlMemBlocks() - mem_base);
38298	    test_ret++;
38299            printf(" %d", n_code);
38300            printf("\n");
38301        }
38302    }
38303    function_tests++;
38304#endif
38305
38306    return(test_ret);
38307}
38308
38309
38310static int
38311test_xmlUCSIsCatCf(void) {
38312    int test_ret = 0;
38313
38314#if defined(LIBXML_UNICODE_ENABLED)
38315    int mem_base;
38316    int ret_val;
38317    int code; /* UCS code point */
38318    int n_code;
38319
38320    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38321        mem_base = xmlMemBlocks();
38322        code = gen_int(n_code, 0);
38323
38324        ret_val = xmlUCSIsCatCf(code);
38325        desret_int(ret_val);
38326        call_tests++;
38327        des_int(n_code, code, 0);
38328        xmlResetLastError();
38329        if (mem_base != xmlMemBlocks()) {
38330            printf("Leak of %d blocks found in xmlUCSIsCatCf",
38331	           xmlMemBlocks() - mem_base);
38332	    test_ret++;
38333            printf(" %d", n_code);
38334            printf("\n");
38335        }
38336    }
38337    function_tests++;
38338#endif
38339
38340    return(test_ret);
38341}
38342
38343
38344static int
38345test_xmlUCSIsCatCo(void) {
38346    int test_ret = 0;
38347
38348#if defined(LIBXML_UNICODE_ENABLED)
38349    int mem_base;
38350    int ret_val;
38351    int code; /* UCS code point */
38352    int n_code;
38353
38354    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38355        mem_base = xmlMemBlocks();
38356        code = gen_int(n_code, 0);
38357
38358        ret_val = xmlUCSIsCatCo(code);
38359        desret_int(ret_val);
38360        call_tests++;
38361        des_int(n_code, code, 0);
38362        xmlResetLastError();
38363        if (mem_base != xmlMemBlocks()) {
38364            printf("Leak of %d blocks found in xmlUCSIsCatCo",
38365	           xmlMemBlocks() - mem_base);
38366	    test_ret++;
38367            printf(" %d", n_code);
38368            printf("\n");
38369        }
38370    }
38371    function_tests++;
38372#endif
38373
38374    return(test_ret);
38375}
38376
38377
38378static int
38379test_xmlUCSIsCatCs(void) {
38380    int test_ret = 0;
38381
38382#if defined(LIBXML_UNICODE_ENABLED)
38383    int mem_base;
38384    int ret_val;
38385    int code; /* UCS code point */
38386    int n_code;
38387
38388    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38389        mem_base = xmlMemBlocks();
38390        code = gen_int(n_code, 0);
38391
38392        ret_val = xmlUCSIsCatCs(code);
38393        desret_int(ret_val);
38394        call_tests++;
38395        des_int(n_code, code, 0);
38396        xmlResetLastError();
38397        if (mem_base != xmlMemBlocks()) {
38398            printf("Leak of %d blocks found in xmlUCSIsCatCs",
38399	           xmlMemBlocks() - mem_base);
38400	    test_ret++;
38401            printf(" %d", n_code);
38402            printf("\n");
38403        }
38404    }
38405    function_tests++;
38406#endif
38407
38408    return(test_ret);
38409}
38410
38411
38412static int
38413test_xmlUCSIsCatL(void) {
38414    int test_ret = 0;
38415
38416#if defined(LIBXML_UNICODE_ENABLED)
38417    int mem_base;
38418    int ret_val;
38419    int code; /* UCS code point */
38420    int n_code;
38421
38422    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38423        mem_base = xmlMemBlocks();
38424        code = gen_int(n_code, 0);
38425
38426        ret_val = xmlUCSIsCatL(code);
38427        desret_int(ret_val);
38428        call_tests++;
38429        des_int(n_code, code, 0);
38430        xmlResetLastError();
38431        if (mem_base != xmlMemBlocks()) {
38432            printf("Leak of %d blocks found in xmlUCSIsCatL",
38433	           xmlMemBlocks() - mem_base);
38434	    test_ret++;
38435            printf(" %d", n_code);
38436            printf("\n");
38437        }
38438    }
38439    function_tests++;
38440#endif
38441
38442    return(test_ret);
38443}
38444
38445
38446static int
38447test_xmlUCSIsCatLl(void) {
38448    int test_ret = 0;
38449
38450#if defined(LIBXML_UNICODE_ENABLED)
38451    int mem_base;
38452    int ret_val;
38453    int code; /* UCS code point */
38454    int n_code;
38455
38456    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38457        mem_base = xmlMemBlocks();
38458        code = gen_int(n_code, 0);
38459
38460        ret_val = xmlUCSIsCatLl(code);
38461        desret_int(ret_val);
38462        call_tests++;
38463        des_int(n_code, code, 0);
38464        xmlResetLastError();
38465        if (mem_base != xmlMemBlocks()) {
38466            printf("Leak of %d blocks found in xmlUCSIsCatLl",
38467	           xmlMemBlocks() - mem_base);
38468	    test_ret++;
38469            printf(" %d", n_code);
38470            printf("\n");
38471        }
38472    }
38473    function_tests++;
38474#endif
38475
38476    return(test_ret);
38477}
38478
38479
38480static int
38481test_xmlUCSIsCatLm(void) {
38482    int test_ret = 0;
38483
38484#if defined(LIBXML_UNICODE_ENABLED)
38485    int mem_base;
38486    int ret_val;
38487    int code; /* UCS code point */
38488    int n_code;
38489
38490    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38491        mem_base = xmlMemBlocks();
38492        code = gen_int(n_code, 0);
38493
38494        ret_val = xmlUCSIsCatLm(code);
38495        desret_int(ret_val);
38496        call_tests++;
38497        des_int(n_code, code, 0);
38498        xmlResetLastError();
38499        if (mem_base != xmlMemBlocks()) {
38500            printf("Leak of %d blocks found in xmlUCSIsCatLm",
38501	           xmlMemBlocks() - mem_base);
38502	    test_ret++;
38503            printf(" %d", n_code);
38504            printf("\n");
38505        }
38506    }
38507    function_tests++;
38508#endif
38509
38510    return(test_ret);
38511}
38512
38513
38514static int
38515test_xmlUCSIsCatLo(void) {
38516    int test_ret = 0;
38517
38518#if defined(LIBXML_UNICODE_ENABLED)
38519    int mem_base;
38520    int ret_val;
38521    int code; /* UCS code point */
38522    int n_code;
38523
38524    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38525        mem_base = xmlMemBlocks();
38526        code = gen_int(n_code, 0);
38527
38528        ret_val = xmlUCSIsCatLo(code);
38529        desret_int(ret_val);
38530        call_tests++;
38531        des_int(n_code, code, 0);
38532        xmlResetLastError();
38533        if (mem_base != xmlMemBlocks()) {
38534            printf("Leak of %d blocks found in xmlUCSIsCatLo",
38535	           xmlMemBlocks() - mem_base);
38536	    test_ret++;
38537            printf(" %d", n_code);
38538            printf("\n");
38539        }
38540    }
38541    function_tests++;
38542#endif
38543
38544    return(test_ret);
38545}
38546
38547
38548static int
38549test_xmlUCSIsCatLt(void) {
38550    int test_ret = 0;
38551
38552#if defined(LIBXML_UNICODE_ENABLED)
38553    int mem_base;
38554    int ret_val;
38555    int code; /* UCS code point */
38556    int n_code;
38557
38558    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38559        mem_base = xmlMemBlocks();
38560        code = gen_int(n_code, 0);
38561
38562        ret_val = xmlUCSIsCatLt(code);
38563        desret_int(ret_val);
38564        call_tests++;
38565        des_int(n_code, code, 0);
38566        xmlResetLastError();
38567        if (mem_base != xmlMemBlocks()) {
38568            printf("Leak of %d blocks found in xmlUCSIsCatLt",
38569	           xmlMemBlocks() - mem_base);
38570	    test_ret++;
38571            printf(" %d", n_code);
38572            printf("\n");
38573        }
38574    }
38575    function_tests++;
38576#endif
38577
38578    return(test_ret);
38579}
38580
38581
38582static int
38583test_xmlUCSIsCatLu(void) {
38584    int test_ret = 0;
38585
38586#if defined(LIBXML_UNICODE_ENABLED)
38587    int mem_base;
38588    int ret_val;
38589    int code; /* UCS code point */
38590    int n_code;
38591
38592    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38593        mem_base = xmlMemBlocks();
38594        code = gen_int(n_code, 0);
38595
38596        ret_val = xmlUCSIsCatLu(code);
38597        desret_int(ret_val);
38598        call_tests++;
38599        des_int(n_code, code, 0);
38600        xmlResetLastError();
38601        if (mem_base != xmlMemBlocks()) {
38602            printf("Leak of %d blocks found in xmlUCSIsCatLu",
38603	           xmlMemBlocks() - mem_base);
38604	    test_ret++;
38605            printf(" %d", n_code);
38606            printf("\n");
38607        }
38608    }
38609    function_tests++;
38610#endif
38611
38612    return(test_ret);
38613}
38614
38615
38616static int
38617test_xmlUCSIsCatM(void) {
38618    int test_ret = 0;
38619
38620#if defined(LIBXML_UNICODE_ENABLED)
38621    int mem_base;
38622    int ret_val;
38623    int code; /* UCS code point */
38624    int n_code;
38625
38626    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38627        mem_base = xmlMemBlocks();
38628        code = gen_int(n_code, 0);
38629
38630        ret_val = xmlUCSIsCatM(code);
38631        desret_int(ret_val);
38632        call_tests++;
38633        des_int(n_code, code, 0);
38634        xmlResetLastError();
38635        if (mem_base != xmlMemBlocks()) {
38636            printf("Leak of %d blocks found in xmlUCSIsCatM",
38637	           xmlMemBlocks() - mem_base);
38638	    test_ret++;
38639            printf(" %d", n_code);
38640            printf("\n");
38641        }
38642    }
38643    function_tests++;
38644#endif
38645
38646    return(test_ret);
38647}
38648
38649
38650static int
38651test_xmlUCSIsCatMc(void) {
38652    int test_ret = 0;
38653
38654#if defined(LIBXML_UNICODE_ENABLED)
38655    int mem_base;
38656    int ret_val;
38657    int code; /* UCS code point */
38658    int n_code;
38659
38660    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38661        mem_base = xmlMemBlocks();
38662        code = gen_int(n_code, 0);
38663
38664        ret_val = xmlUCSIsCatMc(code);
38665        desret_int(ret_val);
38666        call_tests++;
38667        des_int(n_code, code, 0);
38668        xmlResetLastError();
38669        if (mem_base != xmlMemBlocks()) {
38670            printf("Leak of %d blocks found in xmlUCSIsCatMc",
38671	           xmlMemBlocks() - mem_base);
38672	    test_ret++;
38673            printf(" %d", n_code);
38674            printf("\n");
38675        }
38676    }
38677    function_tests++;
38678#endif
38679
38680    return(test_ret);
38681}
38682
38683
38684static int
38685test_xmlUCSIsCatMe(void) {
38686    int test_ret = 0;
38687
38688#if defined(LIBXML_UNICODE_ENABLED)
38689    int mem_base;
38690    int ret_val;
38691    int code; /* UCS code point */
38692    int n_code;
38693
38694    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38695        mem_base = xmlMemBlocks();
38696        code = gen_int(n_code, 0);
38697
38698        ret_val = xmlUCSIsCatMe(code);
38699        desret_int(ret_val);
38700        call_tests++;
38701        des_int(n_code, code, 0);
38702        xmlResetLastError();
38703        if (mem_base != xmlMemBlocks()) {
38704            printf("Leak of %d blocks found in xmlUCSIsCatMe",
38705	           xmlMemBlocks() - mem_base);
38706	    test_ret++;
38707            printf(" %d", n_code);
38708            printf("\n");
38709        }
38710    }
38711    function_tests++;
38712#endif
38713
38714    return(test_ret);
38715}
38716
38717
38718static int
38719test_xmlUCSIsCatMn(void) {
38720    int test_ret = 0;
38721
38722#if defined(LIBXML_UNICODE_ENABLED)
38723    int mem_base;
38724    int ret_val;
38725    int code; /* UCS code point */
38726    int n_code;
38727
38728    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38729        mem_base = xmlMemBlocks();
38730        code = gen_int(n_code, 0);
38731
38732        ret_val = xmlUCSIsCatMn(code);
38733        desret_int(ret_val);
38734        call_tests++;
38735        des_int(n_code, code, 0);
38736        xmlResetLastError();
38737        if (mem_base != xmlMemBlocks()) {
38738            printf("Leak of %d blocks found in xmlUCSIsCatMn",
38739	           xmlMemBlocks() - mem_base);
38740	    test_ret++;
38741            printf(" %d", n_code);
38742            printf("\n");
38743        }
38744    }
38745    function_tests++;
38746#endif
38747
38748    return(test_ret);
38749}
38750
38751
38752static int
38753test_xmlUCSIsCatN(void) {
38754    int test_ret = 0;
38755
38756#if defined(LIBXML_UNICODE_ENABLED)
38757    int mem_base;
38758    int ret_val;
38759    int code; /* UCS code point */
38760    int n_code;
38761
38762    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38763        mem_base = xmlMemBlocks();
38764        code = gen_int(n_code, 0);
38765
38766        ret_val = xmlUCSIsCatN(code);
38767        desret_int(ret_val);
38768        call_tests++;
38769        des_int(n_code, code, 0);
38770        xmlResetLastError();
38771        if (mem_base != xmlMemBlocks()) {
38772            printf("Leak of %d blocks found in xmlUCSIsCatN",
38773	           xmlMemBlocks() - mem_base);
38774	    test_ret++;
38775            printf(" %d", n_code);
38776            printf("\n");
38777        }
38778    }
38779    function_tests++;
38780#endif
38781
38782    return(test_ret);
38783}
38784
38785
38786static int
38787test_xmlUCSIsCatNd(void) {
38788    int test_ret = 0;
38789
38790#if defined(LIBXML_UNICODE_ENABLED)
38791    int mem_base;
38792    int ret_val;
38793    int code; /* UCS code point */
38794    int n_code;
38795
38796    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38797        mem_base = xmlMemBlocks();
38798        code = gen_int(n_code, 0);
38799
38800        ret_val = xmlUCSIsCatNd(code);
38801        desret_int(ret_val);
38802        call_tests++;
38803        des_int(n_code, code, 0);
38804        xmlResetLastError();
38805        if (mem_base != xmlMemBlocks()) {
38806            printf("Leak of %d blocks found in xmlUCSIsCatNd",
38807	           xmlMemBlocks() - mem_base);
38808	    test_ret++;
38809            printf(" %d", n_code);
38810            printf("\n");
38811        }
38812    }
38813    function_tests++;
38814#endif
38815
38816    return(test_ret);
38817}
38818
38819
38820static int
38821test_xmlUCSIsCatNl(void) {
38822    int test_ret = 0;
38823
38824#if defined(LIBXML_UNICODE_ENABLED)
38825    int mem_base;
38826    int ret_val;
38827    int code; /* UCS code point */
38828    int n_code;
38829
38830    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38831        mem_base = xmlMemBlocks();
38832        code = gen_int(n_code, 0);
38833
38834        ret_val = xmlUCSIsCatNl(code);
38835        desret_int(ret_val);
38836        call_tests++;
38837        des_int(n_code, code, 0);
38838        xmlResetLastError();
38839        if (mem_base != xmlMemBlocks()) {
38840            printf("Leak of %d blocks found in xmlUCSIsCatNl",
38841	           xmlMemBlocks() - mem_base);
38842	    test_ret++;
38843            printf(" %d", n_code);
38844            printf("\n");
38845        }
38846    }
38847    function_tests++;
38848#endif
38849
38850    return(test_ret);
38851}
38852
38853
38854static int
38855test_xmlUCSIsCatNo(void) {
38856    int test_ret = 0;
38857
38858#if defined(LIBXML_UNICODE_ENABLED)
38859    int mem_base;
38860    int ret_val;
38861    int code; /* UCS code point */
38862    int n_code;
38863
38864    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38865        mem_base = xmlMemBlocks();
38866        code = gen_int(n_code, 0);
38867
38868        ret_val = xmlUCSIsCatNo(code);
38869        desret_int(ret_val);
38870        call_tests++;
38871        des_int(n_code, code, 0);
38872        xmlResetLastError();
38873        if (mem_base != xmlMemBlocks()) {
38874            printf("Leak of %d blocks found in xmlUCSIsCatNo",
38875	           xmlMemBlocks() - mem_base);
38876	    test_ret++;
38877            printf(" %d", n_code);
38878            printf("\n");
38879        }
38880    }
38881    function_tests++;
38882#endif
38883
38884    return(test_ret);
38885}
38886
38887
38888static int
38889test_xmlUCSIsCatP(void) {
38890    int test_ret = 0;
38891
38892#if defined(LIBXML_UNICODE_ENABLED)
38893    int mem_base;
38894    int ret_val;
38895    int code; /* UCS code point */
38896    int n_code;
38897
38898    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38899        mem_base = xmlMemBlocks();
38900        code = gen_int(n_code, 0);
38901
38902        ret_val = xmlUCSIsCatP(code);
38903        desret_int(ret_val);
38904        call_tests++;
38905        des_int(n_code, code, 0);
38906        xmlResetLastError();
38907        if (mem_base != xmlMemBlocks()) {
38908            printf("Leak of %d blocks found in xmlUCSIsCatP",
38909	           xmlMemBlocks() - mem_base);
38910	    test_ret++;
38911            printf(" %d", n_code);
38912            printf("\n");
38913        }
38914    }
38915    function_tests++;
38916#endif
38917
38918    return(test_ret);
38919}
38920
38921
38922static int
38923test_xmlUCSIsCatPc(void) {
38924    int test_ret = 0;
38925
38926#if defined(LIBXML_UNICODE_ENABLED)
38927    int mem_base;
38928    int ret_val;
38929    int code; /* UCS code point */
38930    int n_code;
38931
38932    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38933        mem_base = xmlMemBlocks();
38934        code = gen_int(n_code, 0);
38935
38936        ret_val = xmlUCSIsCatPc(code);
38937        desret_int(ret_val);
38938        call_tests++;
38939        des_int(n_code, code, 0);
38940        xmlResetLastError();
38941        if (mem_base != xmlMemBlocks()) {
38942            printf("Leak of %d blocks found in xmlUCSIsCatPc",
38943	           xmlMemBlocks() - mem_base);
38944	    test_ret++;
38945            printf(" %d", n_code);
38946            printf("\n");
38947        }
38948    }
38949    function_tests++;
38950#endif
38951
38952    return(test_ret);
38953}
38954
38955
38956static int
38957test_xmlUCSIsCatPd(void) {
38958    int test_ret = 0;
38959
38960#if defined(LIBXML_UNICODE_ENABLED)
38961    int mem_base;
38962    int ret_val;
38963    int code; /* UCS code point */
38964    int n_code;
38965
38966    for (n_code = 0;n_code < gen_nb_int;n_code++) {
38967        mem_base = xmlMemBlocks();
38968        code = gen_int(n_code, 0);
38969
38970        ret_val = xmlUCSIsCatPd(code);
38971        desret_int(ret_val);
38972        call_tests++;
38973        des_int(n_code, code, 0);
38974        xmlResetLastError();
38975        if (mem_base != xmlMemBlocks()) {
38976            printf("Leak of %d blocks found in xmlUCSIsCatPd",
38977	           xmlMemBlocks() - mem_base);
38978	    test_ret++;
38979            printf(" %d", n_code);
38980            printf("\n");
38981        }
38982    }
38983    function_tests++;
38984#endif
38985
38986    return(test_ret);
38987}
38988
38989
38990static int
38991test_xmlUCSIsCatPe(void) {
38992    int test_ret = 0;
38993
38994#if defined(LIBXML_UNICODE_ENABLED)
38995    int mem_base;
38996    int ret_val;
38997    int code; /* UCS code point */
38998    int n_code;
38999
39000    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39001        mem_base = xmlMemBlocks();
39002        code = gen_int(n_code, 0);
39003
39004        ret_val = xmlUCSIsCatPe(code);
39005        desret_int(ret_val);
39006        call_tests++;
39007        des_int(n_code, code, 0);
39008        xmlResetLastError();
39009        if (mem_base != xmlMemBlocks()) {
39010            printf("Leak of %d blocks found in xmlUCSIsCatPe",
39011	           xmlMemBlocks() - mem_base);
39012	    test_ret++;
39013            printf(" %d", n_code);
39014            printf("\n");
39015        }
39016    }
39017    function_tests++;
39018#endif
39019
39020    return(test_ret);
39021}
39022
39023
39024static int
39025test_xmlUCSIsCatPf(void) {
39026    int test_ret = 0;
39027
39028#if defined(LIBXML_UNICODE_ENABLED)
39029    int mem_base;
39030    int ret_val;
39031    int code; /* UCS code point */
39032    int n_code;
39033
39034    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39035        mem_base = xmlMemBlocks();
39036        code = gen_int(n_code, 0);
39037
39038        ret_val = xmlUCSIsCatPf(code);
39039        desret_int(ret_val);
39040        call_tests++;
39041        des_int(n_code, code, 0);
39042        xmlResetLastError();
39043        if (mem_base != xmlMemBlocks()) {
39044            printf("Leak of %d blocks found in xmlUCSIsCatPf",
39045	           xmlMemBlocks() - mem_base);
39046	    test_ret++;
39047            printf(" %d", n_code);
39048            printf("\n");
39049        }
39050    }
39051    function_tests++;
39052#endif
39053
39054    return(test_ret);
39055}
39056
39057
39058static int
39059test_xmlUCSIsCatPi(void) {
39060    int test_ret = 0;
39061
39062#if defined(LIBXML_UNICODE_ENABLED)
39063    int mem_base;
39064    int ret_val;
39065    int code; /* UCS code point */
39066    int n_code;
39067
39068    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39069        mem_base = xmlMemBlocks();
39070        code = gen_int(n_code, 0);
39071
39072        ret_val = xmlUCSIsCatPi(code);
39073        desret_int(ret_val);
39074        call_tests++;
39075        des_int(n_code, code, 0);
39076        xmlResetLastError();
39077        if (mem_base != xmlMemBlocks()) {
39078            printf("Leak of %d blocks found in xmlUCSIsCatPi",
39079	           xmlMemBlocks() - mem_base);
39080	    test_ret++;
39081            printf(" %d", n_code);
39082            printf("\n");
39083        }
39084    }
39085    function_tests++;
39086#endif
39087
39088    return(test_ret);
39089}
39090
39091
39092static int
39093test_xmlUCSIsCatPo(void) {
39094    int test_ret = 0;
39095
39096#if defined(LIBXML_UNICODE_ENABLED)
39097    int mem_base;
39098    int ret_val;
39099    int code; /* UCS code point */
39100    int n_code;
39101
39102    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39103        mem_base = xmlMemBlocks();
39104        code = gen_int(n_code, 0);
39105
39106        ret_val = xmlUCSIsCatPo(code);
39107        desret_int(ret_val);
39108        call_tests++;
39109        des_int(n_code, code, 0);
39110        xmlResetLastError();
39111        if (mem_base != xmlMemBlocks()) {
39112            printf("Leak of %d blocks found in xmlUCSIsCatPo",
39113	           xmlMemBlocks() - mem_base);
39114	    test_ret++;
39115            printf(" %d", n_code);
39116            printf("\n");
39117        }
39118    }
39119    function_tests++;
39120#endif
39121
39122    return(test_ret);
39123}
39124
39125
39126static int
39127test_xmlUCSIsCatPs(void) {
39128    int test_ret = 0;
39129
39130#if defined(LIBXML_UNICODE_ENABLED)
39131    int mem_base;
39132    int ret_val;
39133    int code; /* UCS code point */
39134    int n_code;
39135
39136    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39137        mem_base = xmlMemBlocks();
39138        code = gen_int(n_code, 0);
39139
39140        ret_val = xmlUCSIsCatPs(code);
39141        desret_int(ret_val);
39142        call_tests++;
39143        des_int(n_code, code, 0);
39144        xmlResetLastError();
39145        if (mem_base != xmlMemBlocks()) {
39146            printf("Leak of %d blocks found in xmlUCSIsCatPs",
39147	           xmlMemBlocks() - mem_base);
39148	    test_ret++;
39149            printf(" %d", n_code);
39150            printf("\n");
39151        }
39152    }
39153    function_tests++;
39154#endif
39155
39156    return(test_ret);
39157}
39158
39159
39160static int
39161test_xmlUCSIsCatS(void) {
39162    int test_ret = 0;
39163
39164#if defined(LIBXML_UNICODE_ENABLED)
39165    int mem_base;
39166    int ret_val;
39167    int code; /* UCS code point */
39168    int n_code;
39169
39170    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39171        mem_base = xmlMemBlocks();
39172        code = gen_int(n_code, 0);
39173
39174        ret_val = xmlUCSIsCatS(code);
39175        desret_int(ret_val);
39176        call_tests++;
39177        des_int(n_code, code, 0);
39178        xmlResetLastError();
39179        if (mem_base != xmlMemBlocks()) {
39180            printf("Leak of %d blocks found in xmlUCSIsCatS",
39181	           xmlMemBlocks() - mem_base);
39182	    test_ret++;
39183            printf(" %d", n_code);
39184            printf("\n");
39185        }
39186    }
39187    function_tests++;
39188#endif
39189
39190    return(test_ret);
39191}
39192
39193
39194static int
39195test_xmlUCSIsCatSc(void) {
39196    int test_ret = 0;
39197
39198#if defined(LIBXML_UNICODE_ENABLED)
39199    int mem_base;
39200    int ret_val;
39201    int code; /* UCS code point */
39202    int n_code;
39203
39204    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39205        mem_base = xmlMemBlocks();
39206        code = gen_int(n_code, 0);
39207
39208        ret_val = xmlUCSIsCatSc(code);
39209        desret_int(ret_val);
39210        call_tests++;
39211        des_int(n_code, code, 0);
39212        xmlResetLastError();
39213        if (mem_base != xmlMemBlocks()) {
39214            printf("Leak of %d blocks found in xmlUCSIsCatSc",
39215	           xmlMemBlocks() - mem_base);
39216	    test_ret++;
39217            printf(" %d", n_code);
39218            printf("\n");
39219        }
39220    }
39221    function_tests++;
39222#endif
39223
39224    return(test_ret);
39225}
39226
39227
39228static int
39229test_xmlUCSIsCatSk(void) {
39230    int test_ret = 0;
39231
39232#if defined(LIBXML_UNICODE_ENABLED)
39233    int mem_base;
39234    int ret_val;
39235    int code; /* UCS code point */
39236    int n_code;
39237
39238    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39239        mem_base = xmlMemBlocks();
39240        code = gen_int(n_code, 0);
39241
39242        ret_val = xmlUCSIsCatSk(code);
39243        desret_int(ret_val);
39244        call_tests++;
39245        des_int(n_code, code, 0);
39246        xmlResetLastError();
39247        if (mem_base != xmlMemBlocks()) {
39248            printf("Leak of %d blocks found in xmlUCSIsCatSk",
39249	           xmlMemBlocks() - mem_base);
39250	    test_ret++;
39251            printf(" %d", n_code);
39252            printf("\n");
39253        }
39254    }
39255    function_tests++;
39256#endif
39257
39258    return(test_ret);
39259}
39260
39261
39262static int
39263test_xmlUCSIsCatSm(void) {
39264    int test_ret = 0;
39265
39266#if defined(LIBXML_UNICODE_ENABLED)
39267    int mem_base;
39268    int ret_val;
39269    int code; /* UCS code point */
39270    int n_code;
39271
39272    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39273        mem_base = xmlMemBlocks();
39274        code = gen_int(n_code, 0);
39275
39276        ret_val = xmlUCSIsCatSm(code);
39277        desret_int(ret_val);
39278        call_tests++;
39279        des_int(n_code, code, 0);
39280        xmlResetLastError();
39281        if (mem_base != xmlMemBlocks()) {
39282            printf("Leak of %d blocks found in xmlUCSIsCatSm",
39283	           xmlMemBlocks() - mem_base);
39284	    test_ret++;
39285            printf(" %d", n_code);
39286            printf("\n");
39287        }
39288    }
39289    function_tests++;
39290#endif
39291
39292    return(test_ret);
39293}
39294
39295
39296static int
39297test_xmlUCSIsCatSo(void) {
39298    int test_ret = 0;
39299
39300#if defined(LIBXML_UNICODE_ENABLED)
39301    int mem_base;
39302    int ret_val;
39303    int code; /* UCS code point */
39304    int n_code;
39305
39306    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39307        mem_base = xmlMemBlocks();
39308        code = gen_int(n_code, 0);
39309
39310        ret_val = xmlUCSIsCatSo(code);
39311        desret_int(ret_val);
39312        call_tests++;
39313        des_int(n_code, code, 0);
39314        xmlResetLastError();
39315        if (mem_base != xmlMemBlocks()) {
39316            printf("Leak of %d blocks found in xmlUCSIsCatSo",
39317	           xmlMemBlocks() - mem_base);
39318	    test_ret++;
39319            printf(" %d", n_code);
39320            printf("\n");
39321        }
39322    }
39323    function_tests++;
39324#endif
39325
39326    return(test_ret);
39327}
39328
39329
39330static int
39331test_xmlUCSIsCatZ(void) {
39332    int test_ret = 0;
39333
39334#if defined(LIBXML_UNICODE_ENABLED)
39335    int mem_base;
39336    int ret_val;
39337    int code; /* UCS code point */
39338    int n_code;
39339
39340    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39341        mem_base = xmlMemBlocks();
39342        code = gen_int(n_code, 0);
39343
39344        ret_val = xmlUCSIsCatZ(code);
39345        desret_int(ret_val);
39346        call_tests++;
39347        des_int(n_code, code, 0);
39348        xmlResetLastError();
39349        if (mem_base != xmlMemBlocks()) {
39350            printf("Leak of %d blocks found in xmlUCSIsCatZ",
39351	           xmlMemBlocks() - mem_base);
39352	    test_ret++;
39353            printf(" %d", n_code);
39354            printf("\n");
39355        }
39356    }
39357    function_tests++;
39358#endif
39359
39360    return(test_ret);
39361}
39362
39363
39364static int
39365test_xmlUCSIsCatZl(void) {
39366    int test_ret = 0;
39367
39368#if defined(LIBXML_UNICODE_ENABLED)
39369    int mem_base;
39370    int ret_val;
39371    int code; /* UCS code point */
39372    int n_code;
39373
39374    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39375        mem_base = xmlMemBlocks();
39376        code = gen_int(n_code, 0);
39377
39378        ret_val = xmlUCSIsCatZl(code);
39379        desret_int(ret_val);
39380        call_tests++;
39381        des_int(n_code, code, 0);
39382        xmlResetLastError();
39383        if (mem_base != xmlMemBlocks()) {
39384            printf("Leak of %d blocks found in xmlUCSIsCatZl",
39385	           xmlMemBlocks() - mem_base);
39386	    test_ret++;
39387            printf(" %d", n_code);
39388            printf("\n");
39389        }
39390    }
39391    function_tests++;
39392#endif
39393
39394    return(test_ret);
39395}
39396
39397
39398static int
39399test_xmlUCSIsCatZp(void) {
39400    int test_ret = 0;
39401
39402#if defined(LIBXML_UNICODE_ENABLED)
39403    int mem_base;
39404    int ret_val;
39405    int code; /* UCS code point */
39406    int n_code;
39407
39408    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39409        mem_base = xmlMemBlocks();
39410        code = gen_int(n_code, 0);
39411
39412        ret_val = xmlUCSIsCatZp(code);
39413        desret_int(ret_val);
39414        call_tests++;
39415        des_int(n_code, code, 0);
39416        xmlResetLastError();
39417        if (mem_base != xmlMemBlocks()) {
39418            printf("Leak of %d blocks found in xmlUCSIsCatZp",
39419	           xmlMemBlocks() - mem_base);
39420	    test_ret++;
39421            printf(" %d", n_code);
39422            printf("\n");
39423        }
39424    }
39425    function_tests++;
39426#endif
39427
39428    return(test_ret);
39429}
39430
39431
39432static int
39433test_xmlUCSIsCatZs(void) {
39434    int test_ret = 0;
39435
39436#if defined(LIBXML_UNICODE_ENABLED)
39437    int mem_base;
39438    int ret_val;
39439    int code; /* UCS code point */
39440    int n_code;
39441
39442    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39443        mem_base = xmlMemBlocks();
39444        code = gen_int(n_code, 0);
39445
39446        ret_val = xmlUCSIsCatZs(code);
39447        desret_int(ret_val);
39448        call_tests++;
39449        des_int(n_code, code, 0);
39450        xmlResetLastError();
39451        if (mem_base != xmlMemBlocks()) {
39452            printf("Leak of %d blocks found in xmlUCSIsCatZs",
39453	           xmlMemBlocks() - mem_base);
39454	    test_ret++;
39455            printf(" %d", n_code);
39456            printf("\n");
39457        }
39458    }
39459    function_tests++;
39460#endif
39461
39462    return(test_ret);
39463}
39464
39465
39466static int
39467test_xmlUCSIsCherokee(void) {
39468    int test_ret = 0;
39469
39470#if defined(LIBXML_UNICODE_ENABLED)
39471    int mem_base;
39472    int ret_val;
39473    int code; /* UCS code point */
39474    int n_code;
39475
39476    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39477        mem_base = xmlMemBlocks();
39478        code = gen_int(n_code, 0);
39479
39480        ret_val = xmlUCSIsCherokee(code);
39481        desret_int(ret_val);
39482        call_tests++;
39483        des_int(n_code, code, 0);
39484        xmlResetLastError();
39485        if (mem_base != xmlMemBlocks()) {
39486            printf("Leak of %d blocks found in xmlUCSIsCherokee",
39487	           xmlMemBlocks() - mem_base);
39488	    test_ret++;
39489            printf(" %d", n_code);
39490            printf("\n");
39491        }
39492    }
39493    function_tests++;
39494#endif
39495
39496    return(test_ret);
39497}
39498
39499
39500static int
39501test_xmlUCSIsCombiningDiacriticalMarks(void) {
39502    int test_ret = 0;
39503
39504#if defined(LIBXML_UNICODE_ENABLED)
39505    int mem_base;
39506    int ret_val;
39507    int code; /* UCS code point */
39508    int n_code;
39509
39510    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39511        mem_base = xmlMemBlocks();
39512        code = gen_int(n_code, 0);
39513
39514        ret_val = xmlUCSIsCombiningDiacriticalMarks(code);
39515        desret_int(ret_val);
39516        call_tests++;
39517        des_int(n_code, code, 0);
39518        xmlResetLastError();
39519        if (mem_base != xmlMemBlocks()) {
39520            printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarks",
39521	           xmlMemBlocks() - mem_base);
39522	    test_ret++;
39523            printf(" %d", n_code);
39524            printf("\n");
39525        }
39526    }
39527    function_tests++;
39528#endif
39529
39530    return(test_ret);
39531}
39532
39533
39534static int
39535test_xmlUCSIsCombiningDiacriticalMarksforSymbols(void) {
39536    int test_ret = 0;
39537
39538#if defined(LIBXML_UNICODE_ENABLED)
39539    int mem_base;
39540    int ret_val;
39541    int code; /* UCS code point */
39542    int n_code;
39543
39544    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39545        mem_base = xmlMemBlocks();
39546        code = gen_int(n_code, 0);
39547
39548        ret_val = xmlUCSIsCombiningDiacriticalMarksforSymbols(code);
39549        desret_int(ret_val);
39550        call_tests++;
39551        des_int(n_code, code, 0);
39552        xmlResetLastError();
39553        if (mem_base != xmlMemBlocks()) {
39554            printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarksforSymbols",
39555	           xmlMemBlocks() - mem_base);
39556	    test_ret++;
39557            printf(" %d", n_code);
39558            printf("\n");
39559        }
39560    }
39561    function_tests++;
39562#endif
39563
39564    return(test_ret);
39565}
39566
39567
39568static int
39569test_xmlUCSIsCombiningHalfMarks(void) {
39570    int test_ret = 0;
39571
39572#if defined(LIBXML_UNICODE_ENABLED)
39573    int mem_base;
39574    int ret_val;
39575    int code; /* UCS code point */
39576    int n_code;
39577
39578    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39579        mem_base = xmlMemBlocks();
39580        code = gen_int(n_code, 0);
39581
39582        ret_val = xmlUCSIsCombiningHalfMarks(code);
39583        desret_int(ret_val);
39584        call_tests++;
39585        des_int(n_code, code, 0);
39586        xmlResetLastError();
39587        if (mem_base != xmlMemBlocks()) {
39588            printf("Leak of %d blocks found in xmlUCSIsCombiningHalfMarks",
39589	           xmlMemBlocks() - mem_base);
39590	    test_ret++;
39591            printf(" %d", n_code);
39592            printf("\n");
39593        }
39594    }
39595    function_tests++;
39596#endif
39597
39598    return(test_ret);
39599}
39600
39601
39602static int
39603test_xmlUCSIsCombiningMarksforSymbols(void) {
39604    int test_ret = 0;
39605
39606#if defined(LIBXML_UNICODE_ENABLED)
39607    int mem_base;
39608    int ret_val;
39609    int code; /* UCS code point */
39610    int n_code;
39611
39612    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39613        mem_base = xmlMemBlocks();
39614        code = gen_int(n_code, 0);
39615
39616        ret_val = xmlUCSIsCombiningMarksforSymbols(code);
39617        desret_int(ret_val);
39618        call_tests++;
39619        des_int(n_code, code, 0);
39620        xmlResetLastError();
39621        if (mem_base != xmlMemBlocks()) {
39622            printf("Leak of %d blocks found in xmlUCSIsCombiningMarksforSymbols",
39623	           xmlMemBlocks() - mem_base);
39624	    test_ret++;
39625            printf(" %d", n_code);
39626            printf("\n");
39627        }
39628    }
39629    function_tests++;
39630#endif
39631
39632    return(test_ret);
39633}
39634
39635
39636static int
39637test_xmlUCSIsControlPictures(void) {
39638    int test_ret = 0;
39639
39640#if defined(LIBXML_UNICODE_ENABLED)
39641    int mem_base;
39642    int ret_val;
39643    int code; /* UCS code point */
39644    int n_code;
39645
39646    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39647        mem_base = xmlMemBlocks();
39648        code = gen_int(n_code, 0);
39649
39650        ret_val = xmlUCSIsControlPictures(code);
39651        desret_int(ret_val);
39652        call_tests++;
39653        des_int(n_code, code, 0);
39654        xmlResetLastError();
39655        if (mem_base != xmlMemBlocks()) {
39656            printf("Leak of %d blocks found in xmlUCSIsControlPictures",
39657	           xmlMemBlocks() - mem_base);
39658	    test_ret++;
39659            printf(" %d", n_code);
39660            printf("\n");
39661        }
39662    }
39663    function_tests++;
39664#endif
39665
39666    return(test_ret);
39667}
39668
39669
39670static int
39671test_xmlUCSIsCurrencySymbols(void) {
39672    int test_ret = 0;
39673
39674#if defined(LIBXML_UNICODE_ENABLED)
39675    int mem_base;
39676    int ret_val;
39677    int code; /* UCS code point */
39678    int n_code;
39679
39680    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39681        mem_base = xmlMemBlocks();
39682        code = gen_int(n_code, 0);
39683
39684        ret_val = xmlUCSIsCurrencySymbols(code);
39685        desret_int(ret_val);
39686        call_tests++;
39687        des_int(n_code, code, 0);
39688        xmlResetLastError();
39689        if (mem_base != xmlMemBlocks()) {
39690            printf("Leak of %d blocks found in xmlUCSIsCurrencySymbols",
39691	           xmlMemBlocks() - mem_base);
39692	    test_ret++;
39693            printf(" %d", n_code);
39694            printf("\n");
39695        }
39696    }
39697    function_tests++;
39698#endif
39699
39700    return(test_ret);
39701}
39702
39703
39704static int
39705test_xmlUCSIsCypriotSyllabary(void) {
39706    int test_ret = 0;
39707
39708#if defined(LIBXML_UNICODE_ENABLED)
39709    int mem_base;
39710    int ret_val;
39711    int code; /* UCS code point */
39712    int n_code;
39713
39714    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39715        mem_base = xmlMemBlocks();
39716        code = gen_int(n_code, 0);
39717
39718        ret_val = xmlUCSIsCypriotSyllabary(code);
39719        desret_int(ret_val);
39720        call_tests++;
39721        des_int(n_code, code, 0);
39722        xmlResetLastError();
39723        if (mem_base != xmlMemBlocks()) {
39724            printf("Leak of %d blocks found in xmlUCSIsCypriotSyllabary",
39725	           xmlMemBlocks() - mem_base);
39726	    test_ret++;
39727            printf(" %d", n_code);
39728            printf("\n");
39729        }
39730    }
39731    function_tests++;
39732#endif
39733
39734    return(test_ret);
39735}
39736
39737
39738static int
39739test_xmlUCSIsCyrillic(void) {
39740    int test_ret = 0;
39741
39742#if defined(LIBXML_UNICODE_ENABLED)
39743    int mem_base;
39744    int ret_val;
39745    int code; /* UCS code point */
39746    int n_code;
39747
39748    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39749        mem_base = xmlMemBlocks();
39750        code = gen_int(n_code, 0);
39751
39752        ret_val = xmlUCSIsCyrillic(code);
39753        desret_int(ret_val);
39754        call_tests++;
39755        des_int(n_code, code, 0);
39756        xmlResetLastError();
39757        if (mem_base != xmlMemBlocks()) {
39758            printf("Leak of %d blocks found in xmlUCSIsCyrillic",
39759	           xmlMemBlocks() - mem_base);
39760	    test_ret++;
39761            printf(" %d", n_code);
39762            printf("\n");
39763        }
39764    }
39765    function_tests++;
39766#endif
39767
39768    return(test_ret);
39769}
39770
39771
39772static int
39773test_xmlUCSIsCyrillicSupplement(void) {
39774    int test_ret = 0;
39775
39776#if defined(LIBXML_UNICODE_ENABLED)
39777    int mem_base;
39778    int ret_val;
39779    int code; /* UCS code point */
39780    int n_code;
39781
39782    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39783        mem_base = xmlMemBlocks();
39784        code = gen_int(n_code, 0);
39785
39786        ret_val = xmlUCSIsCyrillicSupplement(code);
39787        desret_int(ret_val);
39788        call_tests++;
39789        des_int(n_code, code, 0);
39790        xmlResetLastError();
39791        if (mem_base != xmlMemBlocks()) {
39792            printf("Leak of %d blocks found in xmlUCSIsCyrillicSupplement",
39793	           xmlMemBlocks() - mem_base);
39794	    test_ret++;
39795            printf(" %d", n_code);
39796            printf("\n");
39797        }
39798    }
39799    function_tests++;
39800#endif
39801
39802    return(test_ret);
39803}
39804
39805
39806static int
39807test_xmlUCSIsDeseret(void) {
39808    int test_ret = 0;
39809
39810#if defined(LIBXML_UNICODE_ENABLED)
39811    int mem_base;
39812    int ret_val;
39813    int code; /* UCS code point */
39814    int n_code;
39815
39816    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39817        mem_base = xmlMemBlocks();
39818        code = gen_int(n_code, 0);
39819
39820        ret_val = xmlUCSIsDeseret(code);
39821        desret_int(ret_val);
39822        call_tests++;
39823        des_int(n_code, code, 0);
39824        xmlResetLastError();
39825        if (mem_base != xmlMemBlocks()) {
39826            printf("Leak of %d blocks found in xmlUCSIsDeseret",
39827	           xmlMemBlocks() - mem_base);
39828	    test_ret++;
39829            printf(" %d", n_code);
39830            printf("\n");
39831        }
39832    }
39833    function_tests++;
39834#endif
39835
39836    return(test_ret);
39837}
39838
39839
39840static int
39841test_xmlUCSIsDevanagari(void) {
39842    int test_ret = 0;
39843
39844#if defined(LIBXML_UNICODE_ENABLED)
39845    int mem_base;
39846    int ret_val;
39847    int code; /* UCS code point */
39848    int n_code;
39849
39850    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39851        mem_base = xmlMemBlocks();
39852        code = gen_int(n_code, 0);
39853
39854        ret_val = xmlUCSIsDevanagari(code);
39855        desret_int(ret_val);
39856        call_tests++;
39857        des_int(n_code, code, 0);
39858        xmlResetLastError();
39859        if (mem_base != xmlMemBlocks()) {
39860            printf("Leak of %d blocks found in xmlUCSIsDevanagari",
39861	           xmlMemBlocks() - mem_base);
39862	    test_ret++;
39863            printf(" %d", n_code);
39864            printf("\n");
39865        }
39866    }
39867    function_tests++;
39868#endif
39869
39870    return(test_ret);
39871}
39872
39873
39874static int
39875test_xmlUCSIsDingbats(void) {
39876    int test_ret = 0;
39877
39878#if defined(LIBXML_UNICODE_ENABLED)
39879    int mem_base;
39880    int ret_val;
39881    int code; /* UCS code point */
39882    int n_code;
39883
39884    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39885        mem_base = xmlMemBlocks();
39886        code = gen_int(n_code, 0);
39887
39888        ret_val = xmlUCSIsDingbats(code);
39889        desret_int(ret_val);
39890        call_tests++;
39891        des_int(n_code, code, 0);
39892        xmlResetLastError();
39893        if (mem_base != xmlMemBlocks()) {
39894            printf("Leak of %d blocks found in xmlUCSIsDingbats",
39895	           xmlMemBlocks() - mem_base);
39896	    test_ret++;
39897            printf(" %d", n_code);
39898            printf("\n");
39899        }
39900    }
39901    function_tests++;
39902#endif
39903
39904    return(test_ret);
39905}
39906
39907
39908static int
39909test_xmlUCSIsEnclosedAlphanumerics(void) {
39910    int test_ret = 0;
39911
39912#if defined(LIBXML_UNICODE_ENABLED)
39913    int mem_base;
39914    int ret_val;
39915    int code; /* UCS code point */
39916    int n_code;
39917
39918    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39919        mem_base = xmlMemBlocks();
39920        code = gen_int(n_code, 0);
39921
39922        ret_val = xmlUCSIsEnclosedAlphanumerics(code);
39923        desret_int(ret_val);
39924        call_tests++;
39925        des_int(n_code, code, 0);
39926        xmlResetLastError();
39927        if (mem_base != xmlMemBlocks()) {
39928            printf("Leak of %d blocks found in xmlUCSIsEnclosedAlphanumerics",
39929	           xmlMemBlocks() - mem_base);
39930	    test_ret++;
39931            printf(" %d", n_code);
39932            printf("\n");
39933        }
39934    }
39935    function_tests++;
39936#endif
39937
39938    return(test_ret);
39939}
39940
39941
39942static int
39943test_xmlUCSIsEnclosedCJKLettersandMonths(void) {
39944    int test_ret = 0;
39945
39946#if defined(LIBXML_UNICODE_ENABLED)
39947    int mem_base;
39948    int ret_val;
39949    int code; /* UCS code point */
39950    int n_code;
39951
39952    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39953        mem_base = xmlMemBlocks();
39954        code = gen_int(n_code, 0);
39955
39956        ret_val = xmlUCSIsEnclosedCJKLettersandMonths(code);
39957        desret_int(ret_val);
39958        call_tests++;
39959        des_int(n_code, code, 0);
39960        xmlResetLastError();
39961        if (mem_base != xmlMemBlocks()) {
39962            printf("Leak of %d blocks found in xmlUCSIsEnclosedCJKLettersandMonths",
39963	           xmlMemBlocks() - mem_base);
39964	    test_ret++;
39965            printf(" %d", n_code);
39966            printf("\n");
39967        }
39968    }
39969    function_tests++;
39970#endif
39971
39972    return(test_ret);
39973}
39974
39975
39976static int
39977test_xmlUCSIsEthiopic(void) {
39978    int test_ret = 0;
39979
39980#if defined(LIBXML_UNICODE_ENABLED)
39981    int mem_base;
39982    int ret_val;
39983    int code; /* UCS code point */
39984    int n_code;
39985
39986    for (n_code = 0;n_code < gen_nb_int;n_code++) {
39987        mem_base = xmlMemBlocks();
39988        code = gen_int(n_code, 0);
39989
39990        ret_val = xmlUCSIsEthiopic(code);
39991        desret_int(ret_val);
39992        call_tests++;
39993        des_int(n_code, code, 0);
39994        xmlResetLastError();
39995        if (mem_base != xmlMemBlocks()) {
39996            printf("Leak of %d blocks found in xmlUCSIsEthiopic",
39997	           xmlMemBlocks() - mem_base);
39998	    test_ret++;
39999            printf(" %d", n_code);
40000            printf("\n");
40001        }
40002    }
40003    function_tests++;
40004#endif
40005
40006    return(test_ret);
40007}
40008
40009
40010static int
40011test_xmlUCSIsGeneralPunctuation(void) {
40012    int test_ret = 0;
40013
40014#if defined(LIBXML_UNICODE_ENABLED)
40015    int mem_base;
40016    int ret_val;
40017    int code; /* UCS code point */
40018    int n_code;
40019
40020    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40021        mem_base = xmlMemBlocks();
40022        code = gen_int(n_code, 0);
40023
40024        ret_val = xmlUCSIsGeneralPunctuation(code);
40025        desret_int(ret_val);
40026        call_tests++;
40027        des_int(n_code, code, 0);
40028        xmlResetLastError();
40029        if (mem_base != xmlMemBlocks()) {
40030            printf("Leak of %d blocks found in xmlUCSIsGeneralPunctuation",
40031	           xmlMemBlocks() - mem_base);
40032	    test_ret++;
40033            printf(" %d", n_code);
40034            printf("\n");
40035        }
40036    }
40037    function_tests++;
40038#endif
40039
40040    return(test_ret);
40041}
40042
40043
40044static int
40045test_xmlUCSIsGeometricShapes(void) {
40046    int test_ret = 0;
40047
40048#if defined(LIBXML_UNICODE_ENABLED)
40049    int mem_base;
40050    int ret_val;
40051    int code; /* UCS code point */
40052    int n_code;
40053
40054    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40055        mem_base = xmlMemBlocks();
40056        code = gen_int(n_code, 0);
40057
40058        ret_val = xmlUCSIsGeometricShapes(code);
40059        desret_int(ret_val);
40060        call_tests++;
40061        des_int(n_code, code, 0);
40062        xmlResetLastError();
40063        if (mem_base != xmlMemBlocks()) {
40064            printf("Leak of %d blocks found in xmlUCSIsGeometricShapes",
40065	           xmlMemBlocks() - mem_base);
40066	    test_ret++;
40067            printf(" %d", n_code);
40068            printf("\n");
40069        }
40070    }
40071    function_tests++;
40072#endif
40073
40074    return(test_ret);
40075}
40076
40077
40078static int
40079test_xmlUCSIsGeorgian(void) {
40080    int test_ret = 0;
40081
40082#if defined(LIBXML_UNICODE_ENABLED)
40083    int mem_base;
40084    int ret_val;
40085    int code; /* UCS code point */
40086    int n_code;
40087
40088    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40089        mem_base = xmlMemBlocks();
40090        code = gen_int(n_code, 0);
40091
40092        ret_val = xmlUCSIsGeorgian(code);
40093        desret_int(ret_val);
40094        call_tests++;
40095        des_int(n_code, code, 0);
40096        xmlResetLastError();
40097        if (mem_base != xmlMemBlocks()) {
40098            printf("Leak of %d blocks found in xmlUCSIsGeorgian",
40099	           xmlMemBlocks() - mem_base);
40100	    test_ret++;
40101            printf(" %d", n_code);
40102            printf("\n");
40103        }
40104    }
40105    function_tests++;
40106#endif
40107
40108    return(test_ret);
40109}
40110
40111
40112static int
40113test_xmlUCSIsGothic(void) {
40114    int test_ret = 0;
40115
40116#if defined(LIBXML_UNICODE_ENABLED)
40117    int mem_base;
40118    int ret_val;
40119    int code; /* UCS code point */
40120    int n_code;
40121
40122    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40123        mem_base = xmlMemBlocks();
40124        code = gen_int(n_code, 0);
40125
40126        ret_val = xmlUCSIsGothic(code);
40127        desret_int(ret_val);
40128        call_tests++;
40129        des_int(n_code, code, 0);
40130        xmlResetLastError();
40131        if (mem_base != xmlMemBlocks()) {
40132            printf("Leak of %d blocks found in xmlUCSIsGothic",
40133	           xmlMemBlocks() - mem_base);
40134	    test_ret++;
40135            printf(" %d", n_code);
40136            printf("\n");
40137        }
40138    }
40139    function_tests++;
40140#endif
40141
40142    return(test_ret);
40143}
40144
40145
40146static int
40147test_xmlUCSIsGreek(void) {
40148    int test_ret = 0;
40149
40150#if defined(LIBXML_UNICODE_ENABLED)
40151    int mem_base;
40152    int ret_val;
40153    int code; /* UCS code point */
40154    int n_code;
40155
40156    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40157        mem_base = xmlMemBlocks();
40158        code = gen_int(n_code, 0);
40159
40160        ret_val = xmlUCSIsGreek(code);
40161        desret_int(ret_val);
40162        call_tests++;
40163        des_int(n_code, code, 0);
40164        xmlResetLastError();
40165        if (mem_base != xmlMemBlocks()) {
40166            printf("Leak of %d blocks found in xmlUCSIsGreek",
40167	           xmlMemBlocks() - mem_base);
40168	    test_ret++;
40169            printf(" %d", n_code);
40170            printf("\n");
40171        }
40172    }
40173    function_tests++;
40174#endif
40175
40176    return(test_ret);
40177}
40178
40179
40180static int
40181test_xmlUCSIsGreekExtended(void) {
40182    int test_ret = 0;
40183
40184#if defined(LIBXML_UNICODE_ENABLED)
40185    int mem_base;
40186    int ret_val;
40187    int code; /* UCS code point */
40188    int n_code;
40189
40190    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40191        mem_base = xmlMemBlocks();
40192        code = gen_int(n_code, 0);
40193
40194        ret_val = xmlUCSIsGreekExtended(code);
40195        desret_int(ret_val);
40196        call_tests++;
40197        des_int(n_code, code, 0);
40198        xmlResetLastError();
40199        if (mem_base != xmlMemBlocks()) {
40200            printf("Leak of %d blocks found in xmlUCSIsGreekExtended",
40201	           xmlMemBlocks() - mem_base);
40202	    test_ret++;
40203            printf(" %d", n_code);
40204            printf("\n");
40205        }
40206    }
40207    function_tests++;
40208#endif
40209
40210    return(test_ret);
40211}
40212
40213
40214static int
40215test_xmlUCSIsGreekandCoptic(void) {
40216    int test_ret = 0;
40217
40218#if defined(LIBXML_UNICODE_ENABLED)
40219    int mem_base;
40220    int ret_val;
40221    int code; /* UCS code point */
40222    int n_code;
40223
40224    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40225        mem_base = xmlMemBlocks();
40226        code = gen_int(n_code, 0);
40227
40228        ret_val = xmlUCSIsGreekandCoptic(code);
40229        desret_int(ret_val);
40230        call_tests++;
40231        des_int(n_code, code, 0);
40232        xmlResetLastError();
40233        if (mem_base != xmlMemBlocks()) {
40234            printf("Leak of %d blocks found in xmlUCSIsGreekandCoptic",
40235	           xmlMemBlocks() - mem_base);
40236	    test_ret++;
40237            printf(" %d", n_code);
40238            printf("\n");
40239        }
40240    }
40241    function_tests++;
40242#endif
40243
40244    return(test_ret);
40245}
40246
40247
40248static int
40249test_xmlUCSIsGujarati(void) {
40250    int test_ret = 0;
40251
40252#if defined(LIBXML_UNICODE_ENABLED)
40253    int mem_base;
40254    int ret_val;
40255    int code; /* UCS code point */
40256    int n_code;
40257
40258    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40259        mem_base = xmlMemBlocks();
40260        code = gen_int(n_code, 0);
40261
40262        ret_val = xmlUCSIsGujarati(code);
40263        desret_int(ret_val);
40264        call_tests++;
40265        des_int(n_code, code, 0);
40266        xmlResetLastError();
40267        if (mem_base != xmlMemBlocks()) {
40268            printf("Leak of %d blocks found in xmlUCSIsGujarati",
40269	           xmlMemBlocks() - mem_base);
40270	    test_ret++;
40271            printf(" %d", n_code);
40272            printf("\n");
40273        }
40274    }
40275    function_tests++;
40276#endif
40277
40278    return(test_ret);
40279}
40280
40281
40282static int
40283test_xmlUCSIsGurmukhi(void) {
40284    int test_ret = 0;
40285
40286#if defined(LIBXML_UNICODE_ENABLED)
40287    int mem_base;
40288    int ret_val;
40289    int code; /* UCS code point */
40290    int n_code;
40291
40292    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40293        mem_base = xmlMemBlocks();
40294        code = gen_int(n_code, 0);
40295
40296        ret_val = xmlUCSIsGurmukhi(code);
40297        desret_int(ret_val);
40298        call_tests++;
40299        des_int(n_code, code, 0);
40300        xmlResetLastError();
40301        if (mem_base != xmlMemBlocks()) {
40302            printf("Leak of %d blocks found in xmlUCSIsGurmukhi",
40303	           xmlMemBlocks() - mem_base);
40304	    test_ret++;
40305            printf(" %d", n_code);
40306            printf("\n");
40307        }
40308    }
40309    function_tests++;
40310#endif
40311
40312    return(test_ret);
40313}
40314
40315
40316static int
40317test_xmlUCSIsHalfwidthandFullwidthForms(void) {
40318    int test_ret = 0;
40319
40320#if defined(LIBXML_UNICODE_ENABLED)
40321    int mem_base;
40322    int ret_val;
40323    int code; /* UCS code point */
40324    int n_code;
40325
40326    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40327        mem_base = xmlMemBlocks();
40328        code = gen_int(n_code, 0);
40329
40330        ret_val = xmlUCSIsHalfwidthandFullwidthForms(code);
40331        desret_int(ret_val);
40332        call_tests++;
40333        des_int(n_code, code, 0);
40334        xmlResetLastError();
40335        if (mem_base != xmlMemBlocks()) {
40336            printf("Leak of %d blocks found in xmlUCSIsHalfwidthandFullwidthForms",
40337	           xmlMemBlocks() - mem_base);
40338	    test_ret++;
40339            printf(" %d", n_code);
40340            printf("\n");
40341        }
40342    }
40343    function_tests++;
40344#endif
40345
40346    return(test_ret);
40347}
40348
40349
40350static int
40351test_xmlUCSIsHangulCompatibilityJamo(void) {
40352    int test_ret = 0;
40353
40354#if defined(LIBXML_UNICODE_ENABLED)
40355    int mem_base;
40356    int ret_val;
40357    int code; /* UCS code point */
40358    int n_code;
40359
40360    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40361        mem_base = xmlMemBlocks();
40362        code = gen_int(n_code, 0);
40363
40364        ret_val = xmlUCSIsHangulCompatibilityJamo(code);
40365        desret_int(ret_val);
40366        call_tests++;
40367        des_int(n_code, code, 0);
40368        xmlResetLastError();
40369        if (mem_base != xmlMemBlocks()) {
40370            printf("Leak of %d blocks found in xmlUCSIsHangulCompatibilityJamo",
40371	           xmlMemBlocks() - mem_base);
40372	    test_ret++;
40373            printf(" %d", n_code);
40374            printf("\n");
40375        }
40376    }
40377    function_tests++;
40378#endif
40379
40380    return(test_ret);
40381}
40382
40383
40384static int
40385test_xmlUCSIsHangulJamo(void) {
40386    int test_ret = 0;
40387
40388#if defined(LIBXML_UNICODE_ENABLED)
40389    int mem_base;
40390    int ret_val;
40391    int code; /* UCS code point */
40392    int n_code;
40393
40394    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40395        mem_base = xmlMemBlocks();
40396        code = gen_int(n_code, 0);
40397
40398        ret_val = xmlUCSIsHangulJamo(code);
40399        desret_int(ret_val);
40400        call_tests++;
40401        des_int(n_code, code, 0);
40402        xmlResetLastError();
40403        if (mem_base != xmlMemBlocks()) {
40404            printf("Leak of %d blocks found in xmlUCSIsHangulJamo",
40405	           xmlMemBlocks() - mem_base);
40406	    test_ret++;
40407            printf(" %d", n_code);
40408            printf("\n");
40409        }
40410    }
40411    function_tests++;
40412#endif
40413
40414    return(test_ret);
40415}
40416
40417
40418static int
40419test_xmlUCSIsHangulSyllables(void) {
40420    int test_ret = 0;
40421
40422#if defined(LIBXML_UNICODE_ENABLED)
40423    int mem_base;
40424    int ret_val;
40425    int code; /* UCS code point */
40426    int n_code;
40427
40428    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40429        mem_base = xmlMemBlocks();
40430        code = gen_int(n_code, 0);
40431
40432        ret_val = xmlUCSIsHangulSyllables(code);
40433        desret_int(ret_val);
40434        call_tests++;
40435        des_int(n_code, code, 0);
40436        xmlResetLastError();
40437        if (mem_base != xmlMemBlocks()) {
40438            printf("Leak of %d blocks found in xmlUCSIsHangulSyllables",
40439	           xmlMemBlocks() - mem_base);
40440	    test_ret++;
40441            printf(" %d", n_code);
40442            printf("\n");
40443        }
40444    }
40445    function_tests++;
40446#endif
40447
40448    return(test_ret);
40449}
40450
40451
40452static int
40453test_xmlUCSIsHanunoo(void) {
40454    int test_ret = 0;
40455
40456#if defined(LIBXML_UNICODE_ENABLED)
40457    int mem_base;
40458    int ret_val;
40459    int code; /* UCS code point */
40460    int n_code;
40461
40462    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40463        mem_base = xmlMemBlocks();
40464        code = gen_int(n_code, 0);
40465
40466        ret_val = xmlUCSIsHanunoo(code);
40467        desret_int(ret_val);
40468        call_tests++;
40469        des_int(n_code, code, 0);
40470        xmlResetLastError();
40471        if (mem_base != xmlMemBlocks()) {
40472            printf("Leak of %d blocks found in xmlUCSIsHanunoo",
40473	           xmlMemBlocks() - mem_base);
40474	    test_ret++;
40475            printf(" %d", n_code);
40476            printf("\n");
40477        }
40478    }
40479    function_tests++;
40480#endif
40481
40482    return(test_ret);
40483}
40484
40485
40486static int
40487test_xmlUCSIsHebrew(void) {
40488    int test_ret = 0;
40489
40490#if defined(LIBXML_UNICODE_ENABLED)
40491    int mem_base;
40492    int ret_val;
40493    int code; /* UCS code point */
40494    int n_code;
40495
40496    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40497        mem_base = xmlMemBlocks();
40498        code = gen_int(n_code, 0);
40499
40500        ret_val = xmlUCSIsHebrew(code);
40501        desret_int(ret_val);
40502        call_tests++;
40503        des_int(n_code, code, 0);
40504        xmlResetLastError();
40505        if (mem_base != xmlMemBlocks()) {
40506            printf("Leak of %d blocks found in xmlUCSIsHebrew",
40507	           xmlMemBlocks() - mem_base);
40508	    test_ret++;
40509            printf(" %d", n_code);
40510            printf("\n");
40511        }
40512    }
40513    function_tests++;
40514#endif
40515
40516    return(test_ret);
40517}
40518
40519
40520static int
40521test_xmlUCSIsHighPrivateUseSurrogates(void) {
40522    int test_ret = 0;
40523
40524#if defined(LIBXML_UNICODE_ENABLED)
40525    int mem_base;
40526    int ret_val;
40527    int code; /* UCS code point */
40528    int n_code;
40529
40530    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40531        mem_base = xmlMemBlocks();
40532        code = gen_int(n_code, 0);
40533
40534        ret_val = xmlUCSIsHighPrivateUseSurrogates(code);
40535        desret_int(ret_val);
40536        call_tests++;
40537        des_int(n_code, code, 0);
40538        xmlResetLastError();
40539        if (mem_base != xmlMemBlocks()) {
40540            printf("Leak of %d blocks found in xmlUCSIsHighPrivateUseSurrogates",
40541	           xmlMemBlocks() - mem_base);
40542	    test_ret++;
40543            printf(" %d", n_code);
40544            printf("\n");
40545        }
40546    }
40547    function_tests++;
40548#endif
40549
40550    return(test_ret);
40551}
40552
40553
40554static int
40555test_xmlUCSIsHighSurrogates(void) {
40556    int test_ret = 0;
40557
40558#if defined(LIBXML_UNICODE_ENABLED)
40559    int mem_base;
40560    int ret_val;
40561    int code; /* UCS code point */
40562    int n_code;
40563
40564    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40565        mem_base = xmlMemBlocks();
40566        code = gen_int(n_code, 0);
40567
40568        ret_val = xmlUCSIsHighSurrogates(code);
40569        desret_int(ret_val);
40570        call_tests++;
40571        des_int(n_code, code, 0);
40572        xmlResetLastError();
40573        if (mem_base != xmlMemBlocks()) {
40574            printf("Leak of %d blocks found in xmlUCSIsHighSurrogates",
40575	           xmlMemBlocks() - mem_base);
40576	    test_ret++;
40577            printf(" %d", n_code);
40578            printf("\n");
40579        }
40580    }
40581    function_tests++;
40582#endif
40583
40584    return(test_ret);
40585}
40586
40587
40588static int
40589test_xmlUCSIsHiragana(void) {
40590    int test_ret = 0;
40591
40592#if defined(LIBXML_UNICODE_ENABLED)
40593    int mem_base;
40594    int ret_val;
40595    int code; /* UCS code point */
40596    int n_code;
40597
40598    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40599        mem_base = xmlMemBlocks();
40600        code = gen_int(n_code, 0);
40601
40602        ret_val = xmlUCSIsHiragana(code);
40603        desret_int(ret_val);
40604        call_tests++;
40605        des_int(n_code, code, 0);
40606        xmlResetLastError();
40607        if (mem_base != xmlMemBlocks()) {
40608            printf("Leak of %d blocks found in xmlUCSIsHiragana",
40609	           xmlMemBlocks() - mem_base);
40610	    test_ret++;
40611            printf(" %d", n_code);
40612            printf("\n");
40613        }
40614    }
40615    function_tests++;
40616#endif
40617
40618    return(test_ret);
40619}
40620
40621
40622static int
40623test_xmlUCSIsIPAExtensions(void) {
40624    int test_ret = 0;
40625
40626#if defined(LIBXML_UNICODE_ENABLED)
40627    int mem_base;
40628    int ret_val;
40629    int code; /* UCS code point */
40630    int n_code;
40631
40632    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40633        mem_base = xmlMemBlocks();
40634        code = gen_int(n_code, 0);
40635
40636        ret_val = xmlUCSIsIPAExtensions(code);
40637        desret_int(ret_val);
40638        call_tests++;
40639        des_int(n_code, code, 0);
40640        xmlResetLastError();
40641        if (mem_base != xmlMemBlocks()) {
40642            printf("Leak of %d blocks found in xmlUCSIsIPAExtensions",
40643	           xmlMemBlocks() - mem_base);
40644	    test_ret++;
40645            printf(" %d", n_code);
40646            printf("\n");
40647        }
40648    }
40649    function_tests++;
40650#endif
40651
40652    return(test_ret);
40653}
40654
40655
40656static int
40657test_xmlUCSIsIdeographicDescriptionCharacters(void) {
40658    int test_ret = 0;
40659
40660#if defined(LIBXML_UNICODE_ENABLED)
40661    int mem_base;
40662    int ret_val;
40663    int code; /* UCS code point */
40664    int n_code;
40665
40666    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40667        mem_base = xmlMemBlocks();
40668        code = gen_int(n_code, 0);
40669
40670        ret_val = xmlUCSIsIdeographicDescriptionCharacters(code);
40671        desret_int(ret_val);
40672        call_tests++;
40673        des_int(n_code, code, 0);
40674        xmlResetLastError();
40675        if (mem_base != xmlMemBlocks()) {
40676            printf("Leak of %d blocks found in xmlUCSIsIdeographicDescriptionCharacters",
40677	           xmlMemBlocks() - mem_base);
40678	    test_ret++;
40679            printf(" %d", n_code);
40680            printf("\n");
40681        }
40682    }
40683    function_tests++;
40684#endif
40685
40686    return(test_ret);
40687}
40688
40689
40690static int
40691test_xmlUCSIsKanbun(void) {
40692    int test_ret = 0;
40693
40694#if defined(LIBXML_UNICODE_ENABLED)
40695    int mem_base;
40696    int ret_val;
40697    int code; /* UCS code point */
40698    int n_code;
40699
40700    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40701        mem_base = xmlMemBlocks();
40702        code = gen_int(n_code, 0);
40703
40704        ret_val = xmlUCSIsKanbun(code);
40705        desret_int(ret_val);
40706        call_tests++;
40707        des_int(n_code, code, 0);
40708        xmlResetLastError();
40709        if (mem_base != xmlMemBlocks()) {
40710            printf("Leak of %d blocks found in xmlUCSIsKanbun",
40711	           xmlMemBlocks() - mem_base);
40712	    test_ret++;
40713            printf(" %d", n_code);
40714            printf("\n");
40715        }
40716    }
40717    function_tests++;
40718#endif
40719
40720    return(test_ret);
40721}
40722
40723
40724static int
40725test_xmlUCSIsKangxiRadicals(void) {
40726    int test_ret = 0;
40727
40728#if defined(LIBXML_UNICODE_ENABLED)
40729    int mem_base;
40730    int ret_val;
40731    int code; /* UCS code point */
40732    int n_code;
40733
40734    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40735        mem_base = xmlMemBlocks();
40736        code = gen_int(n_code, 0);
40737
40738        ret_val = xmlUCSIsKangxiRadicals(code);
40739        desret_int(ret_val);
40740        call_tests++;
40741        des_int(n_code, code, 0);
40742        xmlResetLastError();
40743        if (mem_base != xmlMemBlocks()) {
40744            printf("Leak of %d blocks found in xmlUCSIsKangxiRadicals",
40745	           xmlMemBlocks() - mem_base);
40746	    test_ret++;
40747            printf(" %d", n_code);
40748            printf("\n");
40749        }
40750    }
40751    function_tests++;
40752#endif
40753
40754    return(test_ret);
40755}
40756
40757
40758static int
40759test_xmlUCSIsKannada(void) {
40760    int test_ret = 0;
40761
40762#if defined(LIBXML_UNICODE_ENABLED)
40763    int mem_base;
40764    int ret_val;
40765    int code; /* UCS code point */
40766    int n_code;
40767
40768    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40769        mem_base = xmlMemBlocks();
40770        code = gen_int(n_code, 0);
40771
40772        ret_val = xmlUCSIsKannada(code);
40773        desret_int(ret_val);
40774        call_tests++;
40775        des_int(n_code, code, 0);
40776        xmlResetLastError();
40777        if (mem_base != xmlMemBlocks()) {
40778            printf("Leak of %d blocks found in xmlUCSIsKannada",
40779	           xmlMemBlocks() - mem_base);
40780	    test_ret++;
40781            printf(" %d", n_code);
40782            printf("\n");
40783        }
40784    }
40785    function_tests++;
40786#endif
40787
40788    return(test_ret);
40789}
40790
40791
40792static int
40793test_xmlUCSIsKatakana(void) {
40794    int test_ret = 0;
40795
40796#if defined(LIBXML_UNICODE_ENABLED)
40797    int mem_base;
40798    int ret_val;
40799    int code; /* UCS code point */
40800    int n_code;
40801
40802    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40803        mem_base = xmlMemBlocks();
40804        code = gen_int(n_code, 0);
40805
40806        ret_val = xmlUCSIsKatakana(code);
40807        desret_int(ret_val);
40808        call_tests++;
40809        des_int(n_code, code, 0);
40810        xmlResetLastError();
40811        if (mem_base != xmlMemBlocks()) {
40812            printf("Leak of %d blocks found in xmlUCSIsKatakana",
40813	           xmlMemBlocks() - mem_base);
40814	    test_ret++;
40815            printf(" %d", n_code);
40816            printf("\n");
40817        }
40818    }
40819    function_tests++;
40820#endif
40821
40822    return(test_ret);
40823}
40824
40825
40826static int
40827test_xmlUCSIsKatakanaPhoneticExtensions(void) {
40828    int test_ret = 0;
40829
40830#if defined(LIBXML_UNICODE_ENABLED)
40831    int mem_base;
40832    int ret_val;
40833    int code; /* UCS code point */
40834    int n_code;
40835
40836    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40837        mem_base = xmlMemBlocks();
40838        code = gen_int(n_code, 0);
40839
40840        ret_val = xmlUCSIsKatakanaPhoneticExtensions(code);
40841        desret_int(ret_val);
40842        call_tests++;
40843        des_int(n_code, code, 0);
40844        xmlResetLastError();
40845        if (mem_base != xmlMemBlocks()) {
40846            printf("Leak of %d blocks found in xmlUCSIsKatakanaPhoneticExtensions",
40847	           xmlMemBlocks() - mem_base);
40848	    test_ret++;
40849            printf(" %d", n_code);
40850            printf("\n");
40851        }
40852    }
40853    function_tests++;
40854#endif
40855
40856    return(test_ret);
40857}
40858
40859
40860static int
40861test_xmlUCSIsKhmer(void) {
40862    int test_ret = 0;
40863
40864#if defined(LIBXML_UNICODE_ENABLED)
40865    int mem_base;
40866    int ret_val;
40867    int code; /* UCS code point */
40868    int n_code;
40869
40870    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40871        mem_base = xmlMemBlocks();
40872        code = gen_int(n_code, 0);
40873
40874        ret_val = xmlUCSIsKhmer(code);
40875        desret_int(ret_val);
40876        call_tests++;
40877        des_int(n_code, code, 0);
40878        xmlResetLastError();
40879        if (mem_base != xmlMemBlocks()) {
40880            printf("Leak of %d blocks found in xmlUCSIsKhmer",
40881	           xmlMemBlocks() - mem_base);
40882	    test_ret++;
40883            printf(" %d", n_code);
40884            printf("\n");
40885        }
40886    }
40887    function_tests++;
40888#endif
40889
40890    return(test_ret);
40891}
40892
40893
40894static int
40895test_xmlUCSIsKhmerSymbols(void) {
40896    int test_ret = 0;
40897
40898#if defined(LIBXML_UNICODE_ENABLED)
40899    int mem_base;
40900    int ret_val;
40901    int code; /* UCS code point */
40902    int n_code;
40903
40904    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40905        mem_base = xmlMemBlocks();
40906        code = gen_int(n_code, 0);
40907
40908        ret_val = xmlUCSIsKhmerSymbols(code);
40909        desret_int(ret_val);
40910        call_tests++;
40911        des_int(n_code, code, 0);
40912        xmlResetLastError();
40913        if (mem_base != xmlMemBlocks()) {
40914            printf("Leak of %d blocks found in xmlUCSIsKhmerSymbols",
40915	           xmlMemBlocks() - mem_base);
40916	    test_ret++;
40917            printf(" %d", n_code);
40918            printf("\n");
40919        }
40920    }
40921    function_tests++;
40922#endif
40923
40924    return(test_ret);
40925}
40926
40927
40928static int
40929test_xmlUCSIsLao(void) {
40930    int test_ret = 0;
40931
40932#if defined(LIBXML_UNICODE_ENABLED)
40933    int mem_base;
40934    int ret_val;
40935    int code; /* UCS code point */
40936    int n_code;
40937
40938    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40939        mem_base = xmlMemBlocks();
40940        code = gen_int(n_code, 0);
40941
40942        ret_val = xmlUCSIsLao(code);
40943        desret_int(ret_val);
40944        call_tests++;
40945        des_int(n_code, code, 0);
40946        xmlResetLastError();
40947        if (mem_base != xmlMemBlocks()) {
40948            printf("Leak of %d blocks found in xmlUCSIsLao",
40949	           xmlMemBlocks() - mem_base);
40950	    test_ret++;
40951            printf(" %d", n_code);
40952            printf("\n");
40953        }
40954    }
40955    function_tests++;
40956#endif
40957
40958    return(test_ret);
40959}
40960
40961
40962static int
40963test_xmlUCSIsLatin1Supplement(void) {
40964    int test_ret = 0;
40965
40966#if defined(LIBXML_UNICODE_ENABLED)
40967    int mem_base;
40968    int ret_val;
40969    int code; /* UCS code point */
40970    int n_code;
40971
40972    for (n_code = 0;n_code < gen_nb_int;n_code++) {
40973        mem_base = xmlMemBlocks();
40974        code = gen_int(n_code, 0);
40975
40976        ret_val = xmlUCSIsLatin1Supplement(code);
40977        desret_int(ret_val);
40978        call_tests++;
40979        des_int(n_code, code, 0);
40980        xmlResetLastError();
40981        if (mem_base != xmlMemBlocks()) {
40982            printf("Leak of %d blocks found in xmlUCSIsLatin1Supplement",
40983	           xmlMemBlocks() - mem_base);
40984	    test_ret++;
40985            printf(" %d", n_code);
40986            printf("\n");
40987        }
40988    }
40989    function_tests++;
40990#endif
40991
40992    return(test_ret);
40993}
40994
40995
40996static int
40997test_xmlUCSIsLatinExtendedA(void) {
40998    int test_ret = 0;
40999
41000#if defined(LIBXML_UNICODE_ENABLED)
41001    int mem_base;
41002    int ret_val;
41003    int code; /* UCS code point */
41004    int n_code;
41005
41006    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41007        mem_base = xmlMemBlocks();
41008        code = gen_int(n_code, 0);
41009
41010        ret_val = xmlUCSIsLatinExtendedA(code);
41011        desret_int(ret_val);
41012        call_tests++;
41013        des_int(n_code, code, 0);
41014        xmlResetLastError();
41015        if (mem_base != xmlMemBlocks()) {
41016            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedA",
41017	           xmlMemBlocks() - mem_base);
41018	    test_ret++;
41019            printf(" %d", n_code);
41020            printf("\n");
41021        }
41022    }
41023    function_tests++;
41024#endif
41025
41026    return(test_ret);
41027}
41028
41029
41030static int
41031test_xmlUCSIsLatinExtendedAdditional(void) {
41032    int test_ret = 0;
41033
41034#if defined(LIBXML_UNICODE_ENABLED)
41035    int mem_base;
41036    int ret_val;
41037    int code; /* UCS code point */
41038    int n_code;
41039
41040    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41041        mem_base = xmlMemBlocks();
41042        code = gen_int(n_code, 0);
41043
41044        ret_val = xmlUCSIsLatinExtendedAdditional(code);
41045        desret_int(ret_val);
41046        call_tests++;
41047        des_int(n_code, code, 0);
41048        xmlResetLastError();
41049        if (mem_base != xmlMemBlocks()) {
41050            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedAdditional",
41051	           xmlMemBlocks() - mem_base);
41052	    test_ret++;
41053            printf(" %d", n_code);
41054            printf("\n");
41055        }
41056    }
41057    function_tests++;
41058#endif
41059
41060    return(test_ret);
41061}
41062
41063
41064static int
41065test_xmlUCSIsLatinExtendedB(void) {
41066    int test_ret = 0;
41067
41068#if defined(LIBXML_UNICODE_ENABLED)
41069    int mem_base;
41070    int ret_val;
41071    int code; /* UCS code point */
41072    int n_code;
41073
41074    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41075        mem_base = xmlMemBlocks();
41076        code = gen_int(n_code, 0);
41077
41078        ret_val = xmlUCSIsLatinExtendedB(code);
41079        desret_int(ret_val);
41080        call_tests++;
41081        des_int(n_code, code, 0);
41082        xmlResetLastError();
41083        if (mem_base != xmlMemBlocks()) {
41084            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedB",
41085	           xmlMemBlocks() - mem_base);
41086	    test_ret++;
41087            printf(" %d", n_code);
41088            printf("\n");
41089        }
41090    }
41091    function_tests++;
41092#endif
41093
41094    return(test_ret);
41095}
41096
41097
41098static int
41099test_xmlUCSIsLetterlikeSymbols(void) {
41100    int test_ret = 0;
41101
41102#if defined(LIBXML_UNICODE_ENABLED)
41103    int mem_base;
41104    int ret_val;
41105    int code; /* UCS code point */
41106    int n_code;
41107
41108    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41109        mem_base = xmlMemBlocks();
41110        code = gen_int(n_code, 0);
41111
41112        ret_val = xmlUCSIsLetterlikeSymbols(code);
41113        desret_int(ret_val);
41114        call_tests++;
41115        des_int(n_code, code, 0);
41116        xmlResetLastError();
41117        if (mem_base != xmlMemBlocks()) {
41118            printf("Leak of %d blocks found in xmlUCSIsLetterlikeSymbols",
41119	           xmlMemBlocks() - mem_base);
41120	    test_ret++;
41121            printf(" %d", n_code);
41122            printf("\n");
41123        }
41124    }
41125    function_tests++;
41126#endif
41127
41128    return(test_ret);
41129}
41130
41131
41132static int
41133test_xmlUCSIsLimbu(void) {
41134    int test_ret = 0;
41135
41136#if defined(LIBXML_UNICODE_ENABLED)
41137    int mem_base;
41138    int ret_val;
41139    int code; /* UCS code point */
41140    int n_code;
41141
41142    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41143        mem_base = xmlMemBlocks();
41144        code = gen_int(n_code, 0);
41145
41146        ret_val = xmlUCSIsLimbu(code);
41147        desret_int(ret_val);
41148        call_tests++;
41149        des_int(n_code, code, 0);
41150        xmlResetLastError();
41151        if (mem_base != xmlMemBlocks()) {
41152            printf("Leak of %d blocks found in xmlUCSIsLimbu",
41153	           xmlMemBlocks() - mem_base);
41154	    test_ret++;
41155            printf(" %d", n_code);
41156            printf("\n");
41157        }
41158    }
41159    function_tests++;
41160#endif
41161
41162    return(test_ret);
41163}
41164
41165
41166static int
41167test_xmlUCSIsLinearBIdeograms(void) {
41168    int test_ret = 0;
41169
41170#if defined(LIBXML_UNICODE_ENABLED)
41171    int mem_base;
41172    int ret_val;
41173    int code; /* UCS code point */
41174    int n_code;
41175
41176    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41177        mem_base = xmlMemBlocks();
41178        code = gen_int(n_code, 0);
41179
41180        ret_val = xmlUCSIsLinearBIdeograms(code);
41181        desret_int(ret_val);
41182        call_tests++;
41183        des_int(n_code, code, 0);
41184        xmlResetLastError();
41185        if (mem_base != xmlMemBlocks()) {
41186            printf("Leak of %d blocks found in xmlUCSIsLinearBIdeograms",
41187	           xmlMemBlocks() - mem_base);
41188	    test_ret++;
41189            printf(" %d", n_code);
41190            printf("\n");
41191        }
41192    }
41193    function_tests++;
41194#endif
41195
41196    return(test_ret);
41197}
41198
41199
41200static int
41201test_xmlUCSIsLinearBSyllabary(void) {
41202    int test_ret = 0;
41203
41204#if defined(LIBXML_UNICODE_ENABLED)
41205    int mem_base;
41206    int ret_val;
41207    int code; /* UCS code point */
41208    int n_code;
41209
41210    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41211        mem_base = xmlMemBlocks();
41212        code = gen_int(n_code, 0);
41213
41214        ret_val = xmlUCSIsLinearBSyllabary(code);
41215        desret_int(ret_val);
41216        call_tests++;
41217        des_int(n_code, code, 0);
41218        xmlResetLastError();
41219        if (mem_base != xmlMemBlocks()) {
41220            printf("Leak of %d blocks found in xmlUCSIsLinearBSyllabary",
41221	           xmlMemBlocks() - mem_base);
41222	    test_ret++;
41223            printf(" %d", n_code);
41224            printf("\n");
41225        }
41226    }
41227    function_tests++;
41228#endif
41229
41230    return(test_ret);
41231}
41232
41233
41234static int
41235test_xmlUCSIsLowSurrogates(void) {
41236    int test_ret = 0;
41237
41238#if defined(LIBXML_UNICODE_ENABLED)
41239    int mem_base;
41240    int ret_val;
41241    int code; /* UCS code point */
41242    int n_code;
41243
41244    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41245        mem_base = xmlMemBlocks();
41246        code = gen_int(n_code, 0);
41247
41248        ret_val = xmlUCSIsLowSurrogates(code);
41249        desret_int(ret_val);
41250        call_tests++;
41251        des_int(n_code, code, 0);
41252        xmlResetLastError();
41253        if (mem_base != xmlMemBlocks()) {
41254            printf("Leak of %d blocks found in xmlUCSIsLowSurrogates",
41255	           xmlMemBlocks() - mem_base);
41256	    test_ret++;
41257            printf(" %d", n_code);
41258            printf("\n");
41259        }
41260    }
41261    function_tests++;
41262#endif
41263
41264    return(test_ret);
41265}
41266
41267
41268static int
41269test_xmlUCSIsMalayalam(void) {
41270    int test_ret = 0;
41271
41272#if defined(LIBXML_UNICODE_ENABLED)
41273    int mem_base;
41274    int ret_val;
41275    int code; /* UCS code point */
41276    int n_code;
41277
41278    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41279        mem_base = xmlMemBlocks();
41280        code = gen_int(n_code, 0);
41281
41282        ret_val = xmlUCSIsMalayalam(code);
41283        desret_int(ret_val);
41284        call_tests++;
41285        des_int(n_code, code, 0);
41286        xmlResetLastError();
41287        if (mem_base != xmlMemBlocks()) {
41288            printf("Leak of %d blocks found in xmlUCSIsMalayalam",
41289	           xmlMemBlocks() - mem_base);
41290	    test_ret++;
41291            printf(" %d", n_code);
41292            printf("\n");
41293        }
41294    }
41295    function_tests++;
41296#endif
41297
41298    return(test_ret);
41299}
41300
41301
41302static int
41303test_xmlUCSIsMathematicalAlphanumericSymbols(void) {
41304    int test_ret = 0;
41305
41306#if defined(LIBXML_UNICODE_ENABLED)
41307    int mem_base;
41308    int ret_val;
41309    int code; /* UCS code point */
41310    int n_code;
41311
41312    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41313        mem_base = xmlMemBlocks();
41314        code = gen_int(n_code, 0);
41315
41316        ret_val = xmlUCSIsMathematicalAlphanumericSymbols(code);
41317        desret_int(ret_val);
41318        call_tests++;
41319        des_int(n_code, code, 0);
41320        xmlResetLastError();
41321        if (mem_base != xmlMemBlocks()) {
41322            printf("Leak of %d blocks found in xmlUCSIsMathematicalAlphanumericSymbols",
41323	           xmlMemBlocks() - mem_base);
41324	    test_ret++;
41325            printf(" %d", n_code);
41326            printf("\n");
41327        }
41328    }
41329    function_tests++;
41330#endif
41331
41332    return(test_ret);
41333}
41334
41335
41336static int
41337test_xmlUCSIsMathematicalOperators(void) {
41338    int test_ret = 0;
41339
41340#if defined(LIBXML_UNICODE_ENABLED)
41341    int mem_base;
41342    int ret_val;
41343    int code; /* UCS code point */
41344    int n_code;
41345
41346    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41347        mem_base = xmlMemBlocks();
41348        code = gen_int(n_code, 0);
41349
41350        ret_val = xmlUCSIsMathematicalOperators(code);
41351        desret_int(ret_val);
41352        call_tests++;
41353        des_int(n_code, code, 0);
41354        xmlResetLastError();
41355        if (mem_base != xmlMemBlocks()) {
41356            printf("Leak of %d blocks found in xmlUCSIsMathematicalOperators",
41357	           xmlMemBlocks() - mem_base);
41358	    test_ret++;
41359            printf(" %d", n_code);
41360            printf("\n");
41361        }
41362    }
41363    function_tests++;
41364#endif
41365
41366    return(test_ret);
41367}
41368
41369
41370static int
41371test_xmlUCSIsMiscellaneousMathematicalSymbolsA(void) {
41372    int test_ret = 0;
41373
41374#if defined(LIBXML_UNICODE_ENABLED)
41375    int mem_base;
41376    int ret_val;
41377    int code; /* UCS code point */
41378    int n_code;
41379
41380    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41381        mem_base = xmlMemBlocks();
41382        code = gen_int(n_code, 0);
41383
41384        ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsA(code);
41385        desret_int(ret_val);
41386        call_tests++;
41387        des_int(n_code, code, 0);
41388        xmlResetLastError();
41389        if (mem_base != xmlMemBlocks()) {
41390            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsA",
41391	           xmlMemBlocks() - mem_base);
41392	    test_ret++;
41393            printf(" %d", n_code);
41394            printf("\n");
41395        }
41396    }
41397    function_tests++;
41398#endif
41399
41400    return(test_ret);
41401}
41402
41403
41404static int
41405test_xmlUCSIsMiscellaneousMathematicalSymbolsB(void) {
41406    int test_ret = 0;
41407
41408#if defined(LIBXML_UNICODE_ENABLED)
41409    int mem_base;
41410    int ret_val;
41411    int code; /* UCS code point */
41412    int n_code;
41413
41414    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41415        mem_base = xmlMemBlocks();
41416        code = gen_int(n_code, 0);
41417
41418        ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
41419        desret_int(ret_val);
41420        call_tests++;
41421        des_int(n_code, code, 0);
41422        xmlResetLastError();
41423        if (mem_base != xmlMemBlocks()) {
41424            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsB",
41425	           xmlMemBlocks() - mem_base);
41426	    test_ret++;
41427            printf(" %d", n_code);
41428            printf("\n");
41429        }
41430    }
41431    function_tests++;
41432#endif
41433
41434    return(test_ret);
41435}
41436
41437
41438static int
41439test_xmlUCSIsMiscellaneousSymbols(void) {
41440    int test_ret = 0;
41441
41442#if defined(LIBXML_UNICODE_ENABLED)
41443    int mem_base;
41444    int ret_val;
41445    int code; /* UCS code point */
41446    int n_code;
41447
41448    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41449        mem_base = xmlMemBlocks();
41450        code = gen_int(n_code, 0);
41451
41452        ret_val = xmlUCSIsMiscellaneousSymbols(code);
41453        desret_int(ret_val);
41454        call_tests++;
41455        des_int(n_code, code, 0);
41456        xmlResetLastError();
41457        if (mem_base != xmlMemBlocks()) {
41458            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbols",
41459	           xmlMemBlocks() - mem_base);
41460	    test_ret++;
41461            printf(" %d", n_code);
41462            printf("\n");
41463        }
41464    }
41465    function_tests++;
41466#endif
41467
41468    return(test_ret);
41469}
41470
41471
41472static int
41473test_xmlUCSIsMiscellaneousSymbolsandArrows(void) {
41474    int test_ret = 0;
41475
41476#if defined(LIBXML_UNICODE_ENABLED)
41477    int mem_base;
41478    int ret_val;
41479    int code; /* UCS code point */
41480    int n_code;
41481
41482    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41483        mem_base = xmlMemBlocks();
41484        code = gen_int(n_code, 0);
41485
41486        ret_val = xmlUCSIsMiscellaneousSymbolsandArrows(code);
41487        desret_int(ret_val);
41488        call_tests++;
41489        des_int(n_code, code, 0);
41490        xmlResetLastError();
41491        if (mem_base != xmlMemBlocks()) {
41492            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbolsandArrows",
41493	           xmlMemBlocks() - mem_base);
41494	    test_ret++;
41495            printf(" %d", n_code);
41496            printf("\n");
41497        }
41498    }
41499    function_tests++;
41500#endif
41501
41502    return(test_ret);
41503}
41504
41505
41506static int
41507test_xmlUCSIsMiscellaneousTechnical(void) {
41508    int test_ret = 0;
41509
41510#if defined(LIBXML_UNICODE_ENABLED)
41511    int mem_base;
41512    int ret_val;
41513    int code; /* UCS code point */
41514    int n_code;
41515
41516    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41517        mem_base = xmlMemBlocks();
41518        code = gen_int(n_code, 0);
41519
41520        ret_val = xmlUCSIsMiscellaneousTechnical(code);
41521        desret_int(ret_val);
41522        call_tests++;
41523        des_int(n_code, code, 0);
41524        xmlResetLastError();
41525        if (mem_base != xmlMemBlocks()) {
41526            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousTechnical",
41527	           xmlMemBlocks() - mem_base);
41528	    test_ret++;
41529            printf(" %d", n_code);
41530            printf("\n");
41531        }
41532    }
41533    function_tests++;
41534#endif
41535
41536    return(test_ret);
41537}
41538
41539
41540static int
41541test_xmlUCSIsMongolian(void) {
41542    int test_ret = 0;
41543
41544#if defined(LIBXML_UNICODE_ENABLED)
41545    int mem_base;
41546    int ret_val;
41547    int code; /* UCS code point */
41548    int n_code;
41549
41550    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41551        mem_base = xmlMemBlocks();
41552        code = gen_int(n_code, 0);
41553
41554        ret_val = xmlUCSIsMongolian(code);
41555        desret_int(ret_val);
41556        call_tests++;
41557        des_int(n_code, code, 0);
41558        xmlResetLastError();
41559        if (mem_base != xmlMemBlocks()) {
41560            printf("Leak of %d blocks found in xmlUCSIsMongolian",
41561	           xmlMemBlocks() - mem_base);
41562	    test_ret++;
41563            printf(" %d", n_code);
41564            printf("\n");
41565        }
41566    }
41567    function_tests++;
41568#endif
41569
41570    return(test_ret);
41571}
41572
41573
41574static int
41575test_xmlUCSIsMusicalSymbols(void) {
41576    int test_ret = 0;
41577
41578#if defined(LIBXML_UNICODE_ENABLED)
41579    int mem_base;
41580    int ret_val;
41581    int code; /* UCS code point */
41582    int n_code;
41583
41584    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41585        mem_base = xmlMemBlocks();
41586        code = gen_int(n_code, 0);
41587
41588        ret_val = xmlUCSIsMusicalSymbols(code);
41589        desret_int(ret_val);
41590        call_tests++;
41591        des_int(n_code, code, 0);
41592        xmlResetLastError();
41593        if (mem_base != xmlMemBlocks()) {
41594            printf("Leak of %d blocks found in xmlUCSIsMusicalSymbols",
41595	           xmlMemBlocks() - mem_base);
41596	    test_ret++;
41597            printf(" %d", n_code);
41598            printf("\n");
41599        }
41600    }
41601    function_tests++;
41602#endif
41603
41604    return(test_ret);
41605}
41606
41607
41608static int
41609test_xmlUCSIsMyanmar(void) {
41610    int test_ret = 0;
41611
41612#if defined(LIBXML_UNICODE_ENABLED)
41613    int mem_base;
41614    int ret_val;
41615    int code; /* UCS code point */
41616    int n_code;
41617
41618    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41619        mem_base = xmlMemBlocks();
41620        code = gen_int(n_code, 0);
41621
41622        ret_val = xmlUCSIsMyanmar(code);
41623        desret_int(ret_val);
41624        call_tests++;
41625        des_int(n_code, code, 0);
41626        xmlResetLastError();
41627        if (mem_base != xmlMemBlocks()) {
41628            printf("Leak of %d blocks found in xmlUCSIsMyanmar",
41629	           xmlMemBlocks() - mem_base);
41630	    test_ret++;
41631            printf(" %d", n_code);
41632            printf("\n");
41633        }
41634    }
41635    function_tests++;
41636#endif
41637
41638    return(test_ret);
41639}
41640
41641
41642static int
41643test_xmlUCSIsNumberForms(void) {
41644    int test_ret = 0;
41645
41646#if defined(LIBXML_UNICODE_ENABLED)
41647    int mem_base;
41648    int ret_val;
41649    int code; /* UCS code point */
41650    int n_code;
41651
41652    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41653        mem_base = xmlMemBlocks();
41654        code = gen_int(n_code, 0);
41655
41656        ret_val = xmlUCSIsNumberForms(code);
41657        desret_int(ret_val);
41658        call_tests++;
41659        des_int(n_code, code, 0);
41660        xmlResetLastError();
41661        if (mem_base != xmlMemBlocks()) {
41662            printf("Leak of %d blocks found in xmlUCSIsNumberForms",
41663	           xmlMemBlocks() - mem_base);
41664	    test_ret++;
41665            printf(" %d", n_code);
41666            printf("\n");
41667        }
41668    }
41669    function_tests++;
41670#endif
41671
41672    return(test_ret);
41673}
41674
41675
41676static int
41677test_xmlUCSIsOgham(void) {
41678    int test_ret = 0;
41679
41680#if defined(LIBXML_UNICODE_ENABLED)
41681    int mem_base;
41682    int ret_val;
41683    int code; /* UCS code point */
41684    int n_code;
41685
41686    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41687        mem_base = xmlMemBlocks();
41688        code = gen_int(n_code, 0);
41689
41690        ret_val = xmlUCSIsOgham(code);
41691        desret_int(ret_val);
41692        call_tests++;
41693        des_int(n_code, code, 0);
41694        xmlResetLastError();
41695        if (mem_base != xmlMemBlocks()) {
41696            printf("Leak of %d blocks found in xmlUCSIsOgham",
41697	           xmlMemBlocks() - mem_base);
41698	    test_ret++;
41699            printf(" %d", n_code);
41700            printf("\n");
41701        }
41702    }
41703    function_tests++;
41704#endif
41705
41706    return(test_ret);
41707}
41708
41709
41710static int
41711test_xmlUCSIsOldItalic(void) {
41712    int test_ret = 0;
41713
41714#if defined(LIBXML_UNICODE_ENABLED)
41715    int mem_base;
41716    int ret_val;
41717    int code; /* UCS code point */
41718    int n_code;
41719
41720    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41721        mem_base = xmlMemBlocks();
41722        code = gen_int(n_code, 0);
41723
41724        ret_val = xmlUCSIsOldItalic(code);
41725        desret_int(ret_val);
41726        call_tests++;
41727        des_int(n_code, code, 0);
41728        xmlResetLastError();
41729        if (mem_base != xmlMemBlocks()) {
41730            printf("Leak of %d blocks found in xmlUCSIsOldItalic",
41731	           xmlMemBlocks() - mem_base);
41732	    test_ret++;
41733            printf(" %d", n_code);
41734            printf("\n");
41735        }
41736    }
41737    function_tests++;
41738#endif
41739
41740    return(test_ret);
41741}
41742
41743
41744static int
41745test_xmlUCSIsOpticalCharacterRecognition(void) {
41746    int test_ret = 0;
41747
41748#if defined(LIBXML_UNICODE_ENABLED)
41749    int mem_base;
41750    int ret_val;
41751    int code; /* UCS code point */
41752    int n_code;
41753
41754    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41755        mem_base = xmlMemBlocks();
41756        code = gen_int(n_code, 0);
41757
41758        ret_val = xmlUCSIsOpticalCharacterRecognition(code);
41759        desret_int(ret_val);
41760        call_tests++;
41761        des_int(n_code, code, 0);
41762        xmlResetLastError();
41763        if (mem_base != xmlMemBlocks()) {
41764            printf("Leak of %d blocks found in xmlUCSIsOpticalCharacterRecognition",
41765	           xmlMemBlocks() - mem_base);
41766	    test_ret++;
41767            printf(" %d", n_code);
41768            printf("\n");
41769        }
41770    }
41771    function_tests++;
41772#endif
41773
41774    return(test_ret);
41775}
41776
41777
41778static int
41779test_xmlUCSIsOriya(void) {
41780    int test_ret = 0;
41781
41782#if defined(LIBXML_UNICODE_ENABLED)
41783    int mem_base;
41784    int ret_val;
41785    int code; /* UCS code point */
41786    int n_code;
41787
41788    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41789        mem_base = xmlMemBlocks();
41790        code = gen_int(n_code, 0);
41791
41792        ret_val = xmlUCSIsOriya(code);
41793        desret_int(ret_val);
41794        call_tests++;
41795        des_int(n_code, code, 0);
41796        xmlResetLastError();
41797        if (mem_base != xmlMemBlocks()) {
41798            printf("Leak of %d blocks found in xmlUCSIsOriya",
41799	           xmlMemBlocks() - mem_base);
41800	    test_ret++;
41801            printf(" %d", n_code);
41802            printf("\n");
41803        }
41804    }
41805    function_tests++;
41806#endif
41807
41808    return(test_ret);
41809}
41810
41811
41812static int
41813test_xmlUCSIsOsmanya(void) {
41814    int test_ret = 0;
41815
41816#if defined(LIBXML_UNICODE_ENABLED)
41817    int mem_base;
41818    int ret_val;
41819    int code; /* UCS code point */
41820    int n_code;
41821
41822    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41823        mem_base = xmlMemBlocks();
41824        code = gen_int(n_code, 0);
41825
41826        ret_val = xmlUCSIsOsmanya(code);
41827        desret_int(ret_val);
41828        call_tests++;
41829        des_int(n_code, code, 0);
41830        xmlResetLastError();
41831        if (mem_base != xmlMemBlocks()) {
41832            printf("Leak of %d blocks found in xmlUCSIsOsmanya",
41833	           xmlMemBlocks() - mem_base);
41834	    test_ret++;
41835            printf(" %d", n_code);
41836            printf("\n");
41837        }
41838    }
41839    function_tests++;
41840#endif
41841
41842    return(test_ret);
41843}
41844
41845
41846static int
41847test_xmlUCSIsPhoneticExtensions(void) {
41848    int test_ret = 0;
41849
41850#if defined(LIBXML_UNICODE_ENABLED)
41851    int mem_base;
41852    int ret_val;
41853    int code; /* UCS code point */
41854    int n_code;
41855
41856    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41857        mem_base = xmlMemBlocks();
41858        code = gen_int(n_code, 0);
41859
41860        ret_val = xmlUCSIsPhoneticExtensions(code);
41861        desret_int(ret_val);
41862        call_tests++;
41863        des_int(n_code, code, 0);
41864        xmlResetLastError();
41865        if (mem_base != xmlMemBlocks()) {
41866            printf("Leak of %d blocks found in xmlUCSIsPhoneticExtensions",
41867	           xmlMemBlocks() - mem_base);
41868	    test_ret++;
41869            printf(" %d", n_code);
41870            printf("\n");
41871        }
41872    }
41873    function_tests++;
41874#endif
41875
41876    return(test_ret);
41877}
41878
41879
41880static int
41881test_xmlUCSIsPrivateUse(void) {
41882    int test_ret = 0;
41883
41884#if defined(LIBXML_UNICODE_ENABLED)
41885    int mem_base;
41886    int ret_val;
41887    int code; /* UCS code point */
41888    int n_code;
41889
41890    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41891        mem_base = xmlMemBlocks();
41892        code = gen_int(n_code, 0);
41893
41894        ret_val = xmlUCSIsPrivateUse(code);
41895        desret_int(ret_val);
41896        call_tests++;
41897        des_int(n_code, code, 0);
41898        xmlResetLastError();
41899        if (mem_base != xmlMemBlocks()) {
41900            printf("Leak of %d blocks found in xmlUCSIsPrivateUse",
41901	           xmlMemBlocks() - mem_base);
41902	    test_ret++;
41903            printf(" %d", n_code);
41904            printf("\n");
41905        }
41906    }
41907    function_tests++;
41908#endif
41909
41910    return(test_ret);
41911}
41912
41913
41914static int
41915test_xmlUCSIsPrivateUseArea(void) {
41916    int test_ret = 0;
41917
41918#if defined(LIBXML_UNICODE_ENABLED)
41919    int mem_base;
41920    int ret_val;
41921    int code; /* UCS code point */
41922    int n_code;
41923
41924    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41925        mem_base = xmlMemBlocks();
41926        code = gen_int(n_code, 0);
41927
41928        ret_val = xmlUCSIsPrivateUseArea(code);
41929        desret_int(ret_val);
41930        call_tests++;
41931        des_int(n_code, code, 0);
41932        xmlResetLastError();
41933        if (mem_base != xmlMemBlocks()) {
41934            printf("Leak of %d blocks found in xmlUCSIsPrivateUseArea",
41935	           xmlMemBlocks() - mem_base);
41936	    test_ret++;
41937            printf(" %d", n_code);
41938            printf("\n");
41939        }
41940    }
41941    function_tests++;
41942#endif
41943
41944    return(test_ret);
41945}
41946
41947
41948static int
41949test_xmlUCSIsRunic(void) {
41950    int test_ret = 0;
41951
41952#if defined(LIBXML_UNICODE_ENABLED)
41953    int mem_base;
41954    int ret_val;
41955    int code; /* UCS code point */
41956    int n_code;
41957
41958    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41959        mem_base = xmlMemBlocks();
41960        code = gen_int(n_code, 0);
41961
41962        ret_val = xmlUCSIsRunic(code);
41963        desret_int(ret_val);
41964        call_tests++;
41965        des_int(n_code, code, 0);
41966        xmlResetLastError();
41967        if (mem_base != xmlMemBlocks()) {
41968            printf("Leak of %d blocks found in xmlUCSIsRunic",
41969	           xmlMemBlocks() - mem_base);
41970	    test_ret++;
41971            printf(" %d", n_code);
41972            printf("\n");
41973        }
41974    }
41975    function_tests++;
41976#endif
41977
41978    return(test_ret);
41979}
41980
41981
41982static int
41983test_xmlUCSIsShavian(void) {
41984    int test_ret = 0;
41985
41986#if defined(LIBXML_UNICODE_ENABLED)
41987    int mem_base;
41988    int ret_val;
41989    int code; /* UCS code point */
41990    int n_code;
41991
41992    for (n_code = 0;n_code < gen_nb_int;n_code++) {
41993        mem_base = xmlMemBlocks();
41994        code = gen_int(n_code, 0);
41995
41996        ret_val = xmlUCSIsShavian(code);
41997        desret_int(ret_val);
41998        call_tests++;
41999        des_int(n_code, code, 0);
42000        xmlResetLastError();
42001        if (mem_base != xmlMemBlocks()) {
42002            printf("Leak of %d blocks found in xmlUCSIsShavian",
42003	           xmlMemBlocks() - mem_base);
42004	    test_ret++;
42005            printf(" %d", n_code);
42006            printf("\n");
42007        }
42008    }
42009    function_tests++;
42010#endif
42011
42012    return(test_ret);
42013}
42014
42015
42016static int
42017test_xmlUCSIsSinhala(void) {
42018    int test_ret = 0;
42019
42020#if defined(LIBXML_UNICODE_ENABLED)
42021    int mem_base;
42022    int ret_val;
42023    int code; /* UCS code point */
42024    int n_code;
42025
42026    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42027        mem_base = xmlMemBlocks();
42028        code = gen_int(n_code, 0);
42029
42030        ret_val = xmlUCSIsSinhala(code);
42031        desret_int(ret_val);
42032        call_tests++;
42033        des_int(n_code, code, 0);
42034        xmlResetLastError();
42035        if (mem_base != xmlMemBlocks()) {
42036            printf("Leak of %d blocks found in xmlUCSIsSinhala",
42037	           xmlMemBlocks() - mem_base);
42038	    test_ret++;
42039            printf(" %d", n_code);
42040            printf("\n");
42041        }
42042    }
42043    function_tests++;
42044#endif
42045
42046    return(test_ret);
42047}
42048
42049
42050static int
42051test_xmlUCSIsSmallFormVariants(void) {
42052    int test_ret = 0;
42053
42054#if defined(LIBXML_UNICODE_ENABLED)
42055    int mem_base;
42056    int ret_val;
42057    int code; /* UCS code point */
42058    int n_code;
42059
42060    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42061        mem_base = xmlMemBlocks();
42062        code = gen_int(n_code, 0);
42063
42064        ret_val = xmlUCSIsSmallFormVariants(code);
42065        desret_int(ret_val);
42066        call_tests++;
42067        des_int(n_code, code, 0);
42068        xmlResetLastError();
42069        if (mem_base != xmlMemBlocks()) {
42070            printf("Leak of %d blocks found in xmlUCSIsSmallFormVariants",
42071	           xmlMemBlocks() - mem_base);
42072	    test_ret++;
42073            printf(" %d", n_code);
42074            printf("\n");
42075        }
42076    }
42077    function_tests++;
42078#endif
42079
42080    return(test_ret);
42081}
42082
42083
42084static int
42085test_xmlUCSIsSpacingModifierLetters(void) {
42086    int test_ret = 0;
42087
42088#if defined(LIBXML_UNICODE_ENABLED)
42089    int mem_base;
42090    int ret_val;
42091    int code; /* UCS code point */
42092    int n_code;
42093
42094    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42095        mem_base = xmlMemBlocks();
42096        code = gen_int(n_code, 0);
42097
42098        ret_val = xmlUCSIsSpacingModifierLetters(code);
42099        desret_int(ret_val);
42100        call_tests++;
42101        des_int(n_code, code, 0);
42102        xmlResetLastError();
42103        if (mem_base != xmlMemBlocks()) {
42104            printf("Leak of %d blocks found in xmlUCSIsSpacingModifierLetters",
42105	           xmlMemBlocks() - mem_base);
42106	    test_ret++;
42107            printf(" %d", n_code);
42108            printf("\n");
42109        }
42110    }
42111    function_tests++;
42112#endif
42113
42114    return(test_ret);
42115}
42116
42117
42118static int
42119test_xmlUCSIsSpecials(void) {
42120    int test_ret = 0;
42121
42122#if defined(LIBXML_UNICODE_ENABLED)
42123    int mem_base;
42124    int ret_val;
42125    int code; /* UCS code point */
42126    int n_code;
42127
42128    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42129        mem_base = xmlMemBlocks();
42130        code = gen_int(n_code, 0);
42131
42132        ret_val = xmlUCSIsSpecials(code);
42133        desret_int(ret_val);
42134        call_tests++;
42135        des_int(n_code, code, 0);
42136        xmlResetLastError();
42137        if (mem_base != xmlMemBlocks()) {
42138            printf("Leak of %d blocks found in xmlUCSIsSpecials",
42139	           xmlMemBlocks() - mem_base);
42140	    test_ret++;
42141            printf(" %d", n_code);
42142            printf("\n");
42143        }
42144    }
42145    function_tests++;
42146#endif
42147
42148    return(test_ret);
42149}
42150
42151
42152static int
42153test_xmlUCSIsSuperscriptsandSubscripts(void) {
42154    int test_ret = 0;
42155
42156#if defined(LIBXML_UNICODE_ENABLED)
42157    int mem_base;
42158    int ret_val;
42159    int code; /* UCS code point */
42160    int n_code;
42161
42162    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42163        mem_base = xmlMemBlocks();
42164        code = gen_int(n_code, 0);
42165
42166        ret_val = xmlUCSIsSuperscriptsandSubscripts(code);
42167        desret_int(ret_val);
42168        call_tests++;
42169        des_int(n_code, code, 0);
42170        xmlResetLastError();
42171        if (mem_base != xmlMemBlocks()) {
42172            printf("Leak of %d blocks found in xmlUCSIsSuperscriptsandSubscripts",
42173	           xmlMemBlocks() - mem_base);
42174	    test_ret++;
42175            printf(" %d", n_code);
42176            printf("\n");
42177        }
42178    }
42179    function_tests++;
42180#endif
42181
42182    return(test_ret);
42183}
42184
42185
42186static int
42187test_xmlUCSIsSupplementalArrowsA(void) {
42188    int test_ret = 0;
42189
42190#if defined(LIBXML_UNICODE_ENABLED)
42191    int mem_base;
42192    int ret_val;
42193    int code; /* UCS code point */
42194    int n_code;
42195
42196    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42197        mem_base = xmlMemBlocks();
42198        code = gen_int(n_code, 0);
42199
42200        ret_val = xmlUCSIsSupplementalArrowsA(code);
42201        desret_int(ret_val);
42202        call_tests++;
42203        des_int(n_code, code, 0);
42204        xmlResetLastError();
42205        if (mem_base != xmlMemBlocks()) {
42206            printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsA",
42207	           xmlMemBlocks() - mem_base);
42208	    test_ret++;
42209            printf(" %d", n_code);
42210            printf("\n");
42211        }
42212    }
42213    function_tests++;
42214#endif
42215
42216    return(test_ret);
42217}
42218
42219
42220static int
42221test_xmlUCSIsSupplementalArrowsB(void) {
42222    int test_ret = 0;
42223
42224#if defined(LIBXML_UNICODE_ENABLED)
42225    int mem_base;
42226    int ret_val;
42227    int code; /* UCS code point */
42228    int n_code;
42229
42230    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42231        mem_base = xmlMemBlocks();
42232        code = gen_int(n_code, 0);
42233
42234        ret_val = xmlUCSIsSupplementalArrowsB(code);
42235        desret_int(ret_val);
42236        call_tests++;
42237        des_int(n_code, code, 0);
42238        xmlResetLastError();
42239        if (mem_base != xmlMemBlocks()) {
42240            printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsB",
42241	           xmlMemBlocks() - mem_base);
42242	    test_ret++;
42243            printf(" %d", n_code);
42244            printf("\n");
42245        }
42246    }
42247    function_tests++;
42248#endif
42249
42250    return(test_ret);
42251}
42252
42253
42254static int
42255test_xmlUCSIsSupplementalMathematicalOperators(void) {
42256    int test_ret = 0;
42257
42258#if defined(LIBXML_UNICODE_ENABLED)
42259    int mem_base;
42260    int ret_val;
42261    int code; /* UCS code point */
42262    int n_code;
42263
42264    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42265        mem_base = xmlMemBlocks();
42266        code = gen_int(n_code, 0);
42267
42268        ret_val = xmlUCSIsSupplementalMathematicalOperators(code);
42269        desret_int(ret_val);
42270        call_tests++;
42271        des_int(n_code, code, 0);
42272        xmlResetLastError();
42273        if (mem_base != xmlMemBlocks()) {
42274            printf("Leak of %d blocks found in xmlUCSIsSupplementalMathematicalOperators",
42275	           xmlMemBlocks() - mem_base);
42276	    test_ret++;
42277            printf(" %d", n_code);
42278            printf("\n");
42279        }
42280    }
42281    function_tests++;
42282#endif
42283
42284    return(test_ret);
42285}
42286
42287
42288static int
42289test_xmlUCSIsSupplementaryPrivateUseAreaA(void) {
42290    int test_ret = 0;
42291
42292#if defined(LIBXML_UNICODE_ENABLED)
42293    int mem_base;
42294    int ret_val;
42295    int code; /* UCS code point */
42296    int n_code;
42297
42298    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42299        mem_base = xmlMemBlocks();
42300        code = gen_int(n_code, 0);
42301
42302        ret_val = xmlUCSIsSupplementaryPrivateUseAreaA(code);
42303        desret_int(ret_val);
42304        call_tests++;
42305        des_int(n_code, code, 0);
42306        xmlResetLastError();
42307        if (mem_base != xmlMemBlocks()) {
42308            printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaA",
42309	           xmlMemBlocks() - mem_base);
42310	    test_ret++;
42311            printf(" %d", n_code);
42312            printf("\n");
42313        }
42314    }
42315    function_tests++;
42316#endif
42317
42318    return(test_ret);
42319}
42320
42321
42322static int
42323test_xmlUCSIsSupplementaryPrivateUseAreaB(void) {
42324    int test_ret = 0;
42325
42326#if defined(LIBXML_UNICODE_ENABLED)
42327    int mem_base;
42328    int ret_val;
42329    int code; /* UCS code point */
42330    int n_code;
42331
42332    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42333        mem_base = xmlMemBlocks();
42334        code = gen_int(n_code, 0);
42335
42336        ret_val = xmlUCSIsSupplementaryPrivateUseAreaB(code);
42337        desret_int(ret_val);
42338        call_tests++;
42339        des_int(n_code, code, 0);
42340        xmlResetLastError();
42341        if (mem_base != xmlMemBlocks()) {
42342            printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaB",
42343	           xmlMemBlocks() - mem_base);
42344	    test_ret++;
42345            printf(" %d", n_code);
42346            printf("\n");
42347        }
42348    }
42349    function_tests++;
42350#endif
42351
42352    return(test_ret);
42353}
42354
42355
42356static int
42357test_xmlUCSIsSyriac(void) {
42358    int test_ret = 0;
42359
42360#if defined(LIBXML_UNICODE_ENABLED)
42361    int mem_base;
42362    int ret_val;
42363    int code; /* UCS code point */
42364    int n_code;
42365
42366    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42367        mem_base = xmlMemBlocks();
42368        code = gen_int(n_code, 0);
42369
42370        ret_val = xmlUCSIsSyriac(code);
42371        desret_int(ret_val);
42372        call_tests++;
42373        des_int(n_code, code, 0);
42374        xmlResetLastError();
42375        if (mem_base != xmlMemBlocks()) {
42376            printf("Leak of %d blocks found in xmlUCSIsSyriac",
42377	           xmlMemBlocks() - mem_base);
42378	    test_ret++;
42379            printf(" %d", n_code);
42380            printf("\n");
42381        }
42382    }
42383    function_tests++;
42384#endif
42385
42386    return(test_ret);
42387}
42388
42389
42390static int
42391test_xmlUCSIsTagalog(void) {
42392    int test_ret = 0;
42393
42394#if defined(LIBXML_UNICODE_ENABLED)
42395    int mem_base;
42396    int ret_val;
42397    int code; /* UCS code point */
42398    int n_code;
42399
42400    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42401        mem_base = xmlMemBlocks();
42402        code = gen_int(n_code, 0);
42403
42404        ret_val = xmlUCSIsTagalog(code);
42405        desret_int(ret_val);
42406        call_tests++;
42407        des_int(n_code, code, 0);
42408        xmlResetLastError();
42409        if (mem_base != xmlMemBlocks()) {
42410            printf("Leak of %d blocks found in xmlUCSIsTagalog",
42411	           xmlMemBlocks() - mem_base);
42412	    test_ret++;
42413            printf(" %d", n_code);
42414            printf("\n");
42415        }
42416    }
42417    function_tests++;
42418#endif
42419
42420    return(test_ret);
42421}
42422
42423
42424static int
42425test_xmlUCSIsTagbanwa(void) {
42426    int test_ret = 0;
42427
42428#if defined(LIBXML_UNICODE_ENABLED)
42429    int mem_base;
42430    int ret_val;
42431    int code; /* UCS code point */
42432    int n_code;
42433
42434    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42435        mem_base = xmlMemBlocks();
42436        code = gen_int(n_code, 0);
42437
42438        ret_val = xmlUCSIsTagbanwa(code);
42439        desret_int(ret_val);
42440        call_tests++;
42441        des_int(n_code, code, 0);
42442        xmlResetLastError();
42443        if (mem_base != xmlMemBlocks()) {
42444            printf("Leak of %d blocks found in xmlUCSIsTagbanwa",
42445	           xmlMemBlocks() - mem_base);
42446	    test_ret++;
42447            printf(" %d", n_code);
42448            printf("\n");
42449        }
42450    }
42451    function_tests++;
42452#endif
42453
42454    return(test_ret);
42455}
42456
42457
42458static int
42459test_xmlUCSIsTags(void) {
42460    int test_ret = 0;
42461
42462#if defined(LIBXML_UNICODE_ENABLED)
42463    int mem_base;
42464    int ret_val;
42465    int code; /* UCS code point */
42466    int n_code;
42467
42468    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42469        mem_base = xmlMemBlocks();
42470        code = gen_int(n_code, 0);
42471
42472        ret_val = xmlUCSIsTags(code);
42473        desret_int(ret_val);
42474        call_tests++;
42475        des_int(n_code, code, 0);
42476        xmlResetLastError();
42477        if (mem_base != xmlMemBlocks()) {
42478            printf("Leak of %d blocks found in xmlUCSIsTags",
42479	           xmlMemBlocks() - mem_base);
42480	    test_ret++;
42481            printf(" %d", n_code);
42482            printf("\n");
42483        }
42484    }
42485    function_tests++;
42486#endif
42487
42488    return(test_ret);
42489}
42490
42491
42492static int
42493test_xmlUCSIsTaiLe(void) {
42494    int test_ret = 0;
42495
42496#if defined(LIBXML_UNICODE_ENABLED)
42497    int mem_base;
42498    int ret_val;
42499    int code; /* UCS code point */
42500    int n_code;
42501
42502    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42503        mem_base = xmlMemBlocks();
42504        code = gen_int(n_code, 0);
42505
42506        ret_val = xmlUCSIsTaiLe(code);
42507        desret_int(ret_val);
42508        call_tests++;
42509        des_int(n_code, code, 0);
42510        xmlResetLastError();
42511        if (mem_base != xmlMemBlocks()) {
42512            printf("Leak of %d blocks found in xmlUCSIsTaiLe",
42513	           xmlMemBlocks() - mem_base);
42514	    test_ret++;
42515            printf(" %d", n_code);
42516            printf("\n");
42517        }
42518    }
42519    function_tests++;
42520#endif
42521
42522    return(test_ret);
42523}
42524
42525
42526static int
42527test_xmlUCSIsTaiXuanJingSymbols(void) {
42528    int test_ret = 0;
42529
42530#if defined(LIBXML_UNICODE_ENABLED)
42531    int mem_base;
42532    int ret_val;
42533    int code; /* UCS code point */
42534    int n_code;
42535
42536    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42537        mem_base = xmlMemBlocks();
42538        code = gen_int(n_code, 0);
42539
42540        ret_val = xmlUCSIsTaiXuanJingSymbols(code);
42541        desret_int(ret_val);
42542        call_tests++;
42543        des_int(n_code, code, 0);
42544        xmlResetLastError();
42545        if (mem_base != xmlMemBlocks()) {
42546            printf("Leak of %d blocks found in xmlUCSIsTaiXuanJingSymbols",
42547	           xmlMemBlocks() - mem_base);
42548	    test_ret++;
42549            printf(" %d", n_code);
42550            printf("\n");
42551        }
42552    }
42553    function_tests++;
42554#endif
42555
42556    return(test_ret);
42557}
42558
42559
42560static int
42561test_xmlUCSIsTamil(void) {
42562    int test_ret = 0;
42563
42564#if defined(LIBXML_UNICODE_ENABLED)
42565    int mem_base;
42566    int ret_val;
42567    int code; /* UCS code point */
42568    int n_code;
42569
42570    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42571        mem_base = xmlMemBlocks();
42572        code = gen_int(n_code, 0);
42573
42574        ret_val = xmlUCSIsTamil(code);
42575        desret_int(ret_val);
42576        call_tests++;
42577        des_int(n_code, code, 0);
42578        xmlResetLastError();
42579        if (mem_base != xmlMemBlocks()) {
42580            printf("Leak of %d blocks found in xmlUCSIsTamil",
42581	           xmlMemBlocks() - mem_base);
42582	    test_ret++;
42583            printf(" %d", n_code);
42584            printf("\n");
42585        }
42586    }
42587    function_tests++;
42588#endif
42589
42590    return(test_ret);
42591}
42592
42593
42594static int
42595test_xmlUCSIsTelugu(void) {
42596    int test_ret = 0;
42597
42598#if defined(LIBXML_UNICODE_ENABLED)
42599    int mem_base;
42600    int ret_val;
42601    int code; /* UCS code point */
42602    int n_code;
42603
42604    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42605        mem_base = xmlMemBlocks();
42606        code = gen_int(n_code, 0);
42607
42608        ret_val = xmlUCSIsTelugu(code);
42609        desret_int(ret_val);
42610        call_tests++;
42611        des_int(n_code, code, 0);
42612        xmlResetLastError();
42613        if (mem_base != xmlMemBlocks()) {
42614            printf("Leak of %d blocks found in xmlUCSIsTelugu",
42615	           xmlMemBlocks() - mem_base);
42616	    test_ret++;
42617            printf(" %d", n_code);
42618            printf("\n");
42619        }
42620    }
42621    function_tests++;
42622#endif
42623
42624    return(test_ret);
42625}
42626
42627
42628static int
42629test_xmlUCSIsThaana(void) {
42630    int test_ret = 0;
42631
42632#if defined(LIBXML_UNICODE_ENABLED)
42633    int mem_base;
42634    int ret_val;
42635    int code; /* UCS code point */
42636    int n_code;
42637
42638    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42639        mem_base = xmlMemBlocks();
42640        code = gen_int(n_code, 0);
42641
42642        ret_val = xmlUCSIsThaana(code);
42643        desret_int(ret_val);
42644        call_tests++;
42645        des_int(n_code, code, 0);
42646        xmlResetLastError();
42647        if (mem_base != xmlMemBlocks()) {
42648            printf("Leak of %d blocks found in xmlUCSIsThaana",
42649	           xmlMemBlocks() - mem_base);
42650	    test_ret++;
42651            printf(" %d", n_code);
42652            printf("\n");
42653        }
42654    }
42655    function_tests++;
42656#endif
42657
42658    return(test_ret);
42659}
42660
42661
42662static int
42663test_xmlUCSIsThai(void) {
42664    int test_ret = 0;
42665
42666#if defined(LIBXML_UNICODE_ENABLED)
42667    int mem_base;
42668    int ret_val;
42669    int code; /* UCS code point */
42670    int n_code;
42671
42672    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42673        mem_base = xmlMemBlocks();
42674        code = gen_int(n_code, 0);
42675
42676        ret_val = xmlUCSIsThai(code);
42677        desret_int(ret_val);
42678        call_tests++;
42679        des_int(n_code, code, 0);
42680        xmlResetLastError();
42681        if (mem_base != xmlMemBlocks()) {
42682            printf("Leak of %d blocks found in xmlUCSIsThai",
42683	           xmlMemBlocks() - mem_base);
42684	    test_ret++;
42685            printf(" %d", n_code);
42686            printf("\n");
42687        }
42688    }
42689    function_tests++;
42690#endif
42691
42692    return(test_ret);
42693}
42694
42695
42696static int
42697test_xmlUCSIsTibetan(void) {
42698    int test_ret = 0;
42699
42700#if defined(LIBXML_UNICODE_ENABLED)
42701    int mem_base;
42702    int ret_val;
42703    int code; /* UCS code point */
42704    int n_code;
42705
42706    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42707        mem_base = xmlMemBlocks();
42708        code = gen_int(n_code, 0);
42709
42710        ret_val = xmlUCSIsTibetan(code);
42711        desret_int(ret_val);
42712        call_tests++;
42713        des_int(n_code, code, 0);
42714        xmlResetLastError();
42715        if (mem_base != xmlMemBlocks()) {
42716            printf("Leak of %d blocks found in xmlUCSIsTibetan",
42717	           xmlMemBlocks() - mem_base);
42718	    test_ret++;
42719            printf(" %d", n_code);
42720            printf("\n");
42721        }
42722    }
42723    function_tests++;
42724#endif
42725
42726    return(test_ret);
42727}
42728
42729
42730static int
42731test_xmlUCSIsUgaritic(void) {
42732    int test_ret = 0;
42733
42734#if defined(LIBXML_UNICODE_ENABLED)
42735    int mem_base;
42736    int ret_val;
42737    int code; /* UCS code point */
42738    int n_code;
42739
42740    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42741        mem_base = xmlMemBlocks();
42742        code = gen_int(n_code, 0);
42743
42744        ret_val = xmlUCSIsUgaritic(code);
42745        desret_int(ret_val);
42746        call_tests++;
42747        des_int(n_code, code, 0);
42748        xmlResetLastError();
42749        if (mem_base != xmlMemBlocks()) {
42750            printf("Leak of %d blocks found in xmlUCSIsUgaritic",
42751	           xmlMemBlocks() - mem_base);
42752	    test_ret++;
42753            printf(" %d", n_code);
42754            printf("\n");
42755        }
42756    }
42757    function_tests++;
42758#endif
42759
42760    return(test_ret);
42761}
42762
42763
42764static int
42765test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(void) {
42766    int test_ret = 0;
42767
42768#if defined(LIBXML_UNICODE_ENABLED)
42769    int mem_base;
42770    int ret_val;
42771    int code; /* UCS code point */
42772    int n_code;
42773
42774    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42775        mem_base = xmlMemBlocks();
42776        code = gen_int(n_code, 0);
42777
42778        ret_val = xmlUCSIsUnifiedCanadianAboriginalSyllabics(code);
42779        desret_int(ret_val);
42780        call_tests++;
42781        des_int(n_code, code, 0);
42782        xmlResetLastError();
42783        if (mem_base != xmlMemBlocks()) {
42784            printf("Leak of %d blocks found in xmlUCSIsUnifiedCanadianAboriginalSyllabics",
42785	           xmlMemBlocks() - mem_base);
42786	    test_ret++;
42787            printf(" %d", n_code);
42788            printf("\n");
42789        }
42790    }
42791    function_tests++;
42792#endif
42793
42794    return(test_ret);
42795}
42796
42797
42798static int
42799test_xmlUCSIsVariationSelectors(void) {
42800    int test_ret = 0;
42801
42802#if defined(LIBXML_UNICODE_ENABLED)
42803    int mem_base;
42804    int ret_val;
42805    int code; /* UCS code point */
42806    int n_code;
42807
42808    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42809        mem_base = xmlMemBlocks();
42810        code = gen_int(n_code, 0);
42811
42812        ret_val = xmlUCSIsVariationSelectors(code);
42813        desret_int(ret_val);
42814        call_tests++;
42815        des_int(n_code, code, 0);
42816        xmlResetLastError();
42817        if (mem_base != xmlMemBlocks()) {
42818            printf("Leak of %d blocks found in xmlUCSIsVariationSelectors",
42819	           xmlMemBlocks() - mem_base);
42820	    test_ret++;
42821            printf(" %d", n_code);
42822            printf("\n");
42823        }
42824    }
42825    function_tests++;
42826#endif
42827
42828    return(test_ret);
42829}
42830
42831
42832static int
42833test_xmlUCSIsVariationSelectorsSupplement(void) {
42834    int test_ret = 0;
42835
42836#if defined(LIBXML_UNICODE_ENABLED)
42837    int mem_base;
42838    int ret_val;
42839    int code; /* UCS code point */
42840    int n_code;
42841
42842    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42843        mem_base = xmlMemBlocks();
42844        code = gen_int(n_code, 0);
42845
42846        ret_val = xmlUCSIsVariationSelectorsSupplement(code);
42847        desret_int(ret_val);
42848        call_tests++;
42849        des_int(n_code, code, 0);
42850        xmlResetLastError();
42851        if (mem_base != xmlMemBlocks()) {
42852            printf("Leak of %d blocks found in xmlUCSIsVariationSelectorsSupplement",
42853	           xmlMemBlocks() - mem_base);
42854	    test_ret++;
42855            printf(" %d", n_code);
42856            printf("\n");
42857        }
42858    }
42859    function_tests++;
42860#endif
42861
42862    return(test_ret);
42863}
42864
42865
42866static int
42867test_xmlUCSIsYiRadicals(void) {
42868    int test_ret = 0;
42869
42870#if defined(LIBXML_UNICODE_ENABLED)
42871    int mem_base;
42872    int ret_val;
42873    int code; /* UCS code point */
42874    int n_code;
42875
42876    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42877        mem_base = xmlMemBlocks();
42878        code = gen_int(n_code, 0);
42879
42880        ret_val = xmlUCSIsYiRadicals(code);
42881        desret_int(ret_val);
42882        call_tests++;
42883        des_int(n_code, code, 0);
42884        xmlResetLastError();
42885        if (mem_base != xmlMemBlocks()) {
42886            printf("Leak of %d blocks found in xmlUCSIsYiRadicals",
42887	           xmlMemBlocks() - mem_base);
42888	    test_ret++;
42889            printf(" %d", n_code);
42890            printf("\n");
42891        }
42892    }
42893    function_tests++;
42894#endif
42895
42896    return(test_ret);
42897}
42898
42899
42900static int
42901test_xmlUCSIsYiSyllables(void) {
42902    int test_ret = 0;
42903
42904#if defined(LIBXML_UNICODE_ENABLED)
42905    int mem_base;
42906    int ret_val;
42907    int code; /* UCS code point */
42908    int n_code;
42909
42910    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42911        mem_base = xmlMemBlocks();
42912        code = gen_int(n_code, 0);
42913
42914        ret_val = xmlUCSIsYiSyllables(code);
42915        desret_int(ret_val);
42916        call_tests++;
42917        des_int(n_code, code, 0);
42918        xmlResetLastError();
42919        if (mem_base != xmlMemBlocks()) {
42920            printf("Leak of %d blocks found in xmlUCSIsYiSyllables",
42921	           xmlMemBlocks() - mem_base);
42922	    test_ret++;
42923            printf(" %d", n_code);
42924            printf("\n");
42925        }
42926    }
42927    function_tests++;
42928#endif
42929
42930    return(test_ret);
42931}
42932
42933
42934static int
42935test_xmlUCSIsYijingHexagramSymbols(void) {
42936    int test_ret = 0;
42937
42938#if defined(LIBXML_UNICODE_ENABLED)
42939    int mem_base;
42940    int ret_val;
42941    int code; /* UCS code point */
42942    int n_code;
42943
42944    for (n_code = 0;n_code < gen_nb_int;n_code++) {
42945        mem_base = xmlMemBlocks();
42946        code = gen_int(n_code, 0);
42947
42948        ret_val = xmlUCSIsYijingHexagramSymbols(code);
42949        desret_int(ret_val);
42950        call_tests++;
42951        des_int(n_code, code, 0);
42952        xmlResetLastError();
42953        if (mem_base != xmlMemBlocks()) {
42954            printf("Leak of %d blocks found in xmlUCSIsYijingHexagramSymbols",
42955	           xmlMemBlocks() - mem_base);
42956	    test_ret++;
42957            printf(" %d", n_code);
42958            printf("\n");
42959        }
42960    }
42961    function_tests++;
42962#endif
42963
42964    return(test_ret);
42965}
42966
42967static int
42968test_xmlunicode(void) {
42969    int test_ret = 0;
42970
42971    if (quiet == 0) printf("Testing xmlunicode : 166 of 166 functions ...\n");
42972    test_ret += test_xmlUCSIsAegeanNumbers();
42973    test_ret += test_xmlUCSIsAlphabeticPresentationForms();
42974    test_ret += test_xmlUCSIsArabic();
42975    test_ret += test_xmlUCSIsArabicPresentationFormsA();
42976    test_ret += test_xmlUCSIsArabicPresentationFormsB();
42977    test_ret += test_xmlUCSIsArmenian();
42978    test_ret += test_xmlUCSIsArrows();
42979    test_ret += test_xmlUCSIsBasicLatin();
42980    test_ret += test_xmlUCSIsBengali();
42981    test_ret += test_xmlUCSIsBlock();
42982    test_ret += test_xmlUCSIsBlockElements();
42983    test_ret += test_xmlUCSIsBopomofo();
42984    test_ret += test_xmlUCSIsBopomofoExtended();
42985    test_ret += test_xmlUCSIsBoxDrawing();
42986    test_ret += test_xmlUCSIsBraillePatterns();
42987    test_ret += test_xmlUCSIsBuhid();
42988    test_ret += test_xmlUCSIsByzantineMusicalSymbols();
42989    test_ret += test_xmlUCSIsCJKCompatibility();
42990    test_ret += test_xmlUCSIsCJKCompatibilityForms();
42991    test_ret += test_xmlUCSIsCJKCompatibilityIdeographs();
42992    test_ret += test_xmlUCSIsCJKCompatibilityIdeographsSupplement();
42993    test_ret += test_xmlUCSIsCJKRadicalsSupplement();
42994    test_ret += test_xmlUCSIsCJKSymbolsandPunctuation();
42995    test_ret += test_xmlUCSIsCJKUnifiedIdeographs();
42996    test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionA();
42997    test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionB();
42998    test_ret += test_xmlUCSIsCat();
42999    test_ret += test_xmlUCSIsCatC();
43000    test_ret += test_xmlUCSIsCatCc();
43001    test_ret += test_xmlUCSIsCatCf();
43002    test_ret += test_xmlUCSIsCatCo();
43003    test_ret += test_xmlUCSIsCatCs();
43004    test_ret += test_xmlUCSIsCatL();
43005    test_ret += test_xmlUCSIsCatLl();
43006    test_ret += test_xmlUCSIsCatLm();
43007    test_ret += test_xmlUCSIsCatLo();
43008    test_ret += test_xmlUCSIsCatLt();
43009    test_ret += test_xmlUCSIsCatLu();
43010    test_ret += test_xmlUCSIsCatM();
43011    test_ret += test_xmlUCSIsCatMc();
43012    test_ret += test_xmlUCSIsCatMe();
43013    test_ret += test_xmlUCSIsCatMn();
43014    test_ret += test_xmlUCSIsCatN();
43015    test_ret += test_xmlUCSIsCatNd();
43016    test_ret += test_xmlUCSIsCatNl();
43017    test_ret += test_xmlUCSIsCatNo();
43018    test_ret += test_xmlUCSIsCatP();
43019    test_ret += test_xmlUCSIsCatPc();
43020    test_ret += test_xmlUCSIsCatPd();
43021    test_ret += test_xmlUCSIsCatPe();
43022    test_ret += test_xmlUCSIsCatPf();
43023    test_ret += test_xmlUCSIsCatPi();
43024    test_ret += test_xmlUCSIsCatPo();
43025    test_ret += test_xmlUCSIsCatPs();
43026    test_ret += test_xmlUCSIsCatS();
43027    test_ret += test_xmlUCSIsCatSc();
43028    test_ret += test_xmlUCSIsCatSk();
43029    test_ret += test_xmlUCSIsCatSm();
43030    test_ret += test_xmlUCSIsCatSo();
43031    test_ret += test_xmlUCSIsCatZ();
43032    test_ret += test_xmlUCSIsCatZl();
43033    test_ret += test_xmlUCSIsCatZp();
43034    test_ret += test_xmlUCSIsCatZs();
43035    test_ret += test_xmlUCSIsCherokee();
43036    test_ret += test_xmlUCSIsCombiningDiacriticalMarks();
43037    test_ret += test_xmlUCSIsCombiningDiacriticalMarksforSymbols();
43038    test_ret += test_xmlUCSIsCombiningHalfMarks();
43039    test_ret += test_xmlUCSIsCombiningMarksforSymbols();
43040    test_ret += test_xmlUCSIsControlPictures();
43041    test_ret += test_xmlUCSIsCurrencySymbols();
43042    test_ret += test_xmlUCSIsCypriotSyllabary();
43043    test_ret += test_xmlUCSIsCyrillic();
43044    test_ret += test_xmlUCSIsCyrillicSupplement();
43045    test_ret += test_xmlUCSIsDeseret();
43046    test_ret += test_xmlUCSIsDevanagari();
43047    test_ret += test_xmlUCSIsDingbats();
43048    test_ret += test_xmlUCSIsEnclosedAlphanumerics();
43049    test_ret += test_xmlUCSIsEnclosedCJKLettersandMonths();
43050    test_ret += test_xmlUCSIsEthiopic();
43051    test_ret += test_xmlUCSIsGeneralPunctuation();
43052    test_ret += test_xmlUCSIsGeometricShapes();
43053    test_ret += test_xmlUCSIsGeorgian();
43054    test_ret += test_xmlUCSIsGothic();
43055    test_ret += test_xmlUCSIsGreek();
43056    test_ret += test_xmlUCSIsGreekExtended();
43057    test_ret += test_xmlUCSIsGreekandCoptic();
43058    test_ret += test_xmlUCSIsGujarati();
43059    test_ret += test_xmlUCSIsGurmukhi();
43060    test_ret += test_xmlUCSIsHalfwidthandFullwidthForms();
43061    test_ret += test_xmlUCSIsHangulCompatibilityJamo();
43062    test_ret += test_xmlUCSIsHangulJamo();
43063    test_ret += test_xmlUCSIsHangulSyllables();
43064    test_ret += test_xmlUCSIsHanunoo();
43065    test_ret += test_xmlUCSIsHebrew();
43066    test_ret += test_xmlUCSIsHighPrivateUseSurrogates();
43067    test_ret += test_xmlUCSIsHighSurrogates();
43068    test_ret += test_xmlUCSIsHiragana();
43069    test_ret += test_xmlUCSIsIPAExtensions();
43070    test_ret += test_xmlUCSIsIdeographicDescriptionCharacters();
43071    test_ret += test_xmlUCSIsKanbun();
43072    test_ret += test_xmlUCSIsKangxiRadicals();
43073    test_ret += test_xmlUCSIsKannada();
43074    test_ret += test_xmlUCSIsKatakana();
43075    test_ret += test_xmlUCSIsKatakanaPhoneticExtensions();
43076    test_ret += test_xmlUCSIsKhmer();
43077    test_ret += test_xmlUCSIsKhmerSymbols();
43078    test_ret += test_xmlUCSIsLao();
43079    test_ret += test_xmlUCSIsLatin1Supplement();
43080    test_ret += test_xmlUCSIsLatinExtendedA();
43081    test_ret += test_xmlUCSIsLatinExtendedAdditional();
43082    test_ret += test_xmlUCSIsLatinExtendedB();
43083    test_ret += test_xmlUCSIsLetterlikeSymbols();
43084    test_ret += test_xmlUCSIsLimbu();
43085    test_ret += test_xmlUCSIsLinearBIdeograms();
43086    test_ret += test_xmlUCSIsLinearBSyllabary();
43087    test_ret += test_xmlUCSIsLowSurrogates();
43088    test_ret += test_xmlUCSIsMalayalam();
43089    test_ret += test_xmlUCSIsMathematicalAlphanumericSymbols();
43090    test_ret += test_xmlUCSIsMathematicalOperators();
43091    test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsA();
43092    test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsB();
43093    test_ret += test_xmlUCSIsMiscellaneousSymbols();
43094    test_ret += test_xmlUCSIsMiscellaneousSymbolsandArrows();
43095    test_ret += test_xmlUCSIsMiscellaneousTechnical();
43096    test_ret += test_xmlUCSIsMongolian();
43097    test_ret += test_xmlUCSIsMusicalSymbols();
43098    test_ret += test_xmlUCSIsMyanmar();
43099    test_ret += test_xmlUCSIsNumberForms();
43100    test_ret += test_xmlUCSIsOgham();
43101    test_ret += test_xmlUCSIsOldItalic();
43102    test_ret += test_xmlUCSIsOpticalCharacterRecognition();
43103    test_ret += test_xmlUCSIsOriya();
43104    test_ret += test_xmlUCSIsOsmanya();
43105    test_ret += test_xmlUCSIsPhoneticExtensions();
43106    test_ret += test_xmlUCSIsPrivateUse();
43107    test_ret += test_xmlUCSIsPrivateUseArea();
43108    test_ret += test_xmlUCSIsRunic();
43109    test_ret += test_xmlUCSIsShavian();
43110    test_ret += test_xmlUCSIsSinhala();
43111    test_ret += test_xmlUCSIsSmallFormVariants();
43112    test_ret += test_xmlUCSIsSpacingModifierLetters();
43113    test_ret += test_xmlUCSIsSpecials();
43114    test_ret += test_xmlUCSIsSuperscriptsandSubscripts();
43115    test_ret += test_xmlUCSIsSupplementalArrowsA();
43116    test_ret += test_xmlUCSIsSupplementalArrowsB();
43117    test_ret += test_xmlUCSIsSupplementalMathematicalOperators();
43118    test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaA();
43119    test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaB();
43120    test_ret += test_xmlUCSIsSyriac();
43121    test_ret += test_xmlUCSIsTagalog();
43122    test_ret += test_xmlUCSIsTagbanwa();
43123    test_ret += test_xmlUCSIsTags();
43124    test_ret += test_xmlUCSIsTaiLe();
43125    test_ret += test_xmlUCSIsTaiXuanJingSymbols();
43126    test_ret += test_xmlUCSIsTamil();
43127    test_ret += test_xmlUCSIsTelugu();
43128    test_ret += test_xmlUCSIsThaana();
43129    test_ret += test_xmlUCSIsThai();
43130    test_ret += test_xmlUCSIsTibetan();
43131    test_ret += test_xmlUCSIsUgaritic();
43132    test_ret += test_xmlUCSIsUnifiedCanadianAboriginalSyllabics();
43133    test_ret += test_xmlUCSIsVariationSelectors();
43134    test_ret += test_xmlUCSIsVariationSelectorsSupplement();
43135    test_ret += test_xmlUCSIsYiRadicals();
43136    test_ret += test_xmlUCSIsYiSyllables();
43137    test_ret += test_xmlUCSIsYijingHexagramSymbols();
43138
43139    if (test_ret != 0)
43140	printf("Module xmlunicode: %d errors\n", test_ret);
43141    return(test_ret);
43142}
43143
43144static int
43145test_xmlNewTextWriter(void) {
43146    int test_ret = 0;
43147
43148#if defined(LIBXML_WRITER_ENABLED)
43149    int mem_base;
43150    xmlTextWriterPtr ret_val;
43151    xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
43152    int n_out;
43153
43154    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
43155        mem_base = xmlMemBlocks();
43156        out = gen_xmlOutputBufferPtr(n_out, 0);
43157
43158        ret_val = xmlNewTextWriter(out);
43159        if (ret_val != NULL) out = NULL;
43160        desret_xmlTextWriterPtr(ret_val);
43161        call_tests++;
43162        des_xmlOutputBufferPtr(n_out, out, 0);
43163        xmlResetLastError();
43164        if (mem_base != xmlMemBlocks()) {
43165            printf("Leak of %d blocks found in xmlNewTextWriter",
43166	           xmlMemBlocks() - mem_base);
43167	    test_ret++;
43168            printf(" %d", n_out);
43169            printf("\n");
43170        }
43171    }
43172    function_tests++;
43173#endif
43174
43175    return(test_ret);
43176}
43177
43178
43179static int
43180test_xmlNewTextWriterFilename(void) {
43181    int test_ret = 0;
43182
43183#if defined(LIBXML_WRITER_ENABLED)
43184    int mem_base;
43185    xmlTextWriterPtr ret_val;
43186    const char * uri; /* the URI of the resource for the output */
43187    int n_uri;
43188    int compression; /* compress the output? */
43189    int n_compression;
43190
43191    for (n_uri = 0;n_uri < gen_nb_fileoutput;n_uri++) {
43192    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
43193        mem_base = xmlMemBlocks();
43194        uri = gen_fileoutput(n_uri, 0);
43195        compression = gen_int(n_compression, 1);
43196
43197        ret_val = xmlNewTextWriterFilename(uri, compression);
43198        desret_xmlTextWriterPtr(ret_val);
43199        call_tests++;
43200        des_fileoutput(n_uri, uri, 0);
43201        des_int(n_compression, compression, 1);
43202        xmlResetLastError();
43203        if (mem_base != xmlMemBlocks()) {
43204            printf("Leak of %d blocks found in xmlNewTextWriterFilename",
43205	           xmlMemBlocks() - mem_base);
43206	    test_ret++;
43207            printf(" %d", n_uri);
43208            printf(" %d", n_compression);
43209            printf("\n");
43210        }
43211    }
43212    }
43213    function_tests++;
43214#endif
43215
43216    return(test_ret);
43217}
43218
43219
43220static int
43221test_xmlNewTextWriterMemory(void) {
43222    int test_ret = 0;
43223
43224#if defined(LIBXML_WRITER_ENABLED)
43225    int mem_base;
43226    xmlTextWriterPtr ret_val;
43227    xmlBufferPtr buf; /* xmlBufferPtr */
43228    int n_buf;
43229    int compression; /* compress the output? */
43230    int n_compression;
43231
43232    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
43233    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
43234        mem_base = xmlMemBlocks();
43235        buf = gen_xmlBufferPtr(n_buf, 0);
43236        compression = gen_int(n_compression, 1);
43237
43238        ret_val = xmlNewTextWriterMemory(buf, compression);
43239        desret_xmlTextWriterPtr(ret_val);
43240        call_tests++;
43241        des_xmlBufferPtr(n_buf, buf, 0);
43242        des_int(n_compression, compression, 1);
43243        xmlResetLastError();
43244        if (mem_base != xmlMemBlocks()) {
43245            printf("Leak of %d blocks found in xmlNewTextWriterMemory",
43246	           xmlMemBlocks() - mem_base);
43247	    test_ret++;
43248            printf(" %d", n_buf);
43249            printf(" %d", n_compression);
43250            printf("\n");
43251        }
43252    }
43253    }
43254    function_tests++;
43255#endif
43256
43257    return(test_ret);
43258}
43259
43260
43261static int
43262test_xmlNewTextWriterPushParser(void) {
43263    int test_ret = 0;
43264
43265#if defined(LIBXML_WRITER_ENABLED)
43266    int mem_base;
43267    xmlTextWriterPtr ret_val;
43268    xmlParserCtxtPtr ctxt; /* xmlParserCtxtPtr to hold the new XML document tree */
43269    int n_ctxt;
43270    int compression; /* compress the output? */
43271    int n_compression;
43272
43273    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
43274    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
43275        mem_base = xmlMemBlocks();
43276        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
43277        compression = gen_int(n_compression, 1);
43278
43279        ret_val = xmlNewTextWriterPushParser(ctxt, compression);
43280        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL;
43281        desret_xmlTextWriterPtr(ret_val);
43282        call_tests++;
43283        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
43284        des_int(n_compression, compression, 1);
43285        xmlResetLastError();
43286        if (mem_base != xmlMemBlocks()) {
43287            printf("Leak of %d blocks found in xmlNewTextWriterPushParser",
43288	           xmlMemBlocks() - mem_base);
43289	    test_ret++;
43290            printf(" %d", n_ctxt);
43291            printf(" %d", n_compression);
43292            printf("\n");
43293        }
43294    }
43295    }
43296    function_tests++;
43297#endif
43298
43299    return(test_ret);
43300}
43301
43302
43303static int
43304test_xmlNewTextWriterTree(void) {
43305    int test_ret = 0;
43306
43307#if defined(LIBXML_WRITER_ENABLED)
43308    int mem_base;
43309    xmlTextWriterPtr ret_val;
43310    xmlDocPtr doc; /* xmlDocPtr */
43311    int n_doc;
43312    xmlNodePtr node; /* xmlNodePtr or NULL for doc->children */
43313    int n_node;
43314    int compression; /* compress the output? */
43315    int n_compression;
43316
43317    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
43318    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
43319    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
43320        mem_base = xmlMemBlocks();
43321        doc = gen_xmlDocPtr(n_doc, 0);
43322        node = gen_xmlNodePtr(n_node, 1);
43323        compression = gen_int(n_compression, 2);
43324
43325        ret_val = xmlNewTextWriterTree(doc, node, compression);
43326        desret_xmlTextWriterPtr(ret_val);
43327        call_tests++;
43328        des_xmlDocPtr(n_doc, doc, 0);
43329        des_xmlNodePtr(n_node, node, 1);
43330        des_int(n_compression, compression, 2);
43331        xmlResetLastError();
43332        if (mem_base != xmlMemBlocks()) {
43333            printf("Leak of %d blocks found in xmlNewTextWriterTree",
43334	           xmlMemBlocks() - mem_base);
43335	    test_ret++;
43336            printf(" %d", n_doc);
43337            printf(" %d", n_node);
43338            printf(" %d", n_compression);
43339            printf("\n");
43340        }
43341    }
43342    }
43343    }
43344    function_tests++;
43345#endif
43346
43347    return(test_ret);
43348}
43349
43350
43351static int
43352test_xmlTextWriterEndAttribute(void) {
43353    int test_ret = 0;
43354
43355#if defined(LIBXML_WRITER_ENABLED)
43356    int mem_base;
43357    int ret_val;
43358    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43359    int n_writer;
43360
43361    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43362        mem_base = xmlMemBlocks();
43363        writer = gen_xmlTextWriterPtr(n_writer, 0);
43364
43365        ret_val = xmlTextWriterEndAttribute(writer);
43366        desret_int(ret_val);
43367        call_tests++;
43368        des_xmlTextWriterPtr(n_writer, writer, 0);
43369        xmlResetLastError();
43370        if (mem_base != xmlMemBlocks()) {
43371            printf("Leak of %d blocks found in xmlTextWriterEndAttribute",
43372	           xmlMemBlocks() - mem_base);
43373	    test_ret++;
43374            printf(" %d", n_writer);
43375            printf("\n");
43376        }
43377    }
43378    function_tests++;
43379#endif
43380
43381    return(test_ret);
43382}
43383
43384
43385static int
43386test_xmlTextWriterEndCDATA(void) {
43387    int test_ret = 0;
43388
43389#if defined(LIBXML_WRITER_ENABLED)
43390    int mem_base;
43391    int ret_val;
43392    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43393    int n_writer;
43394
43395    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43396        mem_base = xmlMemBlocks();
43397        writer = gen_xmlTextWriterPtr(n_writer, 0);
43398
43399        ret_val = xmlTextWriterEndCDATA(writer);
43400        desret_int(ret_val);
43401        call_tests++;
43402        des_xmlTextWriterPtr(n_writer, writer, 0);
43403        xmlResetLastError();
43404        if (mem_base != xmlMemBlocks()) {
43405            printf("Leak of %d blocks found in xmlTextWriterEndCDATA",
43406	           xmlMemBlocks() - mem_base);
43407	    test_ret++;
43408            printf(" %d", n_writer);
43409            printf("\n");
43410        }
43411    }
43412    function_tests++;
43413#endif
43414
43415    return(test_ret);
43416}
43417
43418
43419static int
43420test_xmlTextWriterEndComment(void) {
43421    int test_ret = 0;
43422
43423#if defined(LIBXML_WRITER_ENABLED)
43424    int mem_base;
43425    int ret_val;
43426    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43427    int n_writer;
43428
43429    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43430        mem_base = xmlMemBlocks();
43431        writer = gen_xmlTextWriterPtr(n_writer, 0);
43432
43433        ret_val = xmlTextWriterEndComment(writer);
43434        desret_int(ret_val);
43435        call_tests++;
43436        des_xmlTextWriterPtr(n_writer, writer, 0);
43437        xmlResetLastError();
43438        if (mem_base != xmlMemBlocks()) {
43439            printf("Leak of %d blocks found in xmlTextWriterEndComment",
43440	           xmlMemBlocks() - mem_base);
43441	    test_ret++;
43442            printf(" %d", n_writer);
43443            printf("\n");
43444        }
43445    }
43446    function_tests++;
43447#endif
43448
43449    return(test_ret);
43450}
43451
43452
43453static int
43454test_xmlTextWriterEndDTD(void) {
43455    int test_ret = 0;
43456
43457#if defined(LIBXML_WRITER_ENABLED)
43458    int mem_base;
43459    int ret_val;
43460    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43461    int n_writer;
43462
43463    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43464        mem_base = xmlMemBlocks();
43465        writer = gen_xmlTextWriterPtr(n_writer, 0);
43466
43467        ret_val = xmlTextWriterEndDTD(writer);
43468        desret_int(ret_val);
43469        call_tests++;
43470        des_xmlTextWriterPtr(n_writer, writer, 0);
43471        xmlResetLastError();
43472        if (mem_base != xmlMemBlocks()) {
43473            printf("Leak of %d blocks found in xmlTextWriterEndDTD",
43474	           xmlMemBlocks() - mem_base);
43475	    test_ret++;
43476            printf(" %d", n_writer);
43477            printf("\n");
43478        }
43479    }
43480    function_tests++;
43481#endif
43482
43483    return(test_ret);
43484}
43485
43486
43487static int
43488test_xmlTextWriterEndDTDAttlist(void) {
43489    int test_ret = 0;
43490
43491#if defined(LIBXML_WRITER_ENABLED)
43492    int mem_base;
43493    int ret_val;
43494    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43495    int n_writer;
43496
43497    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43498        mem_base = xmlMemBlocks();
43499        writer = gen_xmlTextWriterPtr(n_writer, 0);
43500
43501        ret_val = xmlTextWriterEndDTDAttlist(writer);
43502        desret_int(ret_val);
43503        call_tests++;
43504        des_xmlTextWriterPtr(n_writer, writer, 0);
43505        xmlResetLastError();
43506        if (mem_base != xmlMemBlocks()) {
43507            printf("Leak of %d blocks found in xmlTextWriterEndDTDAttlist",
43508	           xmlMemBlocks() - mem_base);
43509	    test_ret++;
43510            printf(" %d", n_writer);
43511            printf("\n");
43512        }
43513    }
43514    function_tests++;
43515#endif
43516
43517    return(test_ret);
43518}
43519
43520
43521static int
43522test_xmlTextWriterEndDTDElement(void) {
43523    int test_ret = 0;
43524
43525#if defined(LIBXML_WRITER_ENABLED)
43526    int mem_base;
43527    int ret_val;
43528    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43529    int n_writer;
43530
43531    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43532        mem_base = xmlMemBlocks();
43533        writer = gen_xmlTextWriterPtr(n_writer, 0);
43534
43535        ret_val = xmlTextWriterEndDTDElement(writer);
43536        desret_int(ret_val);
43537        call_tests++;
43538        des_xmlTextWriterPtr(n_writer, writer, 0);
43539        xmlResetLastError();
43540        if (mem_base != xmlMemBlocks()) {
43541            printf("Leak of %d blocks found in xmlTextWriterEndDTDElement",
43542	           xmlMemBlocks() - mem_base);
43543	    test_ret++;
43544            printf(" %d", n_writer);
43545            printf("\n");
43546        }
43547    }
43548    function_tests++;
43549#endif
43550
43551    return(test_ret);
43552}
43553
43554
43555static int
43556test_xmlTextWriterEndDTDEntity(void) {
43557    int test_ret = 0;
43558
43559#if defined(LIBXML_WRITER_ENABLED)
43560    int mem_base;
43561    int ret_val;
43562    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43563    int n_writer;
43564
43565    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43566        mem_base = xmlMemBlocks();
43567        writer = gen_xmlTextWriterPtr(n_writer, 0);
43568
43569        ret_val = xmlTextWriterEndDTDEntity(writer);
43570        desret_int(ret_val);
43571        call_tests++;
43572        des_xmlTextWriterPtr(n_writer, writer, 0);
43573        xmlResetLastError();
43574        if (mem_base != xmlMemBlocks()) {
43575            printf("Leak of %d blocks found in xmlTextWriterEndDTDEntity",
43576	           xmlMemBlocks() - mem_base);
43577	    test_ret++;
43578            printf(" %d", n_writer);
43579            printf("\n");
43580        }
43581    }
43582    function_tests++;
43583#endif
43584
43585    return(test_ret);
43586}
43587
43588
43589static int
43590test_xmlTextWriterEndDocument(void) {
43591    int test_ret = 0;
43592
43593#if defined(LIBXML_WRITER_ENABLED)
43594    int mem_base;
43595    int ret_val;
43596    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43597    int n_writer;
43598
43599    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43600        mem_base = xmlMemBlocks();
43601        writer = gen_xmlTextWriterPtr(n_writer, 0);
43602
43603        ret_val = xmlTextWriterEndDocument(writer);
43604        desret_int(ret_val);
43605        call_tests++;
43606        des_xmlTextWriterPtr(n_writer, writer, 0);
43607        xmlResetLastError();
43608        if (mem_base != xmlMemBlocks()) {
43609            printf("Leak of %d blocks found in xmlTextWriterEndDocument",
43610	           xmlMemBlocks() - mem_base);
43611	    test_ret++;
43612            printf(" %d", n_writer);
43613            printf("\n");
43614        }
43615    }
43616    function_tests++;
43617#endif
43618
43619    return(test_ret);
43620}
43621
43622
43623static int
43624test_xmlTextWriterEndElement(void) {
43625    int test_ret = 0;
43626
43627#if defined(LIBXML_WRITER_ENABLED)
43628    int mem_base;
43629    int ret_val;
43630    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43631    int n_writer;
43632
43633    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43634        mem_base = xmlMemBlocks();
43635        writer = gen_xmlTextWriterPtr(n_writer, 0);
43636
43637        ret_val = xmlTextWriterEndElement(writer);
43638        desret_int(ret_val);
43639        call_tests++;
43640        des_xmlTextWriterPtr(n_writer, writer, 0);
43641        xmlResetLastError();
43642        if (mem_base != xmlMemBlocks()) {
43643            printf("Leak of %d blocks found in xmlTextWriterEndElement",
43644	           xmlMemBlocks() - mem_base);
43645	    test_ret++;
43646            printf(" %d", n_writer);
43647            printf("\n");
43648        }
43649    }
43650    function_tests++;
43651#endif
43652
43653    return(test_ret);
43654}
43655
43656
43657static int
43658test_xmlTextWriterEndPI(void) {
43659    int test_ret = 0;
43660
43661#if defined(LIBXML_WRITER_ENABLED)
43662    int mem_base;
43663    int ret_val;
43664    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43665    int n_writer;
43666
43667    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43668        mem_base = xmlMemBlocks();
43669        writer = gen_xmlTextWriterPtr(n_writer, 0);
43670
43671        ret_val = xmlTextWriterEndPI(writer);
43672        desret_int(ret_val);
43673        call_tests++;
43674        des_xmlTextWriterPtr(n_writer, writer, 0);
43675        xmlResetLastError();
43676        if (mem_base != xmlMemBlocks()) {
43677            printf("Leak of %d blocks found in xmlTextWriterEndPI",
43678	           xmlMemBlocks() - mem_base);
43679	    test_ret++;
43680            printf(" %d", n_writer);
43681            printf("\n");
43682        }
43683    }
43684    function_tests++;
43685#endif
43686
43687    return(test_ret);
43688}
43689
43690
43691static int
43692test_xmlTextWriterFlush(void) {
43693    int test_ret = 0;
43694
43695#if defined(LIBXML_WRITER_ENABLED)
43696    int mem_base;
43697    int ret_val;
43698    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43699    int n_writer;
43700
43701    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43702        mem_base = xmlMemBlocks();
43703        writer = gen_xmlTextWriterPtr(n_writer, 0);
43704
43705        ret_val = xmlTextWriterFlush(writer);
43706        desret_int(ret_val);
43707        call_tests++;
43708        des_xmlTextWriterPtr(n_writer, writer, 0);
43709        xmlResetLastError();
43710        if (mem_base != xmlMemBlocks()) {
43711            printf("Leak of %d blocks found in xmlTextWriterFlush",
43712	           xmlMemBlocks() - mem_base);
43713	    test_ret++;
43714            printf(" %d", n_writer);
43715            printf("\n");
43716        }
43717    }
43718    function_tests++;
43719#endif
43720
43721    return(test_ret);
43722}
43723
43724
43725static int
43726test_xmlTextWriterFullEndElement(void) {
43727    int test_ret = 0;
43728
43729#if defined(LIBXML_WRITER_ENABLED)
43730    int mem_base;
43731    int ret_val;
43732    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43733    int n_writer;
43734
43735    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43736        mem_base = xmlMemBlocks();
43737        writer = gen_xmlTextWriterPtr(n_writer, 0);
43738
43739        ret_val = xmlTextWriterFullEndElement(writer);
43740        desret_int(ret_val);
43741        call_tests++;
43742        des_xmlTextWriterPtr(n_writer, writer, 0);
43743        xmlResetLastError();
43744        if (mem_base != xmlMemBlocks()) {
43745            printf("Leak of %d blocks found in xmlTextWriterFullEndElement",
43746	           xmlMemBlocks() - mem_base);
43747	    test_ret++;
43748            printf(" %d", n_writer);
43749            printf("\n");
43750        }
43751    }
43752    function_tests++;
43753#endif
43754
43755    return(test_ret);
43756}
43757
43758
43759static int
43760test_xmlTextWriterSetIndent(void) {
43761    int test_ret = 0;
43762
43763#if defined(LIBXML_WRITER_ENABLED)
43764    int mem_base;
43765    int ret_val;
43766    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43767    int n_writer;
43768    int indent; /* do indentation? */
43769    int n_indent;
43770
43771    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43772    for (n_indent = 0;n_indent < gen_nb_int;n_indent++) {
43773        mem_base = xmlMemBlocks();
43774        writer = gen_xmlTextWriterPtr(n_writer, 0);
43775        indent = gen_int(n_indent, 1);
43776
43777        ret_val = xmlTextWriterSetIndent(writer, indent);
43778        desret_int(ret_val);
43779        call_tests++;
43780        des_xmlTextWriterPtr(n_writer, writer, 0);
43781        des_int(n_indent, indent, 1);
43782        xmlResetLastError();
43783        if (mem_base != xmlMemBlocks()) {
43784            printf("Leak of %d blocks found in xmlTextWriterSetIndent",
43785	           xmlMemBlocks() - mem_base);
43786	    test_ret++;
43787            printf(" %d", n_writer);
43788            printf(" %d", n_indent);
43789            printf("\n");
43790        }
43791    }
43792    }
43793    function_tests++;
43794#endif
43795
43796    return(test_ret);
43797}
43798
43799
43800static int
43801test_xmlTextWriterSetIndentString(void) {
43802    int test_ret = 0;
43803
43804#if defined(LIBXML_WRITER_ENABLED)
43805    int mem_base;
43806    int ret_val;
43807    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43808    int n_writer;
43809    xmlChar * str; /* the xmlChar string */
43810    int n_str;
43811
43812    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43813    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
43814        mem_base = xmlMemBlocks();
43815        writer = gen_xmlTextWriterPtr(n_writer, 0);
43816        str = gen_const_xmlChar_ptr(n_str, 1);
43817
43818        ret_val = xmlTextWriterSetIndentString(writer, (const xmlChar *)str);
43819        desret_int(ret_val);
43820        call_tests++;
43821        des_xmlTextWriterPtr(n_writer, writer, 0);
43822        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
43823        xmlResetLastError();
43824        if (mem_base != xmlMemBlocks()) {
43825            printf("Leak of %d blocks found in xmlTextWriterSetIndentString",
43826	           xmlMemBlocks() - mem_base);
43827	    test_ret++;
43828            printf(" %d", n_writer);
43829            printf(" %d", n_str);
43830            printf("\n");
43831        }
43832    }
43833    }
43834    function_tests++;
43835#endif
43836
43837    return(test_ret);
43838}
43839
43840
43841static int
43842test_xmlTextWriterSetQuoteChar(void) {
43843    int test_ret = 0;
43844
43845#if defined(LIBXML_WRITER_ENABLED)
43846    int mem_base;
43847    int ret_val;
43848    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43849    int n_writer;
43850    xmlChar quotechar; /* the quote character */
43851    int n_quotechar;
43852
43853    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43854    for (n_quotechar = 0;n_quotechar < gen_nb_xmlChar;n_quotechar++) {
43855        mem_base = xmlMemBlocks();
43856        writer = gen_xmlTextWriterPtr(n_writer, 0);
43857        quotechar = gen_xmlChar(n_quotechar, 1);
43858
43859        ret_val = xmlTextWriterSetQuoteChar(writer, quotechar);
43860        desret_int(ret_val);
43861        call_tests++;
43862        des_xmlTextWriterPtr(n_writer, writer, 0);
43863        des_xmlChar(n_quotechar, quotechar, 1);
43864        xmlResetLastError();
43865        if (mem_base != xmlMemBlocks()) {
43866            printf("Leak of %d blocks found in xmlTextWriterSetQuoteChar",
43867	           xmlMemBlocks() - mem_base);
43868	    test_ret++;
43869            printf(" %d", n_writer);
43870            printf(" %d", n_quotechar);
43871            printf("\n");
43872        }
43873    }
43874    }
43875    function_tests++;
43876#endif
43877
43878    return(test_ret);
43879}
43880
43881
43882static int
43883test_xmlTextWriterStartAttribute(void) {
43884    int test_ret = 0;
43885
43886#if defined(LIBXML_WRITER_ENABLED)
43887    int mem_base;
43888    int ret_val;
43889    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43890    int n_writer;
43891    xmlChar * name; /* element name */
43892    int n_name;
43893
43894    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43895    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
43896        mem_base = xmlMemBlocks();
43897        writer = gen_xmlTextWriterPtr(n_writer, 0);
43898        name = gen_const_xmlChar_ptr(n_name, 1);
43899
43900        ret_val = xmlTextWriterStartAttribute(writer, (const xmlChar *)name);
43901        desret_int(ret_val);
43902        call_tests++;
43903        des_xmlTextWriterPtr(n_writer, writer, 0);
43904        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
43905        xmlResetLastError();
43906        if (mem_base != xmlMemBlocks()) {
43907            printf("Leak of %d blocks found in xmlTextWriterStartAttribute",
43908	           xmlMemBlocks() - mem_base);
43909	    test_ret++;
43910            printf(" %d", n_writer);
43911            printf(" %d", n_name);
43912            printf("\n");
43913        }
43914    }
43915    }
43916    function_tests++;
43917#endif
43918
43919    return(test_ret);
43920}
43921
43922
43923static int
43924test_xmlTextWriterStartAttributeNS(void) {
43925    int test_ret = 0;
43926
43927#if defined(LIBXML_WRITER_ENABLED)
43928    int mem_base;
43929    int ret_val;
43930    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43931    int n_writer;
43932    xmlChar * prefix; /* namespace prefix or NULL */
43933    int n_prefix;
43934    xmlChar * name; /* element local name */
43935    int n_name;
43936    xmlChar * namespaceURI; /* namespace URI or NULL */
43937    int n_namespaceURI;
43938
43939    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43940    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
43941    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
43942    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
43943        mem_base = xmlMemBlocks();
43944        writer = gen_xmlTextWriterPtr(n_writer, 0);
43945        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
43946        name = gen_const_xmlChar_ptr(n_name, 2);
43947        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
43948
43949        ret_val = xmlTextWriterStartAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
43950        desret_int(ret_val);
43951        call_tests++;
43952        des_xmlTextWriterPtr(n_writer, writer, 0);
43953        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
43954        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
43955        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
43956        xmlResetLastError();
43957        if (mem_base != xmlMemBlocks()) {
43958            printf("Leak of %d blocks found in xmlTextWriterStartAttributeNS",
43959	           xmlMemBlocks() - mem_base);
43960	    test_ret++;
43961            printf(" %d", n_writer);
43962            printf(" %d", n_prefix);
43963            printf(" %d", n_name);
43964            printf(" %d", n_namespaceURI);
43965            printf("\n");
43966        }
43967    }
43968    }
43969    }
43970    }
43971    function_tests++;
43972#endif
43973
43974    return(test_ret);
43975}
43976
43977
43978static int
43979test_xmlTextWriterStartCDATA(void) {
43980    int test_ret = 0;
43981
43982#if defined(LIBXML_WRITER_ENABLED)
43983    int mem_base;
43984    int ret_val;
43985    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
43986    int n_writer;
43987
43988    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
43989        mem_base = xmlMemBlocks();
43990        writer = gen_xmlTextWriterPtr(n_writer, 0);
43991
43992        ret_val = xmlTextWriterStartCDATA(writer);
43993        desret_int(ret_val);
43994        call_tests++;
43995        des_xmlTextWriterPtr(n_writer, writer, 0);
43996        xmlResetLastError();
43997        if (mem_base != xmlMemBlocks()) {
43998            printf("Leak of %d blocks found in xmlTextWriterStartCDATA",
43999	           xmlMemBlocks() - mem_base);
44000	    test_ret++;
44001            printf(" %d", n_writer);
44002            printf("\n");
44003        }
44004    }
44005    function_tests++;
44006#endif
44007
44008    return(test_ret);
44009}
44010
44011
44012static int
44013test_xmlTextWriterStartComment(void) {
44014    int test_ret = 0;
44015
44016#if defined(LIBXML_WRITER_ENABLED)
44017    int mem_base;
44018    int ret_val;
44019    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44020    int n_writer;
44021
44022    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44023        mem_base = xmlMemBlocks();
44024        writer = gen_xmlTextWriterPtr(n_writer, 0);
44025
44026        ret_val = xmlTextWriterStartComment(writer);
44027        desret_int(ret_val);
44028        call_tests++;
44029        des_xmlTextWriterPtr(n_writer, writer, 0);
44030        xmlResetLastError();
44031        if (mem_base != xmlMemBlocks()) {
44032            printf("Leak of %d blocks found in xmlTextWriterStartComment",
44033	           xmlMemBlocks() - mem_base);
44034	    test_ret++;
44035            printf(" %d", n_writer);
44036            printf("\n");
44037        }
44038    }
44039    function_tests++;
44040#endif
44041
44042    return(test_ret);
44043}
44044
44045
44046static int
44047test_xmlTextWriterStartDTD(void) {
44048    int test_ret = 0;
44049
44050#if defined(LIBXML_WRITER_ENABLED)
44051    int mem_base;
44052    int ret_val;
44053    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44054    int n_writer;
44055    xmlChar * name; /* the name of the DTD */
44056    int n_name;
44057    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
44058    int n_pubid;
44059    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
44060    int n_sysid;
44061
44062    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44063    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44064    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
44065    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
44066        mem_base = xmlMemBlocks();
44067        writer = gen_xmlTextWriterPtr(n_writer, 0);
44068        name = gen_const_xmlChar_ptr(n_name, 1);
44069        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
44070        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
44071
44072        ret_val = xmlTextWriterStartDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
44073        desret_int(ret_val);
44074        call_tests++;
44075        des_xmlTextWriterPtr(n_writer, writer, 0);
44076        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44077        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
44078        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
44079        xmlResetLastError();
44080        if (mem_base != xmlMemBlocks()) {
44081            printf("Leak of %d blocks found in xmlTextWriterStartDTD",
44082	           xmlMemBlocks() - mem_base);
44083	    test_ret++;
44084            printf(" %d", n_writer);
44085            printf(" %d", n_name);
44086            printf(" %d", n_pubid);
44087            printf(" %d", n_sysid);
44088            printf("\n");
44089        }
44090    }
44091    }
44092    }
44093    }
44094    function_tests++;
44095#endif
44096
44097    return(test_ret);
44098}
44099
44100
44101static int
44102test_xmlTextWriterStartDTDAttlist(void) {
44103    int test_ret = 0;
44104
44105#if defined(LIBXML_WRITER_ENABLED)
44106    int mem_base;
44107    int ret_val;
44108    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44109    int n_writer;
44110    xmlChar * name; /* the name of the DTD ATTLIST */
44111    int n_name;
44112
44113    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44114    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44115        mem_base = xmlMemBlocks();
44116        writer = gen_xmlTextWriterPtr(n_writer, 0);
44117        name = gen_const_xmlChar_ptr(n_name, 1);
44118
44119        ret_val = xmlTextWriterStartDTDAttlist(writer, (const xmlChar *)name);
44120        desret_int(ret_val);
44121        call_tests++;
44122        des_xmlTextWriterPtr(n_writer, writer, 0);
44123        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44124        xmlResetLastError();
44125        if (mem_base != xmlMemBlocks()) {
44126            printf("Leak of %d blocks found in xmlTextWriterStartDTDAttlist",
44127	           xmlMemBlocks() - mem_base);
44128	    test_ret++;
44129            printf(" %d", n_writer);
44130            printf(" %d", n_name);
44131            printf("\n");
44132        }
44133    }
44134    }
44135    function_tests++;
44136#endif
44137
44138    return(test_ret);
44139}
44140
44141
44142static int
44143test_xmlTextWriterStartDTDElement(void) {
44144    int test_ret = 0;
44145
44146#if defined(LIBXML_WRITER_ENABLED)
44147    int mem_base;
44148    int ret_val;
44149    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44150    int n_writer;
44151    xmlChar * name; /* the name of the DTD element */
44152    int n_name;
44153
44154    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44155    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44156        mem_base = xmlMemBlocks();
44157        writer = gen_xmlTextWriterPtr(n_writer, 0);
44158        name = gen_const_xmlChar_ptr(n_name, 1);
44159
44160        ret_val = xmlTextWriterStartDTDElement(writer, (const xmlChar *)name);
44161        desret_int(ret_val);
44162        call_tests++;
44163        des_xmlTextWriterPtr(n_writer, writer, 0);
44164        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44165        xmlResetLastError();
44166        if (mem_base != xmlMemBlocks()) {
44167            printf("Leak of %d blocks found in xmlTextWriterStartDTDElement",
44168	           xmlMemBlocks() - mem_base);
44169	    test_ret++;
44170            printf(" %d", n_writer);
44171            printf(" %d", n_name);
44172            printf("\n");
44173        }
44174    }
44175    }
44176    function_tests++;
44177#endif
44178
44179    return(test_ret);
44180}
44181
44182
44183static int
44184test_xmlTextWriterStartDTDEntity(void) {
44185    int test_ret = 0;
44186
44187#if defined(LIBXML_WRITER_ENABLED)
44188    int mem_base;
44189    int ret_val;
44190    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44191    int n_writer;
44192    int pe; /* TRUE if this is a parameter entity, FALSE if not */
44193    int n_pe;
44194    xmlChar * name; /* the name of the DTD ATTLIST */
44195    int n_name;
44196
44197    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44198    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
44199    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44200        mem_base = xmlMemBlocks();
44201        writer = gen_xmlTextWriterPtr(n_writer, 0);
44202        pe = gen_int(n_pe, 1);
44203        name = gen_const_xmlChar_ptr(n_name, 2);
44204
44205        ret_val = xmlTextWriterStartDTDEntity(writer, pe, (const xmlChar *)name);
44206        desret_int(ret_val);
44207        call_tests++;
44208        des_xmlTextWriterPtr(n_writer, writer, 0);
44209        des_int(n_pe, pe, 1);
44210        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
44211        xmlResetLastError();
44212        if (mem_base != xmlMemBlocks()) {
44213            printf("Leak of %d blocks found in xmlTextWriterStartDTDEntity",
44214	           xmlMemBlocks() - mem_base);
44215	    test_ret++;
44216            printf(" %d", n_writer);
44217            printf(" %d", n_pe);
44218            printf(" %d", n_name);
44219            printf("\n");
44220        }
44221    }
44222    }
44223    }
44224    function_tests++;
44225#endif
44226
44227    return(test_ret);
44228}
44229
44230
44231static int
44232test_xmlTextWriterStartDocument(void) {
44233    int test_ret = 0;
44234
44235#if defined(LIBXML_WRITER_ENABLED)
44236    int mem_base;
44237    int ret_val;
44238    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44239    int n_writer;
44240    char * version; /* the xml version ("1.0") or NULL for default ("1.0") */
44241    int n_version;
44242    char * encoding; /* the encoding or NULL for default */
44243    int n_encoding;
44244    char * standalone; /* "yes" or "no" or NULL for default */
44245    int n_standalone;
44246
44247    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44248    for (n_version = 0;n_version < gen_nb_const_char_ptr;n_version++) {
44249    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
44250    for (n_standalone = 0;n_standalone < gen_nb_const_char_ptr;n_standalone++) {
44251        mem_base = xmlMemBlocks();
44252        writer = gen_xmlTextWriterPtr(n_writer, 0);
44253        version = gen_const_char_ptr(n_version, 1);
44254        encoding = gen_const_char_ptr(n_encoding, 2);
44255        standalone = gen_const_char_ptr(n_standalone, 3);
44256
44257        ret_val = xmlTextWriterStartDocument(writer, (const char *)version, (const char *)encoding, (const char *)standalone);
44258        desret_int(ret_val);
44259        call_tests++;
44260        des_xmlTextWriterPtr(n_writer, writer, 0);
44261        des_const_char_ptr(n_version, (const char *)version, 1);
44262        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
44263        des_const_char_ptr(n_standalone, (const char *)standalone, 3);
44264        xmlResetLastError();
44265        if (mem_base != xmlMemBlocks()) {
44266            printf("Leak of %d blocks found in xmlTextWriterStartDocument",
44267	           xmlMemBlocks() - mem_base);
44268	    test_ret++;
44269            printf(" %d", n_writer);
44270            printf(" %d", n_version);
44271            printf(" %d", n_encoding);
44272            printf(" %d", n_standalone);
44273            printf("\n");
44274        }
44275    }
44276    }
44277    }
44278    }
44279    function_tests++;
44280#endif
44281
44282    return(test_ret);
44283}
44284
44285
44286static int
44287test_xmlTextWriterStartElement(void) {
44288    int test_ret = 0;
44289
44290#if defined(LIBXML_WRITER_ENABLED)
44291    int mem_base;
44292    int ret_val;
44293    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44294    int n_writer;
44295    xmlChar * name; /* element name */
44296    int n_name;
44297
44298    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44299    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44300        mem_base = xmlMemBlocks();
44301        writer = gen_xmlTextWriterPtr(n_writer, 0);
44302        name = gen_const_xmlChar_ptr(n_name, 1);
44303
44304        ret_val = xmlTextWriterStartElement(writer, (const xmlChar *)name);
44305        desret_int(ret_val);
44306        call_tests++;
44307        des_xmlTextWriterPtr(n_writer, writer, 0);
44308        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44309        xmlResetLastError();
44310        if (mem_base != xmlMemBlocks()) {
44311            printf("Leak of %d blocks found in xmlTextWriterStartElement",
44312	           xmlMemBlocks() - mem_base);
44313	    test_ret++;
44314            printf(" %d", n_writer);
44315            printf(" %d", n_name);
44316            printf("\n");
44317        }
44318    }
44319    }
44320    function_tests++;
44321#endif
44322
44323    return(test_ret);
44324}
44325
44326
44327static int
44328test_xmlTextWriterStartElementNS(void) {
44329    int test_ret = 0;
44330
44331#if defined(LIBXML_WRITER_ENABLED)
44332    int mem_base;
44333    int ret_val;
44334    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44335    int n_writer;
44336    xmlChar * prefix; /* namespace prefix or NULL */
44337    int n_prefix;
44338    xmlChar * name; /* element local name */
44339    int n_name;
44340    xmlChar * namespaceURI; /* namespace URI or NULL */
44341    int n_namespaceURI;
44342
44343    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44344    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
44345    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44346    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
44347        mem_base = xmlMemBlocks();
44348        writer = gen_xmlTextWriterPtr(n_writer, 0);
44349        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
44350        name = gen_const_xmlChar_ptr(n_name, 2);
44351        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
44352
44353        ret_val = xmlTextWriterStartElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
44354        desret_int(ret_val);
44355        call_tests++;
44356        des_xmlTextWriterPtr(n_writer, writer, 0);
44357        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
44358        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
44359        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
44360        xmlResetLastError();
44361        if (mem_base != xmlMemBlocks()) {
44362            printf("Leak of %d blocks found in xmlTextWriterStartElementNS",
44363	           xmlMemBlocks() - mem_base);
44364	    test_ret++;
44365            printf(" %d", n_writer);
44366            printf(" %d", n_prefix);
44367            printf(" %d", n_name);
44368            printf(" %d", n_namespaceURI);
44369            printf("\n");
44370        }
44371    }
44372    }
44373    }
44374    }
44375    function_tests++;
44376#endif
44377
44378    return(test_ret);
44379}
44380
44381
44382static int
44383test_xmlTextWriterStartPI(void) {
44384    int test_ret = 0;
44385
44386#if defined(LIBXML_WRITER_ENABLED)
44387    int mem_base;
44388    int ret_val;
44389    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44390    int n_writer;
44391    xmlChar * target; /* PI target */
44392    int n_target;
44393
44394    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44395    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
44396        mem_base = xmlMemBlocks();
44397        writer = gen_xmlTextWriterPtr(n_writer, 0);
44398        target = gen_const_xmlChar_ptr(n_target, 1);
44399
44400        ret_val = xmlTextWriterStartPI(writer, (const xmlChar *)target);
44401        desret_int(ret_val);
44402        call_tests++;
44403        des_xmlTextWriterPtr(n_writer, writer, 0);
44404        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
44405        xmlResetLastError();
44406        if (mem_base != xmlMemBlocks()) {
44407            printf("Leak of %d blocks found in xmlTextWriterStartPI",
44408	           xmlMemBlocks() - mem_base);
44409	    test_ret++;
44410            printf(" %d", n_writer);
44411            printf(" %d", n_target);
44412            printf("\n");
44413        }
44414    }
44415    }
44416    function_tests++;
44417#endif
44418
44419    return(test_ret);
44420}
44421
44422
44423static int
44424test_xmlTextWriterWriteAttribute(void) {
44425    int test_ret = 0;
44426
44427#if defined(LIBXML_WRITER_ENABLED)
44428    int mem_base;
44429    int ret_val;
44430    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44431    int n_writer;
44432    xmlChar * name; /* attribute name */
44433    int n_name;
44434    xmlChar * content; /* attribute content */
44435    int n_content;
44436
44437    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44438    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44439    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44440        mem_base = xmlMemBlocks();
44441        writer = gen_xmlTextWriterPtr(n_writer, 0);
44442        name = gen_const_xmlChar_ptr(n_name, 1);
44443        content = gen_const_xmlChar_ptr(n_content, 2);
44444
44445        ret_val = xmlTextWriterWriteAttribute(writer, (const xmlChar *)name, (const xmlChar *)content);
44446        desret_int(ret_val);
44447        call_tests++;
44448        des_xmlTextWriterPtr(n_writer, writer, 0);
44449        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44450        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
44451        xmlResetLastError();
44452        if (mem_base != xmlMemBlocks()) {
44453            printf("Leak of %d blocks found in xmlTextWriterWriteAttribute",
44454	           xmlMemBlocks() - mem_base);
44455	    test_ret++;
44456            printf(" %d", n_writer);
44457            printf(" %d", n_name);
44458            printf(" %d", n_content);
44459            printf("\n");
44460        }
44461    }
44462    }
44463    }
44464    function_tests++;
44465#endif
44466
44467    return(test_ret);
44468}
44469
44470
44471static int
44472test_xmlTextWriterWriteAttributeNS(void) {
44473    int test_ret = 0;
44474
44475#if defined(LIBXML_WRITER_ENABLED)
44476    int mem_base;
44477    int ret_val;
44478    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44479    int n_writer;
44480    xmlChar * prefix; /* namespace prefix */
44481    int n_prefix;
44482    xmlChar * name; /* attribute local name */
44483    int n_name;
44484    xmlChar * namespaceURI; /* namespace URI */
44485    int n_namespaceURI;
44486    xmlChar * content; /* attribute content */
44487    int n_content;
44488
44489    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44490    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
44491    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44492    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
44493    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44494        mem_base = xmlMemBlocks();
44495        writer = gen_xmlTextWriterPtr(n_writer, 0);
44496        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
44497        name = gen_const_xmlChar_ptr(n_name, 2);
44498        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
44499        content = gen_const_xmlChar_ptr(n_content, 4);
44500
44501        ret_val = xmlTextWriterWriteAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
44502        desret_int(ret_val);
44503        call_tests++;
44504        des_xmlTextWriterPtr(n_writer, writer, 0);
44505        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
44506        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
44507        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
44508        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
44509        xmlResetLastError();
44510        if (mem_base != xmlMemBlocks()) {
44511            printf("Leak of %d blocks found in xmlTextWriterWriteAttributeNS",
44512	           xmlMemBlocks() - mem_base);
44513	    test_ret++;
44514            printf(" %d", n_writer);
44515            printf(" %d", n_prefix);
44516            printf(" %d", n_name);
44517            printf(" %d", n_namespaceURI);
44518            printf(" %d", n_content);
44519            printf("\n");
44520        }
44521    }
44522    }
44523    }
44524    }
44525    }
44526    function_tests++;
44527#endif
44528
44529    return(test_ret);
44530}
44531
44532
44533static int
44534test_xmlTextWriterWriteBase64(void) {
44535    int test_ret = 0;
44536
44537#if defined(LIBXML_WRITER_ENABLED)
44538    int mem_base;
44539    int ret_val;
44540    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44541    int n_writer;
44542    char * data; /* binary data */
44543    int n_data;
44544    int start; /* the position within the data of the first byte to encode */
44545    int n_start;
44546    int len; /* the number of bytes to encode */
44547    int n_len;
44548
44549    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44550    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
44551    for (n_start = 0;n_start < gen_nb_int;n_start++) {
44552    for (n_len = 0;n_len < gen_nb_int;n_len++) {
44553        mem_base = xmlMemBlocks();
44554        writer = gen_xmlTextWriterPtr(n_writer, 0);
44555        data = gen_const_char_ptr(n_data, 1);
44556        start = gen_int(n_start, 2);
44557        len = gen_int(n_len, 3);
44558
44559        ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
44560        desret_int(ret_val);
44561        call_tests++;
44562        des_xmlTextWriterPtr(n_writer, writer, 0);
44563        des_const_char_ptr(n_data, (const char *)data, 1);
44564        des_int(n_start, start, 2);
44565        des_int(n_len, len, 3);
44566        xmlResetLastError();
44567        if (mem_base != xmlMemBlocks()) {
44568            printf("Leak of %d blocks found in xmlTextWriterWriteBase64",
44569	           xmlMemBlocks() - mem_base);
44570	    test_ret++;
44571            printf(" %d", n_writer);
44572            printf(" %d", n_data);
44573            printf(" %d", n_start);
44574            printf(" %d", n_len);
44575            printf("\n");
44576        }
44577    }
44578    }
44579    }
44580    }
44581    function_tests++;
44582#endif
44583
44584    return(test_ret);
44585}
44586
44587
44588static int
44589test_xmlTextWriterWriteBinHex(void) {
44590    int test_ret = 0;
44591
44592#if defined(LIBXML_WRITER_ENABLED)
44593    int mem_base;
44594    int ret_val;
44595    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44596    int n_writer;
44597    char * data; /* binary data */
44598    int n_data;
44599    int start; /* the position within the data of the first byte to encode */
44600    int n_start;
44601    int len; /* the number of bytes to encode */
44602    int n_len;
44603
44604    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44605    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
44606    for (n_start = 0;n_start < gen_nb_int;n_start++) {
44607    for (n_len = 0;n_len < gen_nb_int;n_len++) {
44608        mem_base = xmlMemBlocks();
44609        writer = gen_xmlTextWriterPtr(n_writer, 0);
44610        data = gen_const_char_ptr(n_data, 1);
44611        start = gen_int(n_start, 2);
44612        len = gen_int(n_len, 3);
44613
44614        ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
44615        desret_int(ret_val);
44616        call_tests++;
44617        des_xmlTextWriterPtr(n_writer, writer, 0);
44618        des_const_char_ptr(n_data, (const char *)data, 1);
44619        des_int(n_start, start, 2);
44620        des_int(n_len, len, 3);
44621        xmlResetLastError();
44622        if (mem_base != xmlMemBlocks()) {
44623            printf("Leak of %d blocks found in xmlTextWriterWriteBinHex",
44624	           xmlMemBlocks() - mem_base);
44625	    test_ret++;
44626            printf(" %d", n_writer);
44627            printf(" %d", n_data);
44628            printf(" %d", n_start);
44629            printf(" %d", n_len);
44630            printf("\n");
44631        }
44632    }
44633    }
44634    }
44635    }
44636    function_tests++;
44637#endif
44638
44639    return(test_ret);
44640}
44641
44642
44643static int
44644test_xmlTextWriterWriteCDATA(void) {
44645    int test_ret = 0;
44646
44647#if defined(LIBXML_WRITER_ENABLED)
44648    int mem_base;
44649    int ret_val;
44650    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44651    int n_writer;
44652    xmlChar * content; /* CDATA content */
44653    int n_content;
44654
44655    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44656    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44657        mem_base = xmlMemBlocks();
44658        writer = gen_xmlTextWriterPtr(n_writer, 0);
44659        content = gen_const_xmlChar_ptr(n_content, 1);
44660
44661        ret_val = xmlTextWriterWriteCDATA(writer, (const xmlChar *)content);
44662        desret_int(ret_val);
44663        call_tests++;
44664        des_xmlTextWriterPtr(n_writer, writer, 0);
44665        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
44666        xmlResetLastError();
44667        if (mem_base != xmlMemBlocks()) {
44668            printf("Leak of %d blocks found in xmlTextWriterWriteCDATA",
44669	           xmlMemBlocks() - mem_base);
44670	    test_ret++;
44671            printf(" %d", n_writer);
44672            printf(" %d", n_content);
44673            printf("\n");
44674        }
44675    }
44676    }
44677    function_tests++;
44678#endif
44679
44680    return(test_ret);
44681}
44682
44683
44684static int
44685test_xmlTextWriterWriteComment(void) {
44686    int test_ret = 0;
44687
44688#if defined(LIBXML_WRITER_ENABLED)
44689    int mem_base;
44690    int ret_val;
44691    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44692    int n_writer;
44693    xmlChar * content; /* comment string */
44694    int n_content;
44695
44696    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44697    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44698        mem_base = xmlMemBlocks();
44699        writer = gen_xmlTextWriterPtr(n_writer, 0);
44700        content = gen_const_xmlChar_ptr(n_content, 1);
44701
44702        ret_val = xmlTextWriterWriteComment(writer, (const xmlChar *)content);
44703        desret_int(ret_val);
44704        call_tests++;
44705        des_xmlTextWriterPtr(n_writer, writer, 0);
44706        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
44707        xmlResetLastError();
44708        if (mem_base != xmlMemBlocks()) {
44709            printf("Leak of %d blocks found in xmlTextWriterWriteComment",
44710	           xmlMemBlocks() - mem_base);
44711	    test_ret++;
44712            printf(" %d", n_writer);
44713            printf(" %d", n_content);
44714            printf("\n");
44715        }
44716    }
44717    }
44718    function_tests++;
44719#endif
44720
44721    return(test_ret);
44722}
44723
44724
44725static int
44726test_xmlTextWriterWriteDTD(void) {
44727    int test_ret = 0;
44728
44729#if defined(LIBXML_WRITER_ENABLED)
44730    int mem_base;
44731    int ret_val;
44732    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44733    int n_writer;
44734    xmlChar * name; /* the name of the DTD */
44735    int n_name;
44736    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
44737    int n_pubid;
44738    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
44739    int n_sysid;
44740    xmlChar * subset; /* string content of the DTD */
44741    int n_subset;
44742
44743    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44744    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44745    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
44746    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
44747    for (n_subset = 0;n_subset < gen_nb_const_xmlChar_ptr;n_subset++) {
44748        mem_base = xmlMemBlocks();
44749        writer = gen_xmlTextWriterPtr(n_writer, 0);
44750        name = gen_const_xmlChar_ptr(n_name, 1);
44751        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
44752        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
44753        subset = gen_const_xmlChar_ptr(n_subset, 4);
44754
44755        ret_val = xmlTextWriterWriteDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)subset);
44756        desret_int(ret_val);
44757        call_tests++;
44758        des_xmlTextWriterPtr(n_writer, writer, 0);
44759        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44760        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
44761        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
44762        des_const_xmlChar_ptr(n_subset, (const xmlChar *)subset, 4);
44763        xmlResetLastError();
44764        if (mem_base != xmlMemBlocks()) {
44765            printf("Leak of %d blocks found in xmlTextWriterWriteDTD",
44766	           xmlMemBlocks() - mem_base);
44767	    test_ret++;
44768            printf(" %d", n_writer);
44769            printf(" %d", n_name);
44770            printf(" %d", n_pubid);
44771            printf(" %d", n_sysid);
44772            printf(" %d", n_subset);
44773            printf("\n");
44774        }
44775    }
44776    }
44777    }
44778    }
44779    }
44780    function_tests++;
44781#endif
44782
44783    return(test_ret);
44784}
44785
44786
44787static int
44788test_xmlTextWriterWriteDTDAttlist(void) {
44789    int test_ret = 0;
44790
44791#if defined(LIBXML_WRITER_ENABLED)
44792    int mem_base;
44793    int ret_val;
44794    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44795    int n_writer;
44796    xmlChar * name; /* the name of the DTD ATTLIST */
44797    int n_name;
44798    xmlChar * content; /* content of the ATTLIST */
44799    int n_content;
44800
44801    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44802    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44803    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44804        mem_base = xmlMemBlocks();
44805        writer = gen_xmlTextWriterPtr(n_writer, 0);
44806        name = gen_const_xmlChar_ptr(n_name, 1);
44807        content = gen_const_xmlChar_ptr(n_content, 2);
44808
44809        ret_val = xmlTextWriterWriteDTDAttlist(writer, (const xmlChar *)name, (const xmlChar *)content);
44810        desret_int(ret_val);
44811        call_tests++;
44812        des_xmlTextWriterPtr(n_writer, writer, 0);
44813        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44814        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
44815        xmlResetLastError();
44816        if (mem_base != xmlMemBlocks()) {
44817            printf("Leak of %d blocks found in xmlTextWriterWriteDTDAttlist",
44818	           xmlMemBlocks() - mem_base);
44819	    test_ret++;
44820            printf(" %d", n_writer);
44821            printf(" %d", n_name);
44822            printf(" %d", n_content);
44823            printf("\n");
44824        }
44825    }
44826    }
44827    }
44828    function_tests++;
44829#endif
44830
44831    return(test_ret);
44832}
44833
44834
44835static int
44836test_xmlTextWriterWriteDTDElement(void) {
44837    int test_ret = 0;
44838
44839#if defined(LIBXML_WRITER_ENABLED)
44840    int mem_base;
44841    int ret_val;
44842    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44843    int n_writer;
44844    xmlChar * name; /* the name of the DTD element */
44845    int n_name;
44846    xmlChar * content; /* content of the element */
44847    int n_content;
44848
44849    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44850    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44851    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44852        mem_base = xmlMemBlocks();
44853        writer = gen_xmlTextWriterPtr(n_writer, 0);
44854        name = gen_const_xmlChar_ptr(n_name, 1);
44855        content = gen_const_xmlChar_ptr(n_content, 2);
44856
44857        ret_val = xmlTextWriterWriteDTDElement(writer, (const xmlChar *)name, (const xmlChar *)content);
44858        desret_int(ret_val);
44859        call_tests++;
44860        des_xmlTextWriterPtr(n_writer, writer, 0);
44861        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
44862        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
44863        xmlResetLastError();
44864        if (mem_base != xmlMemBlocks()) {
44865            printf("Leak of %d blocks found in xmlTextWriterWriteDTDElement",
44866	           xmlMemBlocks() - mem_base);
44867	    test_ret++;
44868            printf(" %d", n_writer);
44869            printf(" %d", n_name);
44870            printf(" %d", n_content);
44871            printf("\n");
44872        }
44873    }
44874    }
44875    }
44876    function_tests++;
44877#endif
44878
44879    return(test_ret);
44880}
44881
44882
44883static int
44884test_xmlTextWriterWriteDTDEntity(void) {
44885    int test_ret = 0;
44886
44887#if defined(LIBXML_WRITER_ENABLED)
44888    int mem_base;
44889    int ret_val;
44890    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44891    int n_writer;
44892    int pe; /* TRUE if this is a parameter entity, FALSE if not */
44893    int n_pe;
44894    xmlChar * name; /* the name of the DTD entity */
44895    int n_name;
44896    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
44897    int n_pubid;
44898    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
44899    int n_sysid;
44900    xmlChar * ndataid; /* the xml notation name. */
44901    int n_ndataid;
44902    xmlChar * content; /* content of the entity */
44903    int n_content;
44904
44905    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44906    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
44907    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44908    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
44909    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
44910    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
44911    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
44912        mem_base = xmlMemBlocks();
44913        writer = gen_xmlTextWriterPtr(n_writer, 0);
44914        pe = gen_int(n_pe, 1);
44915        name = gen_const_xmlChar_ptr(n_name, 2);
44916        pubid = gen_const_xmlChar_ptr(n_pubid, 3);
44917        sysid = gen_const_xmlChar_ptr(n_sysid, 4);
44918        ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
44919        content = gen_const_xmlChar_ptr(n_content, 6);
44920
44921        ret_val = xmlTextWriterWriteDTDEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid, (const xmlChar *)content);
44922        desret_int(ret_val);
44923        call_tests++;
44924        des_xmlTextWriterPtr(n_writer, writer, 0);
44925        des_int(n_pe, pe, 1);
44926        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
44927        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
44928        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
44929        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
44930        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 6);
44931        xmlResetLastError();
44932        if (mem_base != xmlMemBlocks()) {
44933            printf("Leak of %d blocks found in xmlTextWriterWriteDTDEntity",
44934	           xmlMemBlocks() - mem_base);
44935	    test_ret++;
44936            printf(" %d", n_writer);
44937            printf(" %d", n_pe);
44938            printf(" %d", n_name);
44939            printf(" %d", n_pubid);
44940            printf(" %d", n_sysid);
44941            printf(" %d", n_ndataid);
44942            printf(" %d", n_content);
44943            printf("\n");
44944        }
44945    }
44946    }
44947    }
44948    }
44949    }
44950    }
44951    }
44952    function_tests++;
44953#endif
44954
44955    return(test_ret);
44956}
44957
44958
44959static int
44960test_xmlTextWriterWriteDTDExternalEntity(void) {
44961    int test_ret = 0;
44962
44963#if defined(LIBXML_WRITER_ENABLED)
44964    int mem_base;
44965    int ret_val;
44966    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
44967    int n_writer;
44968    int pe; /* TRUE if this is a parameter entity, FALSE if not */
44969    int n_pe;
44970    xmlChar * name; /* the name of the DTD entity */
44971    int n_name;
44972    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
44973    int n_pubid;
44974    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
44975    int n_sysid;
44976    xmlChar * ndataid; /* the xml notation name. */
44977    int n_ndataid;
44978
44979    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
44980    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
44981    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
44982    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
44983    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
44984    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
44985        mem_base = xmlMemBlocks();
44986        writer = gen_xmlTextWriterPtr(n_writer, 0);
44987        pe = gen_int(n_pe, 1);
44988        name = gen_const_xmlChar_ptr(n_name, 2);
44989        pubid = gen_const_xmlChar_ptr(n_pubid, 3);
44990        sysid = gen_const_xmlChar_ptr(n_sysid, 4);
44991        ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
44992
44993        ret_val = xmlTextWriterWriteDTDExternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
44994        desret_int(ret_val);
44995        call_tests++;
44996        des_xmlTextWriterPtr(n_writer, writer, 0);
44997        des_int(n_pe, pe, 1);
44998        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
44999        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
45000        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
45001        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
45002        xmlResetLastError();
45003        if (mem_base != xmlMemBlocks()) {
45004            printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntity",
45005	           xmlMemBlocks() - mem_base);
45006	    test_ret++;
45007            printf(" %d", n_writer);
45008            printf(" %d", n_pe);
45009            printf(" %d", n_name);
45010            printf(" %d", n_pubid);
45011            printf(" %d", n_sysid);
45012            printf(" %d", n_ndataid);
45013            printf("\n");
45014        }
45015    }
45016    }
45017    }
45018    }
45019    }
45020    }
45021    function_tests++;
45022#endif
45023
45024    return(test_ret);
45025}
45026
45027
45028static int
45029test_xmlTextWriterWriteDTDExternalEntityContents(void) {
45030    int test_ret = 0;
45031
45032#if defined(LIBXML_WRITER_ENABLED)
45033    int mem_base;
45034    int ret_val;
45035    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45036    int n_writer;
45037    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
45038    int n_pubid;
45039    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
45040    int n_sysid;
45041    xmlChar * ndataid; /* the xml notation name. */
45042    int n_ndataid;
45043
45044    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45045    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
45046    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
45047    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
45048        mem_base = xmlMemBlocks();
45049        writer = gen_xmlTextWriterPtr(n_writer, 0);
45050        pubid = gen_const_xmlChar_ptr(n_pubid, 1);
45051        sysid = gen_const_xmlChar_ptr(n_sysid, 2);
45052        ndataid = gen_const_xmlChar_ptr(n_ndataid, 3);
45053
45054        ret_val = xmlTextWriterWriteDTDExternalEntityContents(writer, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
45055        desret_int(ret_val);
45056        call_tests++;
45057        des_xmlTextWriterPtr(n_writer, writer, 0);
45058        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 1);
45059        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 2);
45060        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 3);
45061        xmlResetLastError();
45062        if (mem_base != xmlMemBlocks()) {
45063            printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntityContents",
45064	           xmlMemBlocks() - mem_base);
45065	    test_ret++;
45066            printf(" %d", n_writer);
45067            printf(" %d", n_pubid);
45068            printf(" %d", n_sysid);
45069            printf(" %d", n_ndataid);
45070            printf("\n");
45071        }
45072    }
45073    }
45074    }
45075    }
45076    function_tests++;
45077#endif
45078
45079    return(test_ret);
45080}
45081
45082
45083static int
45084test_xmlTextWriterWriteDTDInternalEntity(void) {
45085    int test_ret = 0;
45086
45087#if defined(LIBXML_WRITER_ENABLED)
45088    int mem_base;
45089    int ret_val;
45090    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45091    int n_writer;
45092    int pe; /* TRUE if this is a parameter entity, FALSE if not */
45093    int n_pe;
45094    xmlChar * name; /* the name of the DTD entity */
45095    int n_name;
45096    xmlChar * content; /* content of the entity */
45097    int n_content;
45098
45099    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45100    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
45101    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
45102    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45103        mem_base = xmlMemBlocks();
45104        writer = gen_xmlTextWriterPtr(n_writer, 0);
45105        pe = gen_int(n_pe, 1);
45106        name = gen_const_xmlChar_ptr(n_name, 2);
45107        content = gen_const_xmlChar_ptr(n_content, 3);
45108
45109        ret_val = xmlTextWriterWriteDTDInternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)content);
45110        desret_int(ret_val);
45111        call_tests++;
45112        des_xmlTextWriterPtr(n_writer, writer, 0);
45113        des_int(n_pe, pe, 1);
45114        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
45115        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
45116        xmlResetLastError();
45117        if (mem_base != xmlMemBlocks()) {
45118            printf("Leak of %d blocks found in xmlTextWriterWriteDTDInternalEntity",
45119	           xmlMemBlocks() - mem_base);
45120	    test_ret++;
45121            printf(" %d", n_writer);
45122            printf(" %d", n_pe);
45123            printf(" %d", n_name);
45124            printf(" %d", n_content);
45125            printf("\n");
45126        }
45127    }
45128    }
45129    }
45130    }
45131    function_tests++;
45132#endif
45133
45134    return(test_ret);
45135}
45136
45137
45138static int
45139test_xmlTextWriterWriteDTDNotation(void) {
45140    int test_ret = 0;
45141
45142#if defined(LIBXML_WRITER_ENABLED)
45143    int mem_base;
45144    int ret_val;
45145    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45146    int n_writer;
45147    xmlChar * name; /* the name of the xml notation */
45148    int n_name;
45149    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
45150    int n_pubid;
45151    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
45152    int n_sysid;
45153
45154    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45155    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
45156    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
45157    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
45158        mem_base = xmlMemBlocks();
45159        writer = gen_xmlTextWriterPtr(n_writer, 0);
45160        name = gen_const_xmlChar_ptr(n_name, 1);
45161        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
45162        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
45163
45164        ret_val = xmlTextWriterWriteDTDNotation(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
45165        desret_int(ret_val);
45166        call_tests++;
45167        des_xmlTextWriterPtr(n_writer, writer, 0);
45168        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
45169        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
45170        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
45171        xmlResetLastError();
45172        if (mem_base != xmlMemBlocks()) {
45173            printf("Leak of %d blocks found in xmlTextWriterWriteDTDNotation",
45174	           xmlMemBlocks() - mem_base);
45175	    test_ret++;
45176            printf(" %d", n_writer);
45177            printf(" %d", n_name);
45178            printf(" %d", n_pubid);
45179            printf(" %d", n_sysid);
45180            printf("\n");
45181        }
45182    }
45183    }
45184    }
45185    }
45186    function_tests++;
45187#endif
45188
45189    return(test_ret);
45190}
45191
45192
45193static int
45194test_xmlTextWriterWriteElement(void) {
45195    int test_ret = 0;
45196
45197#if defined(LIBXML_WRITER_ENABLED)
45198    int mem_base;
45199    int ret_val;
45200    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45201    int n_writer;
45202    xmlChar * name; /* element name */
45203    int n_name;
45204    xmlChar * content; /* element content */
45205    int n_content;
45206
45207    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45208    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
45209    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45210        mem_base = xmlMemBlocks();
45211        writer = gen_xmlTextWriterPtr(n_writer, 0);
45212        name = gen_const_xmlChar_ptr(n_name, 1);
45213        content = gen_const_xmlChar_ptr(n_content, 2);
45214
45215        ret_val = xmlTextWriterWriteElement(writer, (const xmlChar *)name, (const xmlChar *)content);
45216        desret_int(ret_val);
45217        call_tests++;
45218        des_xmlTextWriterPtr(n_writer, writer, 0);
45219        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
45220        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
45221        xmlResetLastError();
45222        if (mem_base != xmlMemBlocks()) {
45223            printf("Leak of %d blocks found in xmlTextWriterWriteElement",
45224	           xmlMemBlocks() - mem_base);
45225	    test_ret++;
45226            printf(" %d", n_writer);
45227            printf(" %d", n_name);
45228            printf(" %d", n_content);
45229            printf("\n");
45230        }
45231    }
45232    }
45233    }
45234    function_tests++;
45235#endif
45236
45237    return(test_ret);
45238}
45239
45240
45241static int
45242test_xmlTextWriterWriteElementNS(void) {
45243    int test_ret = 0;
45244
45245#if defined(LIBXML_WRITER_ENABLED)
45246    int mem_base;
45247    int ret_val;
45248    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45249    int n_writer;
45250    xmlChar * prefix; /* namespace prefix */
45251    int n_prefix;
45252    xmlChar * name; /* element local name */
45253    int n_name;
45254    xmlChar * namespaceURI; /* namespace URI */
45255    int n_namespaceURI;
45256    xmlChar * content; /* element content */
45257    int n_content;
45258
45259    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45260    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
45261    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
45262    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
45263    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45264        mem_base = xmlMemBlocks();
45265        writer = gen_xmlTextWriterPtr(n_writer, 0);
45266        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
45267        name = gen_const_xmlChar_ptr(n_name, 2);
45268        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
45269        content = gen_const_xmlChar_ptr(n_content, 4);
45270
45271        ret_val = xmlTextWriterWriteElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
45272        desret_int(ret_val);
45273        call_tests++;
45274        des_xmlTextWriterPtr(n_writer, writer, 0);
45275        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
45276        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
45277        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
45278        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
45279        xmlResetLastError();
45280        if (mem_base != xmlMemBlocks()) {
45281            printf("Leak of %d blocks found in xmlTextWriterWriteElementNS",
45282	           xmlMemBlocks() - mem_base);
45283	    test_ret++;
45284            printf(" %d", n_writer);
45285            printf(" %d", n_prefix);
45286            printf(" %d", n_name);
45287            printf(" %d", n_namespaceURI);
45288            printf(" %d", n_content);
45289            printf("\n");
45290        }
45291    }
45292    }
45293    }
45294    }
45295    }
45296    function_tests++;
45297#endif
45298
45299    return(test_ret);
45300}
45301
45302
45303static int
45304test_xmlTextWriterWriteFormatAttribute(void) {
45305    int test_ret = 0;
45306
45307
45308    /* missing type support */
45309    return(test_ret);
45310}
45311
45312
45313static int
45314test_xmlTextWriterWriteFormatAttributeNS(void) {
45315    int test_ret = 0;
45316
45317
45318    /* missing type support */
45319    return(test_ret);
45320}
45321
45322
45323static int
45324test_xmlTextWriterWriteFormatCDATA(void) {
45325    int test_ret = 0;
45326
45327
45328    /* missing type support */
45329    return(test_ret);
45330}
45331
45332
45333static int
45334test_xmlTextWriterWriteFormatComment(void) {
45335    int test_ret = 0;
45336
45337
45338    /* missing type support */
45339    return(test_ret);
45340}
45341
45342
45343static int
45344test_xmlTextWriterWriteFormatDTD(void) {
45345    int test_ret = 0;
45346
45347
45348    /* missing type support */
45349    return(test_ret);
45350}
45351
45352
45353static int
45354test_xmlTextWriterWriteFormatDTDAttlist(void) {
45355    int test_ret = 0;
45356
45357
45358    /* missing type support */
45359    return(test_ret);
45360}
45361
45362
45363static int
45364test_xmlTextWriterWriteFormatDTDElement(void) {
45365    int test_ret = 0;
45366
45367
45368    /* missing type support */
45369    return(test_ret);
45370}
45371
45372
45373static int
45374test_xmlTextWriterWriteFormatDTDInternalEntity(void) {
45375    int test_ret = 0;
45376
45377
45378    /* missing type support */
45379    return(test_ret);
45380}
45381
45382
45383static int
45384test_xmlTextWriterWriteFormatElement(void) {
45385    int test_ret = 0;
45386
45387
45388    /* missing type support */
45389    return(test_ret);
45390}
45391
45392
45393static int
45394test_xmlTextWriterWriteFormatElementNS(void) {
45395    int test_ret = 0;
45396
45397
45398    /* missing type support */
45399    return(test_ret);
45400}
45401
45402
45403static int
45404test_xmlTextWriterWriteFormatPI(void) {
45405    int test_ret = 0;
45406
45407
45408    /* missing type support */
45409    return(test_ret);
45410}
45411
45412
45413static int
45414test_xmlTextWriterWriteFormatRaw(void) {
45415    int test_ret = 0;
45416
45417
45418    /* missing type support */
45419    return(test_ret);
45420}
45421
45422
45423static int
45424test_xmlTextWriterWriteFormatString(void) {
45425    int test_ret = 0;
45426
45427
45428    /* missing type support */
45429    return(test_ret);
45430}
45431
45432
45433static int
45434test_xmlTextWriterWritePI(void) {
45435    int test_ret = 0;
45436
45437#if defined(LIBXML_WRITER_ENABLED)
45438    int mem_base;
45439    int ret_val;
45440    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45441    int n_writer;
45442    xmlChar * target; /* PI target */
45443    int n_target;
45444    xmlChar * content; /* PI content */
45445    int n_content;
45446
45447    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45448    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
45449    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45450        mem_base = xmlMemBlocks();
45451        writer = gen_xmlTextWriterPtr(n_writer, 0);
45452        target = gen_const_xmlChar_ptr(n_target, 1);
45453        content = gen_const_xmlChar_ptr(n_content, 2);
45454
45455        ret_val = xmlTextWriterWritePI(writer, (const xmlChar *)target, (const xmlChar *)content);
45456        desret_int(ret_val);
45457        call_tests++;
45458        des_xmlTextWriterPtr(n_writer, writer, 0);
45459        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
45460        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
45461        xmlResetLastError();
45462        if (mem_base != xmlMemBlocks()) {
45463            printf("Leak of %d blocks found in xmlTextWriterWritePI",
45464	           xmlMemBlocks() - mem_base);
45465	    test_ret++;
45466            printf(" %d", n_writer);
45467            printf(" %d", n_target);
45468            printf(" %d", n_content);
45469            printf("\n");
45470        }
45471    }
45472    }
45473    }
45474    function_tests++;
45475#endif
45476
45477    return(test_ret);
45478}
45479
45480
45481static int
45482test_xmlTextWriterWriteRaw(void) {
45483    int test_ret = 0;
45484
45485#if defined(LIBXML_WRITER_ENABLED)
45486    int mem_base;
45487    int ret_val;
45488    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45489    int n_writer;
45490    xmlChar * content; /* text string */
45491    int n_content;
45492
45493    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45494    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45495        mem_base = xmlMemBlocks();
45496        writer = gen_xmlTextWriterPtr(n_writer, 0);
45497        content = gen_const_xmlChar_ptr(n_content, 1);
45498
45499        ret_val = xmlTextWriterWriteRaw(writer, (const xmlChar *)content);
45500        desret_int(ret_val);
45501        call_tests++;
45502        des_xmlTextWriterPtr(n_writer, writer, 0);
45503        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
45504        xmlResetLastError();
45505        if (mem_base != xmlMemBlocks()) {
45506            printf("Leak of %d blocks found in xmlTextWriterWriteRaw",
45507	           xmlMemBlocks() - mem_base);
45508	    test_ret++;
45509            printf(" %d", n_writer);
45510            printf(" %d", n_content);
45511            printf("\n");
45512        }
45513    }
45514    }
45515    function_tests++;
45516#endif
45517
45518    return(test_ret);
45519}
45520
45521
45522static int
45523test_xmlTextWriterWriteRawLen(void) {
45524    int test_ret = 0;
45525
45526#if defined(LIBXML_WRITER_ENABLED)
45527    int mem_base;
45528    int ret_val;
45529    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45530    int n_writer;
45531    xmlChar * content; /* text string */
45532    int n_content;
45533    int len; /* length of the text string */
45534    int n_len;
45535
45536    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45537    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45538    for (n_len = 0;n_len < gen_nb_int;n_len++) {
45539        mem_base = xmlMemBlocks();
45540        writer = gen_xmlTextWriterPtr(n_writer, 0);
45541        content = gen_const_xmlChar_ptr(n_content, 1);
45542        len = gen_int(n_len, 2);
45543
45544        ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
45545        desret_int(ret_val);
45546        call_tests++;
45547        des_xmlTextWriterPtr(n_writer, writer, 0);
45548        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
45549        des_int(n_len, len, 2);
45550        xmlResetLastError();
45551        if (mem_base != xmlMemBlocks()) {
45552            printf("Leak of %d blocks found in xmlTextWriterWriteRawLen",
45553	           xmlMemBlocks() - mem_base);
45554	    test_ret++;
45555            printf(" %d", n_writer);
45556            printf(" %d", n_content);
45557            printf(" %d", n_len);
45558            printf("\n");
45559        }
45560    }
45561    }
45562    }
45563    function_tests++;
45564#endif
45565
45566    return(test_ret);
45567}
45568
45569
45570static int
45571test_xmlTextWriterWriteString(void) {
45572    int test_ret = 0;
45573
45574#if defined(LIBXML_WRITER_ENABLED)
45575    int mem_base;
45576    int ret_val;
45577    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
45578    int n_writer;
45579    xmlChar * content; /* text string */
45580    int n_content;
45581
45582    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
45583    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
45584        mem_base = xmlMemBlocks();
45585        writer = gen_xmlTextWriterPtr(n_writer, 0);
45586        content = gen_const_xmlChar_ptr(n_content, 1);
45587
45588        ret_val = xmlTextWriterWriteString(writer, (const xmlChar *)content);
45589        desret_int(ret_val);
45590        call_tests++;
45591        des_xmlTextWriterPtr(n_writer, writer, 0);
45592        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
45593        xmlResetLastError();
45594        if (mem_base != xmlMemBlocks()) {
45595            printf("Leak of %d blocks found in xmlTextWriterWriteString",
45596	           xmlMemBlocks() - mem_base);
45597	    test_ret++;
45598            printf(" %d", n_writer);
45599            printf(" %d", n_content);
45600            printf("\n");
45601        }
45602    }
45603    }
45604    function_tests++;
45605#endif
45606
45607    return(test_ret);
45608}
45609
45610
45611static int
45612test_xmlTextWriterWriteVFormatAttribute(void) {
45613    int test_ret = 0;
45614
45615
45616    /* missing type support */
45617    return(test_ret);
45618}
45619
45620
45621static int
45622test_xmlTextWriterWriteVFormatAttributeNS(void) {
45623    int test_ret = 0;
45624
45625
45626    /* missing type support */
45627    return(test_ret);
45628}
45629
45630
45631static int
45632test_xmlTextWriterWriteVFormatCDATA(void) {
45633    int test_ret = 0;
45634
45635
45636    /* missing type support */
45637    return(test_ret);
45638}
45639
45640
45641static int
45642test_xmlTextWriterWriteVFormatComment(void) {
45643    int test_ret = 0;
45644
45645
45646    /* missing type support */
45647    return(test_ret);
45648}
45649
45650
45651static int
45652test_xmlTextWriterWriteVFormatDTD(void) {
45653    int test_ret = 0;
45654
45655
45656    /* missing type support */
45657    return(test_ret);
45658}
45659
45660
45661static int
45662test_xmlTextWriterWriteVFormatDTDAttlist(void) {
45663    int test_ret = 0;
45664
45665
45666    /* missing type support */
45667    return(test_ret);
45668}
45669
45670
45671static int
45672test_xmlTextWriterWriteVFormatDTDElement(void) {
45673    int test_ret = 0;
45674
45675
45676    /* missing type support */
45677    return(test_ret);
45678}
45679
45680
45681static int
45682test_xmlTextWriterWriteVFormatDTDInternalEntity(void) {
45683    int test_ret = 0;
45684
45685
45686    /* missing type support */
45687    return(test_ret);
45688}
45689
45690
45691static int
45692test_xmlTextWriterWriteVFormatElement(void) {
45693    int test_ret = 0;
45694
45695
45696    /* missing type support */
45697    return(test_ret);
45698}
45699
45700
45701static int
45702test_xmlTextWriterWriteVFormatElementNS(void) {
45703    int test_ret = 0;
45704
45705
45706    /* missing type support */
45707    return(test_ret);
45708}
45709
45710
45711static int
45712test_xmlTextWriterWriteVFormatPI(void) {
45713    int test_ret = 0;
45714
45715
45716    /* missing type support */
45717    return(test_ret);
45718}
45719
45720
45721static int
45722test_xmlTextWriterWriteVFormatRaw(void) {
45723    int test_ret = 0;
45724
45725
45726    /* missing type support */
45727    return(test_ret);
45728}
45729
45730
45731static int
45732test_xmlTextWriterWriteVFormatString(void) {
45733    int test_ret = 0;
45734
45735
45736    /* missing type support */
45737    return(test_ret);
45738}
45739
45740static int
45741test_xmlwriter(void) {
45742    int test_ret = 0;
45743
45744    if (quiet == 0) printf("Testing xmlwriter : 52 of 80 functions ...\n");
45745    test_ret += test_xmlNewTextWriter();
45746    test_ret += test_xmlNewTextWriterFilename();
45747    test_ret += test_xmlNewTextWriterMemory();
45748    test_ret += test_xmlNewTextWriterPushParser();
45749    test_ret += test_xmlNewTextWriterTree();
45750    test_ret += test_xmlTextWriterEndAttribute();
45751    test_ret += test_xmlTextWriterEndCDATA();
45752    test_ret += test_xmlTextWriterEndComment();
45753    test_ret += test_xmlTextWriterEndDTD();
45754    test_ret += test_xmlTextWriterEndDTDAttlist();
45755    test_ret += test_xmlTextWriterEndDTDElement();
45756    test_ret += test_xmlTextWriterEndDTDEntity();
45757    test_ret += test_xmlTextWriterEndDocument();
45758    test_ret += test_xmlTextWriterEndElement();
45759    test_ret += test_xmlTextWriterEndPI();
45760    test_ret += test_xmlTextWriterFlush();
45761    test_ret += test_xmlTextWriterFullEndElement();
45762    test_ret += test_xmlTextWriterSetIndent();
45763    test_ret += test_xmlTextWriterSetIndentString();
45764    test_ret += test_xmlTextWriterSetQuoteChar();
45765    test_ret += test_xmlTextWriterStartAttribute();
45766    test_ret += test_xmlTextWriterStartAttributeNS();
45767    test_ret += test_xmlTextWriterStartCDATA();
45768    test_ret += test_xmlTextWriterStartComment();
45769    test_ret += test_xmlTextWriterStartDTD();
45770    test_ret += test_xmlTextWriterStartDTDAttlist();
45771    test_ret += test_xmlTextWriterStartDTDElement();
45772    test_ret += test_xmlTextWriterStartDTDEntity();
45773    test_ret += test_xmlTextWriterStartDocument();
45774    test_ret += test_xmlTextWriterStartElement();
45775    test_ret += test_xmlTextWriterStartElementNS();
45776    test_ret += test_xmlTextWriterStartPI();
45777    test_ret += test_xmlTextWriterWriteAttribute();
45778    test_ret += test_xmlTextWriterWriteAttributeNS();
45779    test_ret += test_xmlTextWriterWriteBase64();
45780    test_ret += test_xmlTextWriterWriteBinHex();
45781    test_ret += test_xmlTextWriterWriteCDATA();
45782    test_ret += test_xmlTextWriterWriteComment();
45783    test_ret += test_xmlTextWriterWriteDTD();
45784    test_ret += test_xmlTextWriterWriteDTDAttlist();
45785    test_ret += test_xmlTextWriterWriteDTDElement();
45786    test_ret += test_xmlTextWriterWriteDTDEntity();
45787    test_ret += test_xmlTextWriterWriteDTDExternalEntity();
45788    test_ret += test_xmlTextWriterWriteDTDExternalEntityContents();
45789    test_ret += test_xmlTextWriterWriteDTDInternalEntity();
45790    test_ret += test_xmlTextWriterWriteDTDNotation();
45791    test_ret += test_xmlTextWriterWriteElement();
45792    test_ret += test_xmlTextWriterWriteElementNS();
45793    test_ret += test_xmlTextWriterWriteFormatAttribute();
45794    test_ret += test_xmlTextWriterWriteFormatAttributeNS();
45795    test_ret += test_xmlTextWriterWriteFormatCDATA();
45796    test_ret += test_xmlTextWriterWriteFormatComment();
45797    test_ret += test_xmlTextWriterWriteFormatDTD();
45798    test_ret += test_xmlTextWriterWriteFormatDTDAttlist();
45799    test_ret += test_xmlTextWriterWriteFormatDTDElement();
45800    test_ret += test_xmlTextWriterWriteFormatDTDInternalEntity();
45801    test_ret += test_xmlTextWriterWriteFormatElement();
45802    test_ret += test_xmlTextWriterWriteFormatElementNS();
45803    test_ret += test_xmlTextWriterWriteFormatPI();
45804    test_ret += test_xmlTextWriterWriteFormatRaw();
45805    test_ret += test_xmlTextWriterWriteFormatString();
45806    test_ret += test_xmlTextWriterWritePI();
45807    test_ret += test_xmlTextWriterWriteRaw();
45808    test_ret += test_xmlTextWriterWriteRawLen();
45809    test_ret += test_xmlTextWriterWriteString();
45810    test_ret += test_xmlTextWriterWriteVFormatAttribute();
45811    test_ret += test_xmlTextWriterWriteVFormatAttributeNS();
45812    test_ret += test_xmlTextWriterWriteVFormatCDATA();
45813    test_ret += test_xmlTextWriterWriteVFormatComment();
45814    test_ret += test_xmlTextWriterWriteVFormatDTD();
45815    test_ret += test_xmlTextWriterWriteVFormatDTDAttlist();
45816    test_ret += test_xmlTextWriterWriteVFormatDTDElement();
45817    test_ret += test_xmlTextWriterWriteVFormatDTDInternalEntity();
45818    test_ret += test_xmlTextWriterWriteVFormatElement();
45819    test_ret += test_xmlTextWriterWriteVFormatElementNS();
45820    test_ret += test_xmlTextWriterWriteVFormatPI();
45821    test_ret += test_xmlTextWriterWriteVFormatRaw();
45822    test_ret += test_xmlTextWriterWriteVFormatString();
45823
45824    if (test_ret != 0)
45825	printf("Module xmlwriter: %d errors\n", test_ret);
45826    return(test_ret);
45827}
45828
45829static int
45830test_xmlXPathCastBooleanToNumber(void) {
45831    int test_ret = 0;
45832
45833#if defined(LIBXML_XPATH_ENABLED)
45834    int mem_base;
45835    double ret_val;
45836    int val; /* a boolean */
45837    int n_val;
45838
45839    for (n_val = 0;n_val < gen_nb_int;n_val++) {
45840        mem_base = xmlMemBlocks();
45841        val = gen_int(n_val, 0);
45842
45843        ret_val = xmlXPathCastBooleanToNumber(val);
45844        desret_double(ret_val);
45845        call_tests++;
45846        des_int(n_val, val, 0);
45847        xmlResetLastError();
45848        if (mem_base != xmlMemBlocks()) {
45849            printf("Leak of %d blocks found in xmlXPathCastBooleanToNumber",
45850	           xmlMemBlocks() - mem_base);
45851	    test_ret++;
45852            printf(" %d", n_val);
45853            printf("\n");
45854        }
45855    }
45856    function_tests++;
45857#endif
45858
45859    return(test_ret);
45860}
45861
45862
45863static int
45864test_xmlXPathCastBooleanToString(void) {
45865    int test_ret = 0;
45866
45867#if defined(LIBXML_XPATH_ENABLED)
45868    int mem_base;
45869    xmlChar * ret_val;
45870    int val; /* a boolean */
45871    int n_val;
45872
45873    for (n_val = 0;n_val < gen_nb_int;n_val++) {
45874        mem_base = xmlMemBlocks();
45875        val = gen_int(n_val, 0);
45876
45877        ret_val = xmlXPathCastBooleanToString(val);
45878        desret_xmlChar_ptr(ret_val);
45879        call_tests++;
45880        des_int(n_val, val, 0);
45881        xmlResetLastError();
45882        if (mem_base != xmlMemBlocks()) {
45883            printf("Leak of %d blocks found in xmlXPathCastBooleanToString",
45884	           xmlMemBlocks() - mem_base);
45885	    test_ret++;
45886            printf(" %d", n_val);
45887            printf("\n");
45888        }
45889    }
45890    function_tests++;
45891#endif
45892
45893    return(test_ret);
45894}
45895
45896
45897static int
45898test_xmlXPathCastNodeSetToBoolean(void) {
45899    int test_ret = 0;
45900
45901#if defined(LIBXML_XPATH_ENABLED)
45902    int mem_base;
45903    int ret_val;
45904    xmlNodeSetPtr ns; /* a node-set */
45905    int n_ns;
45906
45907    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
45908        mem_base = xmlMemBlocks();
45909        ns = gen_xmlNodeSetPtr(n_ns, 0);
45910
45911        ret_val = xmlXPathCastNodeSetToBoolean(ns);
45912        desret_int(ret_val);
45913        call_tests++;
45914        des_xmlNodeSetPtr(n_ns, ns, 0);
45915        xmlResetLastError();
45916        if (mem_base != xmlMemBlocks()) {
45917            printf("Leak of %d blocks found in xmlXPathCastNodeSetToBoolean",
45918	           xmlMemBlocks() - mem_base);
45919	    test_ret++;
45920            printf(" %d", n_ns);
45921            printf("\n");
45922        }
45923    }
45924    function_tests++;
45925#endif
45926
45927    return(test_ret);
45928}
45929
45930
45931static int
45932test_xmlXPathCastNodeSetToNumber(void) {
45933    int test_ret = 0;
45934
45935#if defined(LIBXML_XPATH_ENABLED)
45936    int mem_base;
45937    double ret_val;
45938    xmlNodeSetPtr ns; /* a node-set */
45939    int n_ns;
45940
45941    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
45942        mem_base = xmlMemBlocks();
45943        ns = gen_xmlNodeSetPtr(n_ns, 0);
45944
45945        ret_val = xmlXPathCastNodeSetToNumber(ns);
45946        desret_double(ret_val);
45947        call_tests++;
45948        des_xmlNodeSetPtr(n_ns, ns, 0);
45949        xmlResetLastError();
45950        if (mem_base != xmlMemBlocks()) {
45951            printf("Leak of %d blocks found in xmlXPathCastNodeSetToNumber",
45952	           xmlMemBlocks() - mem_base);
45953	    test_ret++;
45954            printf(" %d", n_ns);
45955            printf("\n");
45956        }
45957    }
45958    function_tests++;
45959#endif
45960
45961    return(test_ret);
45962}
45963
45964
45965static int
45966test_xmlXPathCastNodeSetToString(void) {
45967    int test_ret = 0;
45968
45969#if defined(LIBXML_XPATH_ENABLED)
45970    int mem_base;
45971    xmlChar * ret_val;
45972    xmlNodeSetPtr ns; /* a node-set */
45973    int n_ns;
45974
45975    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
45976        mem_base = xmlMemBlocks();
45977        ns = gen_xmlNodeSetPtr(n_ns, 0);
45978
45979        ret_val = xmlXPathCastNodeSetToString(ns);
45980        desret_xmlChar_ptr(ret_val);
45981        call_tests++;
45982        des_xmlNodeSetPtr(n_ns, ns, 0);
45983        xmlResetLastError();
45984        if (mem_base != xmlMemBlocks()) {
45985            printf("Leak of %d blocks found in xmlXPathCastNodeSetToString",
45986	           xmlMemBlocks() - mem_base);
45987	    test_ret++;
45988            printf(" %d", n_ns);
45989            printf("\n");
45990        }
45991    }
45992    function_tests++;
45993#endif
45994
45995    return(test_ret);
45996}
45997
45998
45999static int
46000test_xmlXPathCastNodeToNumber(void) {
46001    int test_ret = 0;
46002
46003#if defined(LIBXML_XPATH_ENABLED)
46004    int mem_base;
46005    double ret_val;
46006    xmlNodePtr node; /* a node */
46007    int n_node;
46008
46009    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
46010        mem_base = xmlMemBlocks();
46011        node = gen_xmlNodePtr(n_node, 0);
46012
46013        ret_val = xmlXPathCastNodeToNumber(node);
46014        desret_double(ret_val);
46015        call_tests++;
46016        des_xmlNodePtr(n_node, node, 0);
46017        xmlResetLastError();
46018        if (mem_base != xmlMemBlocks()) {
46019            printf("Leak of %d blocks found in xmlXPathCastNodeToNumber",
46020	           xmlMemBlocks() - mem_base);
46021	    test_ret++;
46022            printf(" %d", n_node);
46023            printf("\n");
46024        }
46025    }
46026    function_tests++;
46027#endif
46028
46029    return(test_ret);
46030}
46031
46032
46033static int
46034test_xmlXPathCastNodeToString(void) {
46035    int test_ret = 0;
46036
46037#if defined(LIBXML_XPATH_ENABLED)
46038    int mem_base;
46039    xmlChar * ret_val;
46040    xmlNodePtr node; /* a node */
46041    int n_node;
46042
46043    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
46044        mem_base = xmlMemBlocks();
46045        node = gen_xmlNodePtr(n_node, 0);
46046
46047        ret_val = xmlXPathCastNodeToString(node);
46048        desret_xmlChar_ptr(ret_val);
46049        call_tests++;
46050        des_xmlNodePtr(n_node, node, 0);
46051        xmlResetLastError();
46052        if (mem_base != xmlMemBlocks()) {
46053            printf("Leak of %d blocks found in xmlXPathCastNodeToString",
46054	           xmlMemBlocks() - mem_base);
46055	    test_ret++;
46056            printf(" %d", n_node);
46057            printf("\n");
46058        }
46059    }
46060    function_tests++;
46061#endif
46062
46063    return(test_ret);
46064}
46065
46066
46067static int
46068test_xmlXPathCastNumberToBoolean(void) {
46069    int test_ret = 0;
46070
46071#if defined(LIBXML_XPATH_ENABLED)
46072    int mem_base;
46073    int ret_val;
46074    double val; /* a number */
46075    int n_val;
46076
46077    for (n_val = 0;n_val < gen_nb_double;n_val++) {
46078        mem_base = xmlMemBlocks();
46079        val = gen_double(n_val, 0);
46080
46081        ret_val = xmlXPathCastNumberToBoolean(val);
46082        desret_int(ret_val);
46083        call_tests++;
46084        des_double(n_val, val, 0);
46085        xmlResetLastError();
46086        if (mem_base != xmlMemBlocks()) {
46087            printf("Leak of %d blocks found in xmlXPathCastNumberToBoolean",
46088	           xmlMemBlocks() - mem_base);
46089	    test_ret++;
46090            printf(" %d", n_val);
46091            printf("\n");
46092        }
46093    }
46094    function_tests++;
46095#endif
46096
46097    return(test_ret);
46098}
46099
46100
46101static int
46102test_xmlXPathCastNumberToString(void) {
46103    int test_ret = 0;
46104
46105#if defined(LIBXML_XPATH_ENABLED)
46106    int mem_base;
46107    xmlChar * ret_val;
46108    double val; /* a number */
46109    int n_val;
46110
46111    for (n_val = 0;n_val < gen_nb_double;n_val++) {
46112        mem_base = xmlMemBlocks();
46113        val = gen_double(n_val, 0);
46114
46115        ret_val = xmlXPathCastNumberToString(val);
46116        desret_xmlChar_ptr(ret_val);
46117        call_tests++;
46118        des_double(n_val, val, 0);
46119        xmlResetLastError();
46120        if (mem_base != xmlMemBlocks()) {
46121            printf("Leak of %d blocks found in xmlXPathCastNumberToString",
46122	           xmlMemBlocks() - mem_base);
46123	    test_ret++;
46124            printf(" %d", n_val);
46125            printf("\n");
46126        }
46127    }
46128    function_tests++;
46129#endif
46130
46131    return(test_ret);
46132}
46133
46134
46135static int
46136test_xmlXPathCastStringToBoolean(void) {
46137    int test_ret = 0;
46138
46139#if defined(LIBXML_XPATH_ENABLED)
46140    int mem_base;
46141    int ret_val;
46142    xmlChar * val; /* a string */
46143    int n_val;
46144
46145    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
46146        mem_base = xmlMemBlocks();
46147        val = gen_const_xmlChar_ptr(n_val, 0);
46148
46149        ret_val = xmlXPathCastStringToBoolean((const xmlChar *)val);
46150        desret_int(ret_val);
46151        call_tests++;
46152        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
46153        xmlResetLastError();
46154        if (mem_base != xmlMemBlocks()) {
46155            printf("Leak of %d blocks found in xmlXPathCastStringToBoolean",
46156	           xmlMemBlocks() - mem_base);
46157	    test_ret++;
46158            printf(" %d", n_val);
46159            printf("\n");
46160        }
46161    }
46162    function_tests++;
46163#endif
46164
46165    return(test_ret);
46166}
46167
46168
46169static int
46170test_xmlXPathCastStringToNumber(void) {
46171    int test_ret = 0;
46172
46173#if defined(LIBXML_XPATH_ENABLED)
46174    int mem_base;
46175    double ret_val;
46176    xmlChar * val; /* a string */
46177    int n_val;
46178
46179    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
46180        mem_base = xmlMemBlocks();
46181        val = gen_const_xmlChar_ptr(n_val, 0);
46182
46183        ret_val = xmlXPathCastStringToNumber((const xmlChar *)val);
46184        desret_double(ret_val);
46185        call_tests++;
46186        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
46187        xmlResetLastError();
46188        if (mem_base != xmlMemBlocks()) {
46189            printf("Leak of %d blocks found in xmlXPathCastStringToNumber",
46190	           xmlMemBlocks() - mem_base);
46191	    test_ret++;
46192            printf(" %d", n_val);
46193            printf("\n");
46194        }
46195    }
46196    function_tests++;
46197#endif
46198
46199    return(test_ret);
46200}
46201
46202
46203static int
46204test_xmlXPathCastToBoolean(void) {
46205    int test_ret = 0;
46206
46207#if defined(LIBXML_XPATH_ENABLED)
46208    int mem_base;
46209    int ret_val;
46210    xmlXPathObjectPtr val; /* an XPath object */
46211    int n_val;
46212
46213    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46214        mem_base = xmlMemBlocks();
46215        val = gen_xmlXPathObjectPtr(n_val, 0);
46216
46217        ret_val = xmlXPathCastToBoolean(val);
46218        desret_int(ret_val);
46219        call_tests++;
46220        des_xmlXPathObjectPtr(n_val, val, 0);
46221        xmlResetLastError();
46222        if (mem_base != xmlMemBlocks()) {
46223            printf("Leak of %d blocks found in xmlXPathCastToBoolean",
46224	           xmlMemBlocks() - mem_base);
46225	    test_ret++;
46226            printf(" %d", n_val);
46227            printf("\n");
46228        }
46229    }
46230    function_tests++;
46231#endif
46232
46233    return(test_ret);
46234}
46235
46236
46237static int
46238test_xmlXPathCastToNumber(void) {
46239    int test_ret = 0;
46240
46241#if defined(LIBXML_XPATH_ENABLED)
46242    int mem_base;
46243    double ret_val;
46244    xmlXPathObjectPtr val; /* an XPath object */
46245    int n_val;
46246
46247    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46248        mem_base = xmlMemBlocks();
46249        val = gen_xmlXPathObjectPtr(n_val, 0);
46250
46251        ret_val = xmlXPathCastToNumber(val);
46252        desret_double(ret_val);
46253        call_tests++;
46254        des_xmlXPathObjectPtr(n_val, val, 0);
46255        xmlResetLastError();
46256        if (mem_base != xmlMemBlocks()) {
46257            printf("Leak of %d blocks found in xmlXPathCastToNumber",
46258	           xmlMemBlocks() - mem_base);
46259	    test_ret++;
46260            printf(" %d", n_val);
46261            printf("\n");
46262        }
46263    }
46264    function_tests++;
46265#endif
46266
46267    return(test_ret);
46268}
46269
46270
46271static int
46272test_xmlXPathCastToString(void) {
46273    int test_ret = 0;
46274
46275#if defined(LIBXML_XPATH_ENABLED)
46276    int mem_base;
46277    xmlChar * ret_val;
46278    xmlXPathObjectPtr val; /* an XPath object */
46279    int n_val;
46280
46281    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46282        mem_base = xmlMemBlocks();
46283        val = gen_xmlXPathObjectPtr(n_val, 0);
46284
46285        ret_val = xmlXPathCastToString(val);
46286        desret_xmlChar_ptr(ret_val);
46287        call_tests++;
46288        des_xmlXPathObjectPtr(n_val, val, 0);
46289        xmlResetLastError();
46290        if (mem_base != xmlMemBlocks()) {
46291            printf("Leak of %d blocks found in xmlXPathCastToString",
46292	           xmlMemBlocks() - mem_base);
46293	    test_ret++;
46294            printf(" %d", n_val);
46295            printf("\n");
46296        }
46297    }
46298    function_tests++;
46299#endif
46300
46301    return(test_ret);
46302}
46303
46304
46305static int
46306test_xmlXPathCmpNodes(void) {
46307    int test_ret = 0;
46308
46309#if defined(LIBXML_XPATH_ENABLED)
46310    int mem_base;
46311    int ret_val;
46312    xmlNodePtr node1; /* the first node */
46313    int n_node1;
46314    xmlNodePtr node2; /* the second node */
46315    int n_node2;
46316
46317    for (n_node1 = 0;n_node1 < gen_nb_xmlNodePtr;n_node1++) {
46318    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
46319        mem_base = xmlMemBlocks();
46320        node1 = gen_xmlNodePtr(n_node1, 0);
46321        node2 = gen_xmlNodePtr(n_node2, 1);
46322
46323        ret_val = xmlXPathCmpNodes(node1, node2);
46324        desret_int(ret_val);
46325        call_tests++;
46326        des_xmlNodePtr(n_node1, node1, 0);
46327        des_xmlNodePtr(n_node2, node2, 1);
46328        xmlResetLastError();
46329        if (mem_base != xmlMemBlocks()) {
46330            printf("Leak of %d blocks found in xmlXPathCmpNodes",
46331	           xmlMemBlocks() - mem_base);
46332	    test_ret++;
46333            printf(" %d", n_node1);
46334            printf(" %d", n_node2);
46335            printf("\n");
46336        }
46337    }
46338    }
46339    function_tests++;
46340#endif
46341
46342    return(test_ret);
46343}
46344
46345
46346static int
46347test_xmlXPathCompile(void) {
46348    int test_ret = 0;
46349
46350
46351    /* missing type support */
46352    return(test_ret);
46353}
46354
46355#ifdef LIBXML_XPATH_ENABLED
46356
46357#define gen_nb_xmlXPathCompExprPtr 1
46358static xmlXPathCompExprPtr gen_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
46359    return(NULL);
46360}
46361static void des_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, xmlXPathCompExprPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
46362}
46363#endif
46364
46365#ifdef LIBXML_XPATH_ENABLED
46366
46367#define gen_nb_xmlXPathContextPtr 1
46368static xmlXPathContextPtr gen_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
46369    return(NULL);
46370}
46371static void des_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
46372}
46373#endif
46374
46375
46376static int
46377test_xmlXPathCompiledEval(void) {
46378    int test_ret = 0;
46379
46380#if defined(LIBXML_XPATH_ENABLED)
46381    int mem_base;
46382    xmlXPathObjectPtr ret_val;
46383    xmlXPathCompExprPtr comp; /* the compiled XPath expression */
46384    int n_comp;
46385    xmlXPathContextPtr ctx; /* the XPath context */
46386    int n_ctx;
46387
46388    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
46389    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
46390        mem_base = xmlMemBlocks();
46391        comp = gen_xmlXPathCompExprPtr(n_comp, 0);
46392        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
46393
46394        ret_val = xmlXPathCompiledEval(comp, ctx);
46395        desret_xmlXPathObjectPtr(ret_val);
46396        call_tests++;
46397        des_xmlXPathCompExprPtr(n_comp, comp, 0);
46398        des_xmlXPathContextPtr(n_ctx, ctx, 1);
46399        xmlResetLastError();
46400        if (mem_base != xmlMemBlocks()) {
46401            printf("Leak of %d blocks found in xmlXPathCompiledEval",
46402	           xmlMemBlocks() - mem_base);
46403	    test_ret++;
46404            printf(" %d", n_comp);
46405            printf(" %d", n_ctx);
46406            printf("\n");
46407        }
46408    }
46409    }
46410    function_tests++;
46411#endif
46412
46413    return(test_ret);
46414}
46415
46416
46417static int
46418test_xmlXPathCompiledEvalToBoolean(void) {
46419    int test_ret = 0;
46420
46421#if defined(LIBXML_XPATH_ENABLED)
46422    int mem_base;
46423    int ret_val;
46424    xmlXPathCompExprPtr comp; /* the compiled XPath expression */
46425    int n_comp;
46426    xmlXPathContextPtr ctxt; /* the XPath context */
46427    int n_ctxt;
46428
46429    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
46430    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
46431        mem_base = xmlMemBlocks();
46432        comp = gen_xmlXPathCompExprPtr(n_comp, 0);
46433        ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
46434
46435        ret_val = xmlXPathCompiledEvalToBoolean(comp, ctxt);
46436        desret_int(ret_val);
46437        call_tests++;
46438        des_xmlXPathCompExprPtr(n_comp, comp, 0);
46439        des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
46440        xmlResetLastError();
46441        if (mem_base != xmlMemBlocks()) {
46442            printf("Leak of %d blocks found in xmlXPathCompiledEvalToBoolean",
46443	           xmlMemBlocks() - mem_base);
46444	    test_ret++;
46445            printf(" %d", n_comp);
46446            printf(" %d", n_ctxt);
46447            printf("\n");
46448        }
46449    }
46450    }
46451    function_tests++;
46452#endif
46453
46454    return(test_ret);
46455}
46456
46457
46458static int
46459test_xmlXPathContextSetCache(void) {
46460    int test_ret = 0;
46461
46462#if defined(LIBXML_XPATH_ENABLED)
46463    int mem_base;
46464    int ret_val;
46465    xmlXPathContextPtr ctxt; /* the XPath context */
46466    int n_ctxt;
46467    int active; /* enables/disables (creates/frees) the cache */
46468    int n_active;
46469    int value; /* a value with semantics dependant on @options */
46470    int n_value;
46471    int options; /* options (currently only the value 0 is used) */
46472    int n_options;
46473
46474    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
46475    for (n_active = 0;n_active < gen_nb_int;n_active++) {
46476    for (n_value = 0;n_value < gen_nb_int;n_value++) {
46477    for (n_options = 0;n_options < gen_nb_int;n_options++) {
46478        mem_base = xmlMemBlocks();
46479        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
46480        active = gen_int(n_active, 1);
46481        value = gen_int(n_value, 2);
46482        options = gen_int(n_options, 3);
46483
46484        ret_val = xmlXPathContextSetCache(ctxt, active, value, options);
46485        desret_int(ret_val);
46486        call_tests++;
46487        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
46488        des_int(n_active, active, 1);
46489        des_int(n_value, value, 2);
46490        des_int(n_options, options, 3);
46491        xmlResetLastError();
46492        if (mem_base != xmlMemBlocks()) {
46493            printf("Leak of %d blocks found in xmlXPathContextSetCache",
46494	           xmlMemBlocks() - mem_base);
46495	    test_ret++;
46496            printf(" %d", n_ctxt);
46497            printf(" %d", n_active);
46498            printf(" %d", n_value);
46499            printf(" %d", n_options);
46500            printf("\n");
46501        }
46502    }
46503    }
46504    }
46505    }
46506    function_tests++;
46507#endif
46508
46509    return(test_ret);
46510}
46511
46512
46513static int
46514test_xmlXPathConvertBoolean(void) {
46515    int test_ret = 0;
46516
46517#if defined(LIBXML_XPATH_ENABLED)
46518    int mem_base;
46519    xmlXPathObjectPtr ret_val;
46520    xmlXPathObjectPtr val; /* an XPath object */
46521    int n_val;
46522
46523    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46524        mem_base = xmlMemBlocks();
46525        val = gen_xmlXPathObjectPtr(n_val, 0);
46526
46527        ret_val = xmlXPathConvertBoolean(val);
46528        val = NULL;
46529        desret_xmlXPathObjectPtr(ret_val);
46530        call_tests++;
46531        des_xmlXPathObjectPtr(n_val, val, 0);
46532        xmlResetLastError();
46533        if (mem_base != xmlMemBlocks()) {
46534            printf("Leak of %d blocks found in xmlXPathConvertBoolean",
46535	           xmlMemBlocks() - mem_base);
46536	    test_ret++;
46537            printf(" %d", n_val);
46538            printf("\n");
46539        }
46540    }
46541    function_tests++;
46542#endif
46543
46544    return(test_ret);
46545}
46546
46547
46548static int
46549test_xmlXPathConvertNumber(void) {
46550    int test_ret = 0;
46551
46552#if defined(LIBXML_XPATH_ENABLED)
46553    int mem_base;
46554    xmlXPathObjectPtr ret_val;
46555    xmlXPathObjectPtr val; /* an XPath object */
46556    int n_val;
46557
46558    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46559        mem_base = xmlMemBlocks();
46560        val = gen_xmlXPathObjectPtr(n_val, 0);
46561
46562        ret_val = xmlXPathConvertNumber(val);
46563        val = NULL;
46564        desret_xmlXPathObjectPtr(ret_val);
46565        call_tests++;
46566        des_xmlXPathObjectPtr(n_val, val, 0);
46567        xmlResetLastError();
46568        if (mem_base != xmlMemBlocks()) {
46569            printf("Leak of %d blocks found in xmlXPathConvertNumber",
46570	           xmlMemBlocks() - mem_base);
46571	    test_ret++;
46572            printf(" %d", n_val);
46573            printf("\n");
46574        }
46575    }
46576    function_tests++;
46577#endif
46578
46579    return(test_ret);
46580}
46581
46582
46583static int
46584test_xmlXPathConvertString(void) {
46585    int test_ret = 0;
46586
46587#if defined(LIBXML_XPATH_ENABLED)
46588    int mem_base;
46589    xmlXPathObjectPtr ret_val;
46590    xmlXPathObjectPtr val; /* an XPath object */
46591    int n_val;
46592
46593    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46594        mem_base = xmlMemBlocks();
46595        val = gen_xmlXPathObjectPtr(n_val, 0);
46596
46597        ret_val = xmlXPathConvertString(val);
46598        val = NULL;
46599        desret_xmlXPathObjectPtr(ret_val);
46600        call_tests++;
46601        des_xmlXPathObjectPtr(n_val, val, 0);
46602        xmlResetLastError();
46603        if (mem_base != xmlMemBlocks()) {
46604            printf("Leak of %d blocks found in xmlXPathConvertString",
46605	           xmlMemBlocks() - mem_base);
46606	    test_ret++;
46607            printf(" %d", n_val);
46608            printf("\n");
46609        }
46610    }
46611    function_tests++;
46612#endif
46613
46614    return(test_ret);
46615}
46616
46617
46618static int
46619test_xmlXPathCtxtCompile(void) {
46620    int test_ret = 0;
46621
46622
46623    /* missing type support */
46624    return(test_ret);
46625}
46626
46627
46628static int
46629test_xmlXPathEval(void) {
46630    int test_ret = 0;
46631
46632#if defined(LIBXML_XPATH_ENABLED)
46633    int mem_base;
46634    xmlXPathObjectPtr ret_val;
46635    xmlChar * str; /* the XPath expression */
46636    int n_str;
46637    xmlXPathContextPtr ctx; /* the XPath context */
46638    int n_ctx;
46639
46640    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
46641    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
46642        mem_base = xmlMemBlocks();
46643        str = gen_const_xmlChar_ptr(n_str, 0);
46644        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
46645
46646        ret_val = xmlXPathEval((const xmlChar *)str, ctx);
46647        desret_xmlXPathObjectPtr(ret_val);
46648        call_tests++;
46649        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
46650        des_xmlXPathContextPtr(n_ctx, ctx, 1);
46651        xmlResetLastError();
46652        if (mem_base != xmlMemBlocks()) {
46653            printf("Leak of %d blocks found in xmlXPathEval",
46654	           xmlMemBlocks() - mem_base);
46655	    test_ret++;
46656            printf(" %d", n_str);
46657            printf(" %d", n_ctx);
46658            printf("\n");
46659        }
46660    }
46661    }
46662    function_tests++;
46663#endif
46664
46665    return(test_ret);
46666}
46667
46668
46669static int
46670test_xmlXPathEvalExpression(void) {
46671    int test_ret = 0;
46672
46673#if defined(LIBXML_XPATH_ENABLED)
46674    int mem_base;
46675    xmlXPathObjectPtr ret_val;
46676    xmlChar * str; /* the XPath expression */
46677    int n_str;
46678    xmlXPathContextPtr ctxt; /* the XPath context */
46679    int n_ctxt;
46680
46681    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
46682    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
46683        mem_base = xmlMemBlocks();
46684        str = gen_const_xmlChar_ptr(n_str, 0);
46685        ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
46686
46687        ret_val = xmlXPathEvalExpression((const xmlChar *)str, ctxt);
46688        desret_xmlXPathObjectPtr(ret_val);
46689        call_tests++;
46690        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
46691        des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
46692        xmlResetLastError();
46693        if (mem_base != xmlMemBlocks()) {
46694            printf("Leak of %d blocks found in xmlXPathEvalExpression",
46695	           xmlMemBlocks() - mem_base);
46696	    test_ret++;
46697            printf(" %d", n_str);
46698            printf(" %d", n_ctxt);
46699            printf("\n");
46700        }
46701    }
46702    }
46703    function_tests++;
46704#endif
46705
46706    return(test_ret);
46707}
46708
46709
46710static int
46711test_xmlXPathEvalPredicate(void) {
46712    int test_ret = 0;
46713
46714#if defined(LIBXML_XPATH_ENABLED)
46715    int mem_base;
46716    int ret_val;
46717    xmlXPathContextPtr ctxt; /* the XPath context */
46718    int n_ctxt;
46719    xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
46720    int n_res;
46721
46722    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
46723    for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
46724        mem_base = xmlMemBlocks();
46725        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
46726        res = gen_xmlXPathObjectPtr(n_res, 1);
46727
46728        ret_val = xmlXPathEvalPredicate(ctxt, res);
46729        desret_int(ret_val);
46730        call_tests++;
46731        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
46732        des_xmlXPathObjectPtr(n_res, res, 1);
46733        xmlResetLastError();
46734        if (mem_base != xmlMemBlocks()) {
46735            printf("Leak of %d blocks found in xmlXPathEvalPredicate",
46736	           xmlMemBlocks() - mem_base);
46737	    test_ret++;
46738            printf(" %d", n_ctxt);
46739            printf(" %d", n_res);
46740            printf("\n");
46741        }
46742    }
46743    }
46744    function_tests++;
46745#endif
46746
46747    return(test_ret);
46748}
46749
46750
46751static int
46752test_xmlXPathInit(void) {
46753    int test_ret = 0;
46754
46755#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
46756    int mem_base;
46757
46758        mem_base = xmlMemBlocks();
46759
46760        xmlXPathInit();
46761        call_tests++;
46762        xmlResetLastError();
46763        if (mem_base != xmlMemBlocks()) {
46764            printf("Leak of %d blocks found in xmlXPathInit",
46765	           xmlMemBlocks() - mem_base);
46766	    test_ret++;
46767            printf("\n");
46768        }
46769    function_tests++;
46770#endif
46771
46772    return(test_ret);
46773}
46774
46775
46776static int
46777test_xmlXPathIsInf(void) {
46778    int test_ret = 0;
46779
46780#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
46781    int mem_base;
46782    int ret_val;
46783    double val; /* a double value */
46784    int n_val;
46785
46786    for (n_val = 0;n_val < gen_nb_double;n_val++) {
46787        mem_base = xmlMemBlocks();
46788        val = gen_double(n_val, 0);
46789
46790        ret_val = xmlXPathIsInf(val);
46791        desret_int(ret_val);
46792        call_tests++;
46793        des_double(n_val, val, 0);
46794        xmlResetLastError();
46795        if (mem_base != xmlMemBlocks()) {
46796            printf("Leak of %d blocks found in xmlXPathIsInf",
46797	           xmlMemBlocks() - mem_base);
46798	    test_ret++;
46799            printf(" %d", n_val);
46800            printf("\n");
46801        }
46802    }
46803    function_tests++;
46804#endif
46805
46806    return(test_ret);
46807}
46808
46809
46810static int
46811test_xmlXPathIsNaN(void) {
46812    int test_ret = 0;
46813
46814#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
46815    int mem_base;
46816    int ret_val;
46817    double val; /* a double value */
46818    int n_val;
46819
46820    for (n_val = 0;n_val < gen_nb_double;n_val++) {
46821        mem_base = xmlMemBlocks();
46822        val = gen_double(n_val, 0);
46823
46824        ret_val = xmlXPathIsNaN(val);
46825        desret_int(ret_val);
46826        call_tests++;
46827        des_double(n_val, val, 0);
46828        xmlResetLastError();
46829        if (mem_base != xmlMemBlocks()) {
46830            printf("Leak of %d blocks found in xmlXPathIsNaN",
46831	           xmlMemBlocks() - mem_base);
46832	    test_ret++;
46833            printf(" %d", n_val);
46834            printf("\n");
46835        }
46836    }
46837    function_tests++;
46838#endif
46839
46840    return(test_ret);
46841}
46842
46843
46844static int
46845test_xmlXPathNewContext(void) {
46846    int test_ret = 0;
46847
46848
46849    /* missing type support */
46850    return(test_ret);
46851}
46852
46853
46854static int
46855test_xmlXPathNodeEval(void) {
46856    int test_ret = 0;
46857
46858#if defined(LIBXML_XPATH_ENABLED)
46859    int mem_base;
46860    xmlXPathObjectPtr ret_val;
46861    xmlNodePtr node; /* the node to to use as the context node */
46862    int n_node;
46863    xmlChar * str; /* the XPath expression */
46864    int n_str;
46865    xmlXPathContextPtr ctx; /* the XPath context */
46866    int n_ctx;
46867
46868    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
46869    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
46870    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
46871        mem_base = xmlMemBlocks();
46872        node = gen_xmlNodePtr(n_node, 0);
46873        str = gen_const_xmlChar_ptr(n_str, 1);
46874        ctx = gen_xmlXPathContextPtr(n_ctx, 2);
46875
46876        ret_val = xmlXPathNodeEval(node, (const xmlChar *)str, ctx);
46877        desret_xmlXPathObjectPtr(ret_val);
46878        call_tests++;
46879        des_xmlNodePtr(n_node, node, 0);
46880        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
46881        des_xmlXPathContextPtr(n_ctx, ctx, 2);
46882        xmlResetLastError();
46883        if (mem_base != xmlMemBlocks()) {
46884            printf("Leak of %d blocks found in xmlXPathNodeEval",
46885	           xmlMemBlocks() - mem_base);
46886	    test_ret++;
46887            printf(" %d", n_node);
46888            printf(" %d", n_str);
46889            printf(" %d", n_ctx);
46890            printf("\n");
46891        }
46892    }
46893    }
46894    }
46895    function_tests++;
46896#endif
46897
46898    return(test_ret);
46899}
46900
46901
46902static int
46903test_xmlXPathNodeSetCreate(void) {
46904    int test_ret = 0;
46905
46906#if defined(LIBXML_XPATH_ENABLED)
46907    int mem_base;
46908    xmlNodeSetPtr ret_val;
46909    xmlNodePtr val; /* an initial xmlNodePtr, or NULL */
46910    int n_val;
46911
46912    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
46913        mem_base = xmlMemBlocks();
46914        val = gen_xmlNodePtr(n_val, 0);
46915
46916        ret_val = xmlXPathNodeSetCreate(val);
46917        desret_xmlNodeSetPtr(ret_val);
46918        call_tests++;
46919        des_xmlNodePtr(n_val, val, 0);
46920        xmlResetLastError();
46921        if (mem_base != xmlMemBlocks()) {
46922            printf("Leak of %d blocks found in xmlXPathNodeSetCreate",
46923	           xmlMemBlocks() - mem_base);
46924	    test_ret++;
46925            printf(" %d", n_val);
46926            printf("\n");
46927        }
46928    }
46929    function_tests++;
46930#endif
46931
46932    return(test_ret);
46933}
46934
46935
46936static int
46937test_xmlXPathObjectCopy(void) {
46938    int test_ret = 0;
46939
46940#if defined(LIBXML_XPATH_ENABLED)
46941    int mem_base;
46942    xmlXPathObjectPtr ret_val;
46943    xmlXPathObjectPtr val; /* the original object */
46944    int n_val;
46945
46946    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
46947        mem_base = xmlMemBlocks();
46948        val = gen_xmlXPathObjectPtr(n_val, 0);
46949
46950        ret_val = xmlXPathObjectCopy(val);
46951        desret_xmlXPathObjectPtr(ret_val);
46952        call_tests++;
46953        des_xmlXPathObjectPtr(n_val, val, 0);
46954        xmlResetLastError();
46955        if (mem_base != xmlMemBlocks()) {
46956            printf("Leak of %d blocks found in xmlXPathObjectCopy",
46957	           xmlMemBlocks() - mem_base);
46958	    test_ret++;
46959            printf(" %d", n_val);
46960            printf("\n");
46961        }
46962    }
46963    function_tests++;
46964#endif
46965
46966    return(test_ret);
46967}
46968
46969
46970static int
46971test_xmlXPathOrderDocElems(void) {
46972    int test_ret = 0;
46973
46974#if defined(LIBXML_XPATH_ENABLED)
46975    int mem_base;
46976    long ret_val;
46977    xmlDocPtr doc; /* an input document */
46978    int n_doc;
46979
46980    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
46981        mem_base = xmlMemBlocks();
46982        doc = gen_xmlDocPtr(n_doc, 0);
46983
46984        ret_val = xmlXPathOrderDocElems(doc);
46985        desret_long(ret_val);
46986        call_tests++;
46987        des_xmlDocPtr(n_doc, doc, 0);
46988        xmlResetLastError();
46989        if (mem_base != xmlMemBlocks()) {
46990            printf("Leak of %d blocks found in xmlXPathOrderDocElems",
46991	           xmlMemBlocks() - mem_base);
46992	    test_ret++;
46993            printf(" %d", n_doc);
46994            printf("\n");
46995        }
46996    }
46997    function_tests++;
46998#endif
46999
47000    return(test_ret);
47001}
47002
47003
47004static int
47005test_xmlXPathSetContextNode(void) {
47006    int test_ret = 0;
47007
47008#if defined(LIBXML_XPATH_ENABLED)
47009    int mem_base;
47010    int ret_val;
47011    xmlNodePtr node; /* the node to to use as the context node */
47012    int n_node;
47013    xmlXPathContextPtr ctx; /* the XPath context */
47014    int n_ctx;
47015
47016    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
47017    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
47018        mem_base = xmlMemBlocks();
47019        node = gen_xmlNodePtr(n_node, 0);
47020        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
47021
47022        ret_val = xmlXPathSetContextNode(node, ctx);
47023        desret_int(ret_val);
47024        call_tests++;
47025        des_xmlNodePtr(n_node, node, 0);
47026        des_xmlXPathContextPtr(n_ctx, ctx, 1);
47027        xmlResetLastError();
47028        if (mem_base != xmlMemBlocks()) {
47029            printf("Leak of %d blocks found in xmlXPathSetContextNode",
47030	           xmlMemBlocks() - mem_base);
47031	    test_ret++;
47032            printf(" %d", n_node);
47033            printf(" %d", n_ctx);
47034            printf("\n");
47035        }
47036    }
47037    }
47038    function_tests++;
47039#endif
47040
47041    return(test_ret);
47042}
47043
47044static int
47045test_xpath(void) {
47046    int test_ret = 0;
47047
47048    if (quiet == 0) printf("Testing xpath : 32 of 40 functions ...\n");
47049    test_ret += test_xmlXPathCastBooleanToNumber();
47050    test_ret += test_xmlXPathCastBooleanToString();
47051    test_ret += test_xmlXPathCastNodeSetToBoolean();
47052    test_ret += test_xmlXPathCastNodeSetToNumber();
47053    test_ret += test_xmlXPathCastNodeSetToString();
47054    test_ret += test_xmlXPathCastNodeToNumber();
47055    test_ret += test_xmlXPathCastNodeToString();
47056    test_ret += test_xmlXPathCastNumberToBoolean();
47057    test_ret += test_xmlXPathCastNumberToString();
47058    test_ret += test_xmlXPathCastStringToBoolean();
47059    test_ret += test_xmlXPathCastStringToNumber();
47060    test_ret += test_xmlXPathCastToBoolean();
47061    test_ret += test_xmlXPathCastToNumber();
47062    test_ret += test_xmlXPathCastToString();
47063    test_ret += test_xmlXPathCmpNodes();
47064    test_ret += test_xmlXPathCompile();
47065    test_ret += test_xmlXPathCompiledEval();
47066    test_ret += test_xmlXPathCompiledEvalToBoolean();
47067    test_ret += test_xmlXPathContextSetCache();
47068    test_ret += test_xmlXPathConvertBoolean();
47069    test_ret += test_xmlXPathConvertNumber();
47070    test_ret += test_xmlXPathConvertString();
47071    test_ret += test_xmlXPathCtxtCompile();
47072    test_ret += test_xmlXPathEval();
47073    test_ret += test_xmlXPathEvalExpression();
47074    test_ret += test_xmlXPathEvalPredicate();
47075    test_ret += test_xmlXPathInit();
47076    test_ret += test_xmlXPathIsInf();
47077    test_ret += test_xmlXPathIsNaN();
47078    test_ret += test_xmlXPathNewContext();
47079    test_ret += test_xmlXPathNodeEval();
47080    test_ret += test_xmlXPathNodeSetCreate();
47081    test_ret += test_xmlXPathObjectCopy();
47082    test_ret += test_xmlXPathOrderDocElems();
47083    test_ret += test_xmlXPathSetContextNode();
47084
47085    if (test_ret != 0)
47086	printf("Module xpath: %d errors\n", test_ret);
47087    return(test_ret);
47088}
47089#ifdef LIBXML_XPATH_ENABLED
47090
47091#define gen_nb_xmlXPathParserContextPtr 1
47092static xmlXPathParserContextPtr gen_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
47093    return(NULL);
47094}
47095static void des_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathParserContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
47096}
47097#endif
47098
47099
47100static int
47101test_valuePop(void) {
47102    int test_ret = 0;
47103
47104#if defined(LIBXML_XPATH_ENABLED)
47105    int mem_base;
47106    xmlXPathObjectPtr ret_val;
47107    xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
47108    int n_ctxt;
47109
47110    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47111        mem_base = xmlMemBlocks();
47112        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47113
47114        ret_val = valuePop(ctxt);
47115        desret_xmlXPathObjectPtr(ret_val);
47116        call_tests++;
47117        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47118        xmlResetLastError();
47119        if (mem_base != xmlMemBlocks()) {
47120            printf("Leak of %d blocks found in valuePop",
47121	           xmlMemBlocks() - mem_base);
47122	    test_ret++;
47123            printf(" %d", n_ctxt);
47124            printf("\n");
47125        }
47126    }
47127    function_tests++;
47128#endif
47129
47130    return(test_ret);
47131}
47132
47133
47134static int
47135test_valuePush(void) {
47136    int test_ret = 0;
47137
47138#if defined(LIBXML_XPATH_ENABLED)
47139    int mem_base;
47140    int ret_val;
47141    xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
47142    int n_ctxt;
47143    xmlXPathObjectPtr value; /* the XPath object */
47144    int n_value;
47145
47146    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47147    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
47148        mem_base = xmlMemBlocks();
47149        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47150        value = gen_xmlXPathObjectPtr(n_value, 1);
47151
47152        ret_val = valuePush(ctxt, value);
47153        desret_int(ret_val);
47154        call_tests++;
47155        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47156        des_xmlXPathObjectPtr(n_value, value, 1);
47157        xmlResetLastError();
47158        if (mem_base != xmlMemBlocks()) {
47159            printf("Leak of %d blocks found in valuePush",
47160	           xmlMemBlocks() - mem_base);
47161	    test_ret++;
47162            printf(" %d", n_ctxt);
47163            printf(" %d", n_value);
47164            printf("\n");
47165        }
47166    }
47167    }
47168    function_tests++;
47169#endif
47170
47171    return(test_ret);
47172}
47173
47174
47175static int
47176test_xmlXPathAddValues(void) {
47177    int test_ret = 0;
47178
47179#if defined(LIBXML_XPATH_ENABLED)
47180    int mem_base;
47181    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47182    int n_ctxt;
47183
47184    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47185        mem_base = xmlMemBlocks();
47186        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47187
47188        xmlXPathAddValues(ctxt);
47189        call_tests++;
47190        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47191        xmlResetLastError();
47192        if (mem_base != xmlMemBlocks()) {
47193            printf("Leak of %d blocks found in xmlXPathAddValues",
47194	           xmlMemBlocks() - mem_base);
47195	    test_ret++;
47196            printf(" %d", n_ctxt);
47197            printf("\n");
47198        }
47199    }
47200    function_tests++;
47201#endif
47202
47203    return(test_ret);
47204}
47205
47206
47207static int
47208test_xmlXPathBooleanFunction(void) {
47209    int test_ret = 0;
47210
47211#if defined(LIBXML_XPATH_ENABLED)
47212    int mem_base;
47213    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47214    int n_ctxt;
47215    int nargs; /* the number of arguments */
47216    int n_nargs;
47217
47218    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47219    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47220        mem_base = xmlMemBlocks();
47221        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47222        nargs = gen_int(n_nargs, 1);
47223
47224        xmlXPathBooleanFunction(ctxt, nargs);
47225        call_tests++;
47226        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47227        des_int(n_nargs, nargs, 1);
47228        xmlResetLastError();
47229        if (mem_base != xmlMemBlocks()) {
47230            printf("Leak of %d blocks found in xmlXPathBooleanFunction",
47231	           xmlMemBlocks() - mem_base);
47232	    test_ret++;
47233            printf(" %d", n_ctxt);
47234            printf(" %d", n_nargs);
47235            printf("\n");
47236        }
47237    }
47238    }
47239    function_tests++;
47240#endif
47241
47242    return(test_ret);
47243}
47244
47245
47246static int
47247test_xmlXPathCeilingFunction(void) {
47248    int test_ret = 0;
47249
47250#if defined(LIBXML_XPATH_ENABLED)
47251    int mem_base;
47252    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47253    int n_ctxt;
47254    int nargs; /* the number of arguments */
47255    int n_nargs;
47256
47257    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47258    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47259        mem_base = xmlMemBlocks();
47260        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47261        nargs = gen_int(n_nargs, 1);
47262
47263        xmlXPathCeilingFunction(ctxt, nargs);
47264        call_tests++;
47265        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47266        des_int(n_nargs, nargs, 1);
47267        xmlResetLastError();
47268        if (mem_base != xmlMemBlocks()) {
47269            printf("Leak of %d blocks found in xmlXPathCeilingFunction",
47270	           xmlMemBlocks() - mem_base);
47271	    test_ret++;
47272            printf(" %d", n_ctxt);
47273            printf(" %d", n_nargs);
47274            printf("\n");
47275        }
47276    }
47277    }
47278    function_tests++;
47279#endif
47280
47281    return(test_ret);
47282}
47283
47284
47285static int
47286test_xmlXPathCompareValues(void) {
47287    int test_ret = 0;
47288
47289#if defined(LIBXML_XPATH_ENABLED)
47290    int mem_base;
47291    int ret_val;
47292    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47293    int n_ctxt;
47294    int inf; /* less than (1) or greater than (0) */
47295    int n_inf;
47296    int strict; /* is the comparison strict */
47297    int n_strict;
47298
47299    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47300    for (n_inf = 0;n_inf < gen_nb_int;n_inf++) {
47301    for (n_strict = 0;n_strict < gen_nb_int;n_strict++) {
47302        mem_base = xmlMemBlocks();
47303        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47304        inf = gen_int(n_inf, 1);
47305        strict = gen_int(n_strict, 2);
47306
47307        ret_val = xmlXPathCompareValues(ctxt, inf, strict);
47308        desret_int(ret_val);
47309        call_tests++;
47310        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47311        des_int(n_inf, inf, 1);
47312        des_int(n_strict, strict, 2);
47313        xmlResetLastError();
47314        if (mem_base != xmlMemBlocks()) {
47315            printf("Leak of %d blocks found in xmlXPathCompareValues",
47316	           xmlMemBlocks() - mem_base);
47317	    test_ret++;
47318            printf(" %d", n_ctxt);
47319            printf(" %d", n_inf);
47320            printf(" %d", n_strict);
47321            printf("\n");
47322        }
47323    }
47324    }
47325    }
47326    function_tests++;
47327#endif
47328
47329    return(test_ret);
47330}
47331
47332
47333static int
47334test_xmlXPathConcatFunction(void) {
47335    int test_ret = 0;
47336
47337#if defined(LIBXML_XPATH_ENABLED)
47338    int mem_base;
47339    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47340    int n_ctxt;
47341    int nargs; /* the number of arguments */
47342    int n_nargs;
47343
47344    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47345    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47346        mem_base = xmlMemBlocks();
47347        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47348        nargs = gen_int(n_nargs, 1);
47349
47350        xmlXPathConcatFunction(ctxt, nargs);
47351        call_tests++;
47352        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47353        des_int(n_nargs, nargs, 1);
47354        xmlResetLastError();
47355        if (mem_base != xmlMemBlocks()) {
47356            printf("Leak of %d blocks found in xmlXPathConcatFunction",
47357	           xmlMemBlocks() - mem_base);
47358	    test_ret++;
47359            printf(" %d", n_ctxt);
47360            printf(" %d", n_nargs);
47361            printf("\n");
47362        }
47363    }
47364    }
47365    function_tests++;
47366#endif
47367
47368    return(test_ret);
47369}
47370
47371
47372static int
47373test_xmlXPathContainsFunction(void) {
47374    int test_ret = 0;
47375
47376#if defined(LIBXML_XPATH_ENABLED)
47377    int mem_base;
47378    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47379    int n_ctxt;
47380    int nargs; /* the number of arguments */
47381    int n_nargs;
47382
47383    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47384    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47385        mem_base = xmlMemBlocks();
47386        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47387        nargs = gen_int(n_nargs, 1);
47388
47389        xmlXPathContainsFunction(ctxt, nargs);
47390        call_tests++;
47391        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47392        des_int(n_nargs, nargs, 1);
47393        xmlResetLastError();
47394        if (mem_base != xmlMemBlocks()) {
47395            printf("Leak of %d blocks found in xmlXPathContainsFunction",
47396	           xmlMemBlocks() - mem_base);
47397	    test_ret++;
47398            printf(" %d", n_ctxt);
47399            printf(" %d", n_nargs);
47400            printf("\n");
47401        }
47402    }
47403    }
47404    function_tests++;
47405#endif
47406
47407    return(test_ret);
47408}
47409
47410
47411static int
47412test_xmlXPathCountFunction(void) {
47413    int test_ret = 0;
47414
47415#if defined(LIBXML_XPATH_ENABLED)
47416    int mem_base;
47417    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47418    int n_ctxt;
47419    int nargs; /* the number of arguments */
47420    int n_nargs;
47421
47422    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47423    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47424        mem_base = xmlMemBlocks();
47425        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47426        nargs = gen_int(n_nargs, 1);
47427
47428        xmlXPathCountFunction(ctxt, nargs);
47429        call_tests++;
47430        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47431        des_int(n_nargs, nargs, 1);
47432        xmlResetLastError();
47433        if (mem_base != xmlMemBlocks()) {
47434            printf("Leak of %d blocks found in xmlXPathCountFunction",
47435	           xmlMemBlocks() - mem_base);
47436	    test_ret++;
47437            printf(" %d", n_ctxt);
47438            printf(" %d", n_nargs);
47439            printf("\n");
47440        }
47441    }
47442    }
47443    function_tests++;
47444#endif
47445
47446    return(test_ret);
47447}
47448
47449
47450static int
47451test_xmlXPathDebugDumpCompExpr(void) {
47452    int test_ret = 0;
47453
47454#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
47455    int mem_base;
47456    FILE * output; /* the FILE * for the output */
47457    int n_output;
47458    xmlXPathCompExprPtr comp; /* the precompiled XPath expression */
47459    int n_comp;
47460    int depth; /* the indentation level. */
47461    int n_depth;
47462
47463    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
47464    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
47465    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
47466        mem_base = xmlMemBlocks();
47467        output = gen_FILE_ptr(n_output, 0);
47468        comp = gen_xmlXPathCompExprPtr(n_comp, 1);
47469        depth = gen_int(n_depth, 2);
47470
47471        xmlXPathDebugDumpCompExpr(output, comp, depth);
47472        call_tests++;
47473        des_FILE_ptr(n_output, output, 0);
47474        des_xmlXPathCompExprPtr(n_comp, comp, 1);
47475        des_int(n_depth, depth, 2);
47476        xmlResetLastError();
47477        if (mem_base != xmlMemBlocks()) {
47478            printf("Leak of %d blocks found in xmlXPathDebugDumpCompExpr",
47479	           xmlMemBlocks() - mem_base);
47480	    test_ret++;
47481            printf(" %d", n_output);
47482            printf(" %d", n_comp);
47483            printf(" %d", n_depth);
47484            printf("\n");
47485        }
47486    }
47487    }
47488    }
47489    function_tests++;
47490#endif
47491
47492    return(test_ret);
47493}
47494
47495
47496static int
47497test_xmlXPathDebugDumpObject(void) {
47498    int test_ret = 0;
47499
47500#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
47501    int mem_base;
47502    FILE * output; /* the FILE * to dump the output */
47503    int n_output;
47504    xmlXPathObjectPtr cur; /* the object to inspect */
47505    int n_cur;
47506    int depth; /* indentation level */
47507    int n_depth;
47508
47509    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
47510    for (n_cur = 0;n_cur < gen_nb_xmlXPathObjectPtr;n_cur++) {
47511    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
47512        mem_base = xmlMemBlocks();
47513        output = gen_FILE_ptr(n_output, 0);
47514        cur = gen_xmlXPathObjectPtr(n_cur, 1);
47515        depth = gen_int(n_depth, 2);
47516
47517        xmlXPathDebugDumpObject(output, cur, depth);
47518        call_tests++;
47519        des_FILE_ptr(n_output, output, 0);
47520        des_xmlXPathObjectPtr(n_cur, cur, 1);
47521        des_int(n_depth, depth, 2);
47522        xmlResetLastError();
47523        if (mem_base != xmlMemBlocks()) {
47524            printf("Leak of %d blocks found in xmlXPathDebugDumpObject",
47525	           xmlMemBlocks() - mem_base);
47526	    test_ret++;
47527            printf(" %d", n_output);
47528            printf(" %d", n_cur);
47529            printf(" %d", n_depth);
47530            printf("\n");
47531        }
47532    }
47533    }
47534    }
47535    function_tests++;
47536#endif
47537
47538    return(test_ret);
47539}
47540
47541
47542static int
47543test_xmlXPathDifference(void) {
47544    int test_ret = 0;
47545
47546#if defined(LIBXML_XPATH_ENABLED)
47547    int mem_base;
47548    xmlNodeSetPtr ret_val;
47549    xmlNodeSetPtr nodes1; /* a node-set */
47550    int n_nodes1;
47551    xmlNodeSetPtr nodes2; /* a node-set */
47552    int n_nodes2;
47553
47554    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
47555    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
47556        mem_base = xmlMemBlocks();
47557        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
47558        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
47559
47560        ret_val = xmlXPathDifference(nodes1, nodes2);
47561        desret_xmlNodeSetPtr(ret_val);
47562        call_tests++;
47563        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
47564        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
47565        xmlResetLastError();
47566        if (mem_base != xmlMemBlocks()) {
47567            printf("Leak of %d blocks found in xmlXPathDifference",
47568	           xmlMemBlocks() - mem_base);
47569	    test_ret++;
47570            printf(" %d", n_nodes1);
47571            printf(" %d", n_nodes2);
47572            printf("\n");
47573        }
47574    }
47575    }
47576    function_tests++;
47577#endif
47578
47579    return(test_ret);
47580}
47581
47582
47583static int
47584test_xmlXPathDistinct(void) {
47585    int test_ret = 0;
47586
47587#if defined(LIBXML_XPATH_ENABLED)
47588    int mem_base;
47589    xmlNodeSetPtr ret_val;
47590    xmlNodeSetPtr nodes; /* a node-set */
47591    int n_nodes;
47592
47593    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
47594        mem_base = xmlMemBlocks();
47595        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
47596
47597        ret_val = xmlXPathDistinct(nodes);
47598        desret_xmlNodeSetPtr(ret_val);
47599        call_tests++;
47600        des_xmlNodeSetPtr(n_nodes, nodes, 0);
47601        xmlResetLastError();
47602        if (mem_base != xmlMemBlocks()) {
47603            printf("Leak of %d blocks found in xmlXPathDistinct",
47604	           xmlMemBlocks() - mem_base);
47605	    test_ret++;
47606            printf(" %d", n_nodes);
47607            printf("\n");
47608        }
47609    }
47610    function_tests++;
47611#endif
47612
47613    return(test_ret);
47614}
47615
47616
47617static int
47618test_xmlXPathDistinctSorted(void) {
47619    int test_ret = 0;
47620
47621#if defined(LIBXML_XPATH_ENABLED)
47622    int mem_base;
47623    xmlNodeSetPtr ret_val;
47624    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
47625    int n_nodes;
47626
47627    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
47628        mem_base = xmlMemBlocks();
47629        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
47630
47631        ret_val = xmlXPathDistinctSorted(nodes);
47632        desret_xmlNodeSetPtr(ret_val);
47633        call_tests++;
47634        des_xmlNodeSetPtr(n_nodes, nodes, 0);
47635        xmlResetLastError();
47636        if (mem_base != xmlMemBlocks()) {
47637            printf("Leak of %d blocks found in xmlXPathDistinctSorted",
47638	           xmlMemBlocks() - mem_base);
47639	    test_ret++;
47640            printf(" %d", n_nodes);
47641            printf("\n");
47642        }
47643    }
47644    function_tests++;
47645#endif
47646
47647    return(test_ret);
47648}
47649
47650
47651static int
47652test_xmlXPathDivValues(void) {
47653    int test_ret = 0;
47654
47655#if defined(LIBXML_XPATH_ENABLED)
47656    int mem_base;
47657    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47658    int n_ctxt;
47659
47660    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47661        mem_base = xmlMemBlocks();
47662        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47663
47664        xmlXPathDivValues(ctxt);
47665        call_tests++;
47666        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47667        xmlResetLastError();
47668        if (mem_base != xmlMemBlocks()) {
47669            printf("Leak of %d blocks found in xmlXPathDivValues",
47670	           xmlMemBlocks() - mem_base);
47671	    test_ret++;
47672            printf(" %d", n_ctxt);
47673            printf("\n");
47674        }
47675    }
47676    function_tests++;
47677#endif
47678
47679    return(test_ret);
47680}
47681
47682
47683static int
47684test_xmlXPathEqualValues(void) {
47685    int test_ret = 0;
47686
47687#if defined(LIBXML_XPATH_ENABLED)
47688    int mem_base;
47689    int ret_val;
47690    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47691    int n_ctxt;
47692
47693    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47694        mem_base = xmlMemBlocks();
47695        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47696
47697        ret_val = xmlXPathEqualValues(ctxt);
47698        desret_int(ret_val);
47699        call_tests++;
47700        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47701        xmlResetLastError();
47702        if (mem_base != xmlMemBlocks()) {
47703            printf("Leak of %d blocks found in xmlXPathEqualValues",
47704	           xmlMemBlocks() - mem_base);
47705	    test_ret++;
47706            printf(" %d", n_ctxt);
47707            printf("\n");
47708        }
47709    }
47710    function_tests++;
47711#endif
47712
47713    return(test_ret);
47714}
47715
47716
47717static int
47718test_xmlXPathErr(void) {
47719    int test_ret = 0;
47720
47721#if defined(LIBXML_XPATH_ENABLED)
47722    int mem_base;
47723    xmlXPathParserContextPtr ctxt; /* a XPath parser context */
47724    int n_ctxt;
47725    int error; /* the error code */
47726    int n_error;
47727
47728    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47729    for (n_error = 0;n_error < gen_nb_int;n_error++) {
47730        mem_base = xmlMemBlocks();
47731        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47732        error = gen_int(n_error, 1);
47733
47734        xmlXPathErr(ctxt, error);
47735        call_tests++;
47736        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47737        des_int(n_error, error, 1);
47738        xmlResetLastError();
47739        if (mem_base != xmlMemBlocks()) {
47740            printf("Leak of %d blocks found in xmlXPathErr",
47741	           xmlMemBlocks() - mem_base);
47742	    test_ret++;
47743            printf(" %d", n_ctxt);
47744            printf(" %d", n_error);
47745            printf("\n");
47746        }
47747    }
47748    }
47749    function_tests++;
47750#endif
47751
47752    return(test_ret);
47753}
47754
47755
47756static int
47757test_xmlXPathEvalExpr(void) {
47758    int test_ret = 0;
47759
47760#if defined(LIBXML_XPATH_ENABLED)
47761    int mem_base;
47762    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47763    int n_ctxt;
47764
47765    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47766        mem_base = xmlMemBlocks();
47767        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47768
47769        xmlXPathEvalExpr(ctxt);
47770        call_tests++;
47771        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47772        xmlResetLastError();
47773        if (mem_base != xmlMemBlocks()) {
47774            printf("Leak of %d blocks found in xmlXPathEvalExpr",
47775	           xmlMemBlocks() - mem_base);
47776	    test_ret++;
47777            printf(" %d", n_ctxt);
47778            printf("\n");
47779        }
47780    }
47781    function_tests++;
47782#endif
47783
47784    return(test_ret);
47785}
47786
47787
47788static int
47789test_xmlXPathEvaluatePredicateResult(void) {
47790    int test_ret = 0;
47791
47792#if defined(LIBXML_XPATH_ENABLED)
47793    int mem_base;
47794    int ret_val;
47795    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47796    int n_ctxt;
47797    xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
47798    int n_res;
47799
47800    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47801    for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
47802        mem_base = xmlMemBlocks();
47803        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47804        res = gen_xmlXPathObjectPtr(n_res, 1);
47805
47806        ret_val = xmlXPathEvaluatePredicateResult(ctxt, res);
47807        desret_int(ret_val);
47808        call_tests++;
47809        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47810        des_xmlXPathObjectPtr(n_res, res, 1);
47811        xmlResetLastError();
47812        if (mem_base != xmlMemBlocks()) {
47813            printf("Leak of %d blocks found in xmlXPathEvaluatePredicateResult",
47814	           xmlMemBlocks() - mem_base);
47815	    test_ret++;
47816            printf(" %d", n_ctxt);
47817            printf(" %d", n_res);
47818            printf("\n");
47819        }
47820    }
47821    }
47822    function_tests++;
47823#endif
47824
47825    return(test_ret);
47826}
47827
47828
47829static int
47830test_xmlXPathFalseFunction(void) {
47831    int test_ret = 0;
47832
47833#if defined(LIBXML_XPATH_ENABLED)
47834    int mem_base;
47835    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47836    int n_ctxt;
47837    int nargs; /* the number of arguments */
47838    int n_nargs;
47839
47840    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47841    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47842        mem_base = xmlMemBlocks();
47843        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47844        nargs = gen_int(n_nargs, 1);
47845
47846        xmlXPathFalseFunction(ctxt, nargs);
47847        call_tests++;
47848        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47849        des_int(n_nargs, nargs, 1);
47850        xmlResetLastError();
47851        if (mem_base != xmlMemBlocks()) {
47852            printf("Leak of %d blocks found in xmlXPathFalseFunction",
47853	           xmlMemBlocks() - mem_base);
47854	    test_ret++;
47855            printf(" %d", n_ctxt);
47856            printf(" %d", n_nargs);
47857            printf("\n");
47858        }
47859    }
47860    }
47861    function_tests++;
47862#endif
47863
47864    return(test_ret);
47865}
47866
47867
47868static int
47869test_xmlXPathFloorFunction(void) {
47870    int test_ret = 0;
47871
47872#if defined(LIBXML_XPATH_ENABLED)
47873    int mem_base;
47874    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47875    int n_ctxt;
47876    int nargs; /* the number of arguments */
47877    int n_nargs;
47878
47879    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47880    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47881        mem_base = xmlMemBlocks();
47882        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47883        nargs = gen_int(n_nargs, 1);
47884
47885        xmlXPathFloorFunction(ctxt, nargs);
47886        call_tests++;
47887        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47888        des_int(n_nargs, nargs, 1);
47889        xmlResetLastError();
47890        if (mem_base != xmlMemBlocks()) {
47891            printf("Leak of %d blocks found in xmlXPathFloorFunction",
47892	           xmlMemBlocks() - mem_base);
47893	    test_ret++;
47894            printf(" %d", n_ctxt);
47895            printf(" %d", n_nargs);
47896            printf("\n");
47897        }
47898    }
47899    }
47900    function_tests++;
47901#endif
47902
47903    return(test_ret);
47904}
47905
47906
47907static int
47908test_xmlXPathFunctionLookup(void) {
47909    int test_ret = 0;
47910
47911
47912    /* missing type support */
47913    return(test_ret);
47914}
47915
47916
47917static int
47918test_xmlXPathFunctionLookupNS(void) {
47919    int test_ret = 0;
47920
47921
47922    /* missing type support */
47923    return(test_ret);
47924}
47925
47926
47927static int
47928test_xmlXPathHasSameNodes(void) {
47929    int test_ret = 0;
47930
47931#if defined(LIBXML_XPATH_ENABLED)
47932    int mem_base;
47933    int ret_val;
47934    xmlNodeSetPtr nodes1; /* a node-set */
47935    int n_nodes1;
47936    xmlNodeSetPtr nodes2; /* a node-set */
47937    int n_nodes2;
47938
47939    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
47940    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
47941        mem_base = xmlMemBlocks();
47942        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
47943        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
47944
47945        ret_val = xmlXPathHasSameNodes(nodes1, nodes2);
47946        desret_int(ret_val);
47947        call_tests++;
47948        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
47949        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
47950        xmlResetLastError();
47951        if (mem_base != xmlMemBlocks()) {
47952            printf("Leak of %d blocks found in xmlXPathHasSameNodes",
47953	           xmlMemBlocks() - mem_base);
47954	    test_ret++;
47955            printf(" %d", n_nodes1);
47956            printf(" %d", n_nodes2);
47957            printf("\n");
47958        }
47959    }
47960    }
47961    function_tests++;
47962#endif
47963
47964    return(test_ret);
47965}
47966
47967
47968static int
47969test_xmlXPathIdFunction(void) {
47970    int test_ret = 0;
47971
47972#if defined(LIBXML_XPATH_ENABLED)
47973    int mem_base;
47974    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
47975    int n_ctxt;
47976    int nargs; /* the number of arguments */
47977    int n_nargs;
47978
47979    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
47980    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
47981        mem_base = xmlMemBlocks();
47982        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
47983        nargs = gen_int(n_nargs, 1);
47984
47985        xmlXPathIdFunction(ctxt, nargs);
47986        call_tests++;
47987        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
47988        des_int(n_nargs, nargs, 1);
47989        xmlResetLastError();
47990        if (mem_base != xmlMemBlocks()) {
47991            printf("Leak of %d blocks found in xmlXPathIdFunction",
47992	           xmlMemBlocks() - mem_base);
47993	    test_ret++;
47994            printf(" %d", n_ctxt);
47995            printf(" %d", n_nargs);
47996            printf("\n");
47997        }
47998    }
47999    }
48000    function_tests++;
48001#endif
48002
48003    return(test_ret);
48004}
48005
48006
48007static int
48008test_xmlXPathIntersection(void) {
48009    int test_ret = 0;
48010
48011#if defined(LIBXML_XPATH_ENABLED)
48012    int mem_base;
48013    xmlNodeSetPtr ret_val;
48014    xmlNodeSetPtr nodes1; /* a node-set */
48015    int n_nodes1;
48016    xmlNodeSetPtr nodes2; /* a node-set */
48017    int n_nodes2;
48018
48019    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
48020    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
48021        mem_base = xmlMemBlocks();
48022        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
48023        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
48024
48025        ret_val = xmlXPathIntersection(nodes1, nodes2);
48026        desret_xmlNodeSetPtr(ret_val);
48027        call_tests++;
48028        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
48029        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
48030        xmlResetLastError();
48031        if (mem_base != xmlMemBlocks()) {
48032            printf("Leak of %d blocks found in xmlXPathIntersection",
48033	           xmlMemBlocks() - mem_base);
48034	    test_ret++;
48035            printf(" %d", n_nodes1);
48036            printf(" %d", n_nodes2);
48037            printf("\n");
48038        }
48039    }
48040    }
48041    function_tests++;
48042#endif
48043
48044    return(test_ret);
48045}
48046
48047
48048static int
48049test_xmlXPathIsNodeType(void) {
48050    int test_ret = 0;
48051
48052#if defined(LIBXML_XPATH_ENABLED)
48053    int mem_base;
48054    int ret_val;
48055    xmlChar * name; /* a name string */
48056    int n_name;
48057
48058    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
48059        mem_base = xmlMemBlocks();
48060        name = gen_const_xmlChar_ptr(n_name, 0);
48061
48062        ret_val = xmlXPathIsNodeType((const xmlChar *)name);
48063        desret_int(ret_val);
48064        call_tests++;
48065        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
48066        xmlResetLastError();
48067        if (mem_base != xmlMemBlocks()) {
48068            printf("Leak of %d blocks found in xmlXPathIsNodeType",
48069	           xmlMemBlocks() - mem_base);
48070	    test_ret++;
48071            printf(" %d", n_name);
48072            printf("\n");
48073        }
48074    }
48075    function_tests++;
48076#endif
48077
48078    return(test_ret);
48079}
48080
48081
48082static int
48083test_xmlXPathLangFunction(void) {
48084    int test_ret = 0;
48085
48086#if defined(LIBXML_XPATH_ENABLED)
48087    int mem_base;
48088    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48089    int n_ctxt;
48090    int nargs; /* the number of arguments */
48091    int n_nargs;
48092
48093    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48094    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
48095        mem_base = xmlMemBlocks();
48096        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48097        nargs = gen_int(n_nargs, 1);
48098
48099        xmlXPathLangFunction(ctxt, nargs);
48100        call_tests++;
48101        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48102        des_int(n_nargs, nargs, 1);
48103        xmlResetLastError();
48104        if (mem_base != xmlMemBlocks()) {
48105            printf("Leak of %d blocks found in xmlXPathLangFunction",
48106	           xmlMemBlocks() - mem_base);
48107	    test_ret++;
48108            printf(" %d", n_ctxt);
48109            printf(" %d", n_nargs);
48110            printf("\n");
48111        }
48112    }
48113    }
48114    function_tests++;
48115#endif
48116
48117    return(test_ret);
48118}
48119
48120
48121static int
48122test_xmlXPathLastFunction(void) {
48123    int test_ret = 0;
48124
48125#if defined(LIBXML_XPATH_ENABLED)
48126    int mem_base;
48127    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48128    int n_ctxt;
48129    int nargs; /* the number of arguments */
48130    int n_nargs;
48131
48132    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48133    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
48134        mem_base = xmlMemBlocks();
48135        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48136        nargs = gen_int(n_nargs, 1);
48137
48138        xmlXPathLastFunction(ctxt, nargs);
48139        call_tests++;
48140        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48141        des_int(n_nargs, nargs, 1);
48142        xmlResetLastError();
48143        if (mem_base != xmlMemBlocks()) {
48144            printf("Leak of %d blocks found in xmlXPathLastFunction",
48145	           xmlMemBlocks() - mem_base);
48146	    test_ret++;
48147            printf(" %d", n_ctxt);
48148            printf(" %d", n_nargs);
48149            printf("\n");
48150        }
48151    }
48152    }
48153    function_tests++;
48154#endif
48155
48156    return(test_ret);
48157}
48158
48159
48160static int
48161test_xmlXPathLeading(void) {
48162    int test_ret = 0;
48163
48164#if defined(LIBXML_XPATH_ENABLED)
48165    int mem_base;
48166    xmlNodeSetPtr ret_val;
48167    xmlNodeSetPtr nodes1; /* a node-set */
48168    int n_nodes1;
48169    xmlNodeSetPtr nodes2; /* a node-set */
48170    int n_nodes2;
48171
48172    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
48173    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
48174        mem_base = xmlMemBlocks();
48175        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
48176        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
48177
48178        ret_val = xmlXPathLeading(nodes1, nodes2);
48179        desret_xmlNodeSetPtr(ret_val);
48180        call_tests++;
48181        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
48182        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
48183        xmlResetLastError();
48184        if (mem_base != xmlMemBlocks()) {
48185            printf("Leak of %d blocks found in xmlXPathLeading",
48186	           xmlMemBlocks() - mem_base);
48187	    test_ret++;
48188            printf(" %d", n_nodes1);
48189            printf(" %d", n_nodes2);
48190            printf("\n");
48191        }
48192    }
48193    }
48194    function_tests++;
48195#endif
48196
48197    return(test_ret);
48198}
48199
48200
48201static int
48202test_xmlXPathLeadingSorted(void) {
48203    int test_ret = 0;
48204
48205#if defined(LIBXML_XPATH_ENABLED)
48206    int mem_base;
48207    xmlNodeSetPtr ret_val;
48208    xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
48209    int n_nodes1;
48210    xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
48211    int n_nodes2;
48212
48213    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
48214    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
48215        mem_base = xmlMemBlocks();
48216        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
48217        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
48218
48219        ret_val = xmlXPathLeadingSorted(nodes1, nodes2);
48220        desret_xmlNodeSetPtr(ret_val);
48221        call_tests++;
48222        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
48223        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
48224        xmlResetLastError();
48225        if (mem_base != xmlMemBlocks()) {
48226            printf("Leak of %d blocks found in xmlXPathLeadingSorted",
48227	           xmlMemBlocks() - mem_base);
48228	    test_ret++;
48229            printf(" %d", n_nodes1);
48230            printf(" %d", n_nodes2);
48231            printf("\n");
48232        }
48233    }
48234    }
48235    function_tests++;
48236#endif
48237
48238    return(test_ret);
48239}
48240
48241
48242static int
48243test_xmlXPathLocalNameFunction(void) {
48244    int test_ret = 0;
48245
48246#if defined(LIBXML_XPATH_ENABLED)
48247    int mem_base;
48248    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48249    int n_ctxt;
48250    int nargs; /* the number of arguments */
48251    int n_nargs;
48252
48253    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48254    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
48255        mem_base = xmlMemBlocks();
48256        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48257        nargs = gen_int(n_nargs, 1);
48258
48259        xmlXPathLocalNameFunction(ctxt, nargs);
48260        call_tests++;
48261        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48262        des_int(n_nargs, nargs, 1);
48263        xmlResetLastError();
48264        if (mem_base != xmlMemBlocks()) {
48265            printf("Leak of %d blocks found in xmlXPathLocalNameFunction",
48266	           xmlMemBlocks() - mem_base);
48267	    test_ret++;
48268            printf(" %d", n_ctxt);
48269            printf(" %d", n_nargs);
48270            printf("\n");
48271        }
48272    }
48273    }
48274    function_tests++;
48275#endif
48276
48277    return(test_ret);
48278}
48279
48280
48281static int
48282test_xmlXPathModValues(void) {
48283    int test_ret = 0;
48284
48285#if defined(LIBXML_XPATH_ENABLED)
48286    int mem_base;
48287    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48288    int n_ctxt;
48289
48290    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48291        mem_base = xmlMemBlocks();
48292        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48293
48294        xmlXPathModValues(ctxt);
48295        call_tests++;
48296        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48297        xmlResetLastError();
48298        if (mem_base != xmlMemBlocks()) {
48299            printf("Leak of %d blocks found in xmlXPathModValues",
48300	           xmlMemBlocks() - mem_base);
48301	    test_ret++;
48302            printf(" %d", n_ctxt);
48303            printf("\n");
48304        }
48305    }
48306    function_tests++;
48307#endif
48308
48309    return(test_ret);
48310}
48311
48312
48313static int
48314test_xmlXPathMultValues(void) {
48315    int test_ret = 0;
48316
48317#if defined(LIBXML_XPATH_ENABLED)
48318    int mem_base;
48319    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48320    int n_ctxt;
48321
48322    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48323        mem_base = xmlMemBlocks();
48324        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48325
48326        xmlXPathMultValues(ctxt);
48327        call_tests++;
48328        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48329        xmlResetLastError();
48330        if (mem_base != xmlMemBlocks()) {
48331            printf("Leak of %d blocks found in xmlXPathMultValues",
48332	           xmlMemBlocks() - mem_base);
48333	    test_ret++;
48334            printf(" %d", n_ctxt);
48335            printf("\n");
48336        }
48337    }
48338    function_tests++;
48339#endif
48340
48341    return(test_ret);
48342}
48343
48344
48345static int
48346test_xmlXPathNamespaceURIFunction(void) {
48347    int test_ret = 0;
48348
48349#if defined(LIBXML_XPATH_ENABLED)
48350    int mem_base;
48351    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48352    int n_ctxt;
48353    int nargs; /* the number of arguments */
48354    int n_nargs;
48355
48356    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48357    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
48358        mem_base = xmlMemBlocks();
48359        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48360        nargs = gen_int(n_nargs, 1);
48361
48362        xmlXPathNamespaceURIFunction(ctxt, nargs);
48363        call_tests++;
48364        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48365        des_int(n_nargs, nargs, 1);
48366        xmlResetLastError();
48367        if (mem_base != xmlMemBlocks()) {
48368            printf("Leak of %d blocks found in xmlXPathNamespaceURIFunction",
48369	           xmlMemBlocks() - mem_base);
48370	    test_ret++;
48371            printf(" %d", n_ctxt);
48372            printf(" %d", n_nargs);
48373            printf("\n");
48374        }
48375    }
48376    }
48377    function_tests++;
48378#endif
48379
48380    return(test_ret);
48381}
48382
48383
48384static int
48385test_xmlXPathNewBoolean(void) {
48386    int test_ret = 0;
48387
48388#if defined(LIBXML_XPATH_ENABLED)
48389    int mem_base;
48390    xmlXPathObjectPtr ret_val;
48391    int val; /* the boolean value */
48392    int n_val;
48393
48394    for (n_val = 0;n_val < gen_nb_int;n_val++) {
48395        mem_base = xmlMemBlocks();
48396        val = gen_int(n_val, 0);
48397
48398        ret_val = xmlXPathNewBoolean(val);
48399        desret_xmlXPathObjectPtr(ret_val);
48400        call_tests++;
48401        des_int(n_val, val, 0);
48402        xmlResetLastError();
48403        if (mem_base != xmlMemBlocks()) {
48404            printf("Leak of %d blocks found in xmlXPathNewBoolean",
48405	           xmlMemBlocks() - mem_base);
48406	    test_ret++;
48407            printf(" %d", n_val);
48408            printf("\n");
48409        }
48410    }
48411    function_tests++;
48412#endif
48413
48414    return(test_ret);
48415}
48416
48417
48418static int
48419test_xmlXPathNewCString(void) {
48420    int test_ret = 0;
48421
48422#if defined(LIBXML_XPATH_ENABLED)
48423    int mem_base;
48424    xmlXPathObjectPtr ret_val;
48425    char * val; /* the char * value */
48426    int n_val;
48427
48428    for (n_val = 0;n_val < gen_nb_const_char_ptr;n_val++) {
48429        mem_base = xmlMemBlocks();
48430        val = gen_const_char_ptr(n_val, 0);
48431
48432        ret_val = xmlXPathNewCString((const char *)val);
48433        desret_xmlXPathObjectPtr(ret_val);
48434        call_tests++;
48435        des_const_char_ptr(n_val, (const char *)val, 0);
48436        xmlResetLastError();
48437        if (mem_base != xmlMemBlocks()) {
48438            printf("Leak of %d blocks found in xmlXPathNewCString",
48439	           xmlMemBlocks() - mem_base);
48440	    test_ret++;
48441            printf(" %d", n_val);
48442            printf("\n");
48443        }
48444    }
48445    function_tests++;
48446#endif
48447
48448    return(test_ret);
48449}
48450
48451
48452static int
48453test_xmlXPathNewFloat(void) {
48454    int test_ret = 0;
48455
48456#if defined(LIBXML_XPATH_ENABLED)
48457    int mem_base;
48458    xmlXPathObjectPtr ret_val;
48459    double val; /* the double value */
48460    int n_val;
48461
48462    for (n_val = 0;n_val < gen_nb_double;n_val++) {
48463        mem_base = xmlMemBlocks();
48464        val = gen_double(n_val, 0);
48465
48466        ret_val = xmlXPathNewFloat(val);
48467        desret_xmlXPathObjectPtr(ret_val);
48468        call_tests++;
48469        des_double(n_val, val, 0);
48470        xmlResetLastError();
48471        if (mem_base != xmlMemBlocks()) {
48472            printf("Leak of %d blocks found in xmlXPathNewFloat",
48473	           xmlMemBlocks() - mem_base);
48474	    test_ret++;
48475            printf(" %d", n_val);
48476            printf("\n");
48477        }
48478    }
48479    function_tests++;
48480#endif
48481
48482    return(test_ret);
48483}
48484
48485
48486static int
48487test_xmlXPathNewNodeSet(void) {
48488    int test_ret = 0;
48489
48490#if defined(LIBXML_XPATH_ENABLED)
48491    int mem_base;
48492    xmlXPathObjectPtr ret_val;
48493    xmlNodePtr val; /* the NodePtr value */
48494    int n_val;
48495
48496    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
48497        mem_base = xmlMemBlocks();
48498        val = gen_xmlNodePtr(n_val, 0);
48499
48500        ret_val = xmlXPathNewNodeSet(val);
48501        desret_xmlXPathObjectPtr(ret_val);
48502        call_tests++;
48503        des_xmlNodePtr(n_val, val, 0);
48504        xmlResetLastError();
48505        if (mem_base != xmlMemBlocks()) {
48506            printf("Leak of %d blocks found in xmlXPathNewNodeSet",
48507	           xmlMemBlocks() - mem_base);
48508	    test_ret++;
48509            printf(" %d", n_val);
48510            printf("\n");
48511        }
48512    }
48513    function_tests++;
48514#endif
48515
48516    return(test_ret);
48517}
48518
48519
48520static int
48521test_xmlXPathNewNodeSetList(void) {
48522    int test_ret = 0;
48523
48524#if defined(LIBXML_XPATH_ENABLED)
48525    int mem_base;
48526    xmlXPathObjectPtr ret_val;
48527    xmlNodeSetPtr val; /* an existing NodeSet */
48528    int n_val;
48529
48530    for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
48531        mem_base = xmlMemBlocks();
48532        val = gen_xmlNodeSetPtr(n_val, 0);
48533
48534        ret_val = xmlXPathNewNodeSetList(val);
48535        desret_xmlXPathObjectPtr(ret_val);
48536        call_tests++;
48537        des_xmlNodeSetPtr(n_val, val, 0);
48538        xmlResetLastError();
48539        if (mem_base != xmlMemBlocks()) {
48540            printf("Leak of %d blocks found in xmlXPathNewNodeSetList",
48541	           xmlMemBlocks() - mem_base);
48542	    test_ret++;
48543            printf(" %d", n_val);
48544            printf("\n");
48545        }
48546    }
48547    function_tests++;
48548#endif
48549
48550    return(test_ret);
48551}
48552
48553
48554static int
48555test_xmlXPathNewParserContext(void) {
48556    int test_ret = 0;
48557
48558
48559    /* missing type support */
48560    return(test_ret);
48561}
48562
48563
48564static int
48565test_xmlXPathNewString(void) {
48566    int test_ret = 0;
48567
48568#if defined(LIBXML_XPATH_ENABLED)
48569    int mem_base;
48570    xmlXPathObjectPtr ret_val;
48571    xmlChar * val; /* the xmlChar * value */
48572    int n_val;
48573
48574    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
48575        mem_base = xmlMemBlocks();
48576        val = gen_const_xmlChar_ptr(n_val, 0);
48577
48578        ret_val = xmlXPathNewString((const xmlChar *)val);
48579        desret_xmlXPathObjectPtr(ret_val);
48580        call_tests++;
48581        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
48582        xmlResetLastError();
48583        if (mem_base != xmlMemBlocks()) {
48584            printf("Leak of %d blocks found in xmlXPathNewString",
48585	           xmlMemBlocks() - mem_base);
48586	    test_ret++;
48587            printf(" %d", n_val);
48588            printf("\n");
48589        }
48590    }
48591    function_tests++;
48592#endif
48593
48594    return(test_ret);
48595}
48596
48597
48598static int
48599test_xmlXPathNextAncestor(void) {
48600    int test_ret = 0;
48601
48602#if defined(LIBXML_XPATH_ENABLED)
48603    int mem_base;
48604    xmlNodePtr ret_val;
48605    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48606    int n_ctxt;
48607    xmlNodePtr cur; /* the current node in the traversal */
48608    int n_cur;
48609
48610    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48611    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48612        mem_base = xmlMemBlocks();
48613        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48614        cur = gen_xmlNodePtr(n_cur, 1);
48615
48616        ret_val = xmlXPathNextAncestor(ctxt, cur);
48617        desret_xmlNodePtr(ret_val);
48618        call_tests++;
48619        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48620        des_xmlNodePtr(n_cur, cur, 1);
48621        xmlResetLastError();
48622        if (mem_base != xmlMemBlocks()) {
48623            printf("Leak of %d blocks found in xmlXPathNextAncestor",
48624	           xmlMemBlocks() - mem_base);
48625	    test_ret++;
48626            printf(" %d", n_ctxt);
48627            printf(" %d", n_cur);
48628            printf("\n");
48629        }
48630    }
48631    }
48632    function_tests++;
48633#endif
48634
48635    return(test_ret);
48636}
48637
48638
48639static int
48640test_xmlXPathNextAncestorOrSelf(void) {
48641    int test_ret = 0;
48642
48643#if defined(LIBXML_XPATH_ENABLED)
48644    int mem_base;
48645    xmlNodePtr ret_val;
48646    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48647    int n_ctxt;
48648    xmlNodePtr cur; /* the current node in the traversal */
48649    int n_cur;
48650
48651    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48652    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48653        mem_base = xmlMemBlocks();
48654        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48655        cur = gen_xmlNodePtr(n_cur, 1);
48656
48657        ret_val = xmlXPathNextAncestorOrSelf(ctxt, cur);
48658        desret_xmlNodePtr(ret_val);
48659        call_tests++;
48660        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48661        des_xmlNodePtr(n_cur, cur, 1);
48662        xmlResetLastError();
48663        if (mem_base != xmlMemBlocks()) {
48664            printf("Leak of %d blocks found in xmlXPathNextAncestorOrSelf",
48665	           xmlMemBlocks() - mem_base);
48666	    test_ret++;
48667            printf(" %d", n_ctxt);
48668            printf(" %d", n_cur);
48669            printf("\n");
48670        }
48671    }
48672    }
48673    function_tests++;
48674#endif
48675
48676    return(test_ret);
48677}
48678
48679
48680static int
48681test_xmlXPathNextAttribute(void) {
48682    int test_ret = 0;
48683
48684#if defined(LIBXML_XPATH_ENABLED)
48685    int mem_base;
48686    xmlNodePtr ret_val;
48687    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48688    int n_ctxt;
48689    xmlNodePtr cur; /* the current attribute in the traversal */
48690    int n_cur;
48691
48692    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48693    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48694        mem_base = xmlMemBlocks();
48695        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48696        cur = gen_xmlNodePtr(n_cur, 1);
48697
48698        ret_val = xmlXPathNextAttribute(ctxt, cur);
48699        desret_xmlNodePtr(ret_val);
48700        call_tests++;
48701        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48702        des_xmlNodePtr(n_cur, cur, 1);
48703        xmlResetLastError();
48704        if (mem_base != xmlMemBlocks()) {
48705            printf("Leak of %d blocks found in xmlXPathNextAttribute",
48706	           xmlMemBlocks() - mem_base);
48707	    test_ret++;
48708            printf(" %d", n_ctxt);
48709            printf(" %d", n_cur);
48710            printf("\n");
48711        }
48712    }
48713    }
48714    function_tests++;
48715#endif
48716
48717    return(test_ret);
48718}
48719
48720
48721static int
48722test_xmlXPathNextChild(void) {
48723    int test_ret = 0;
48724
48725#if defined(LIBXML_XPATH_ENABLED)
48726    int mem_base;
48727    xmlNodePtr ret_val;
48728    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48729    int n_ctxt;
48730    xmlNodePtr cur; /* the current node in the traversal */
48731    int n_cur;
48732
48733    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48734    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48735        mem_base = xmlMemBlocks();
48736        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48737        cur = gen_xmlNodePtr(n_cur, 1);
48738
48739        ret_val = xmlXPathNextChild(ctxt, cur);
48740        desret_xmlNodePtr(ret_val);
48741        call_tests++;
48742        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48743        des_xmlNodePtr(n_cur, cur, 1);
48744        xmlResetLastError();
48745        if (mem_base != xmlMemBlocks()) {
48746            printf("Leak of %d blocks found in xmlXPathNextChild",
48747	           xmlMemBlocks() - mem_base);
48748	    test_ret++;
48749            printf(" %d", n_ctxt);
48750            printf(" %d", n_cur);
48751            printf("\n");
48752        }
48753    }
48754    }
48755    function_tests++;
48756#endif
48757
48758    return(test_ret);
48759}
48760
48761
48762static int
48763test_xmlXPathNextDescendant(void) {
48764    int test_ret = 0;
48765
48766#if defined(LIBXML_XPATH_ENABLED)
48767    int mem_base;
48768    xmlNodePtr ret_val;
48769    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48770    int n_ctxt;
48771    xmlNodePtr cur; /* the current node in the traversal */
48772    int n_cur;
48773
48774    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48775    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48776        mem_base = xmlMemBlocks();
48777        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48778        cur = gen_xmlNodePtr(n_cur, 1);
48779
48780        ret_val = xmlXPathNextDescendant(ctxt, cur);
48781        desret_xmlNodePtr(ret_val);
48782        call_tests++;
48783        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48784        des_xmlNodePtr(n_cur, cur, 1);
48785        xmlResetLastError();
48786        if (mem_base != xmlMemBlocks()) {
48787            printf("Leak of %d blocks found in xmlXPathNextDescendant",
48788	           xmlMemBlocks() - mem_base);
48789	    test_ret++;
48790            printf(" %d", n_ctxt);
48791            printf(" %d", n_cur);
48792            printf("\n");
48793        }
48794    }
48795    }
48796    function_tests++;
48797#endif
48798
48799    return(test_ret);
48800}
48801
48802
48803static int
48804test_xmlXPathNextDescendantOrSelf(void) {
48805    int test_ret = 0;
48806
48807#if defined(LIBXML_XPATH_ENABLED)
48808    int mem_base;
48809    xmlNodePtr ret_val;
48810    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48811    int n_ctxt;
48812    xmlNodePtr cur; /* the current node in the traversal */
48813    int n_cur;
48814
48815    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48816    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48817        mem_base = xmlMemBlocks();
48818        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48819        cur = gen_xmlNodePtr(n_cur, 1);
48820
48821        ret_val = xmlXPathNextDescendantOrSelf(ctxt, cur);
48822        desret_xmlNodePtr(ret_val);
48823        call_tests++;
48824        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48825        des_xmlNodePtr(n_cur, cur, 1);
48826        xmlResetLastError();
48827        if (mem_base != xmlMemBlocks()) {
48828            printf("Leak of %d blocks found in xmlXPathNextDescendantOrSelf",
48829	           xmlMemBlocks() - mem_base);
48830	    test_ret++;
48831            printf(" %d", n_ctxt);
48832            printf(" %d", n_cur);
48833            printf("\n");
48834        }
48835    }
48836    }
48837    function_tests++;
48838#endif
48839
48840    return(test_ret);
48841}
48842
48843
48844static int
48845test_xmlXPathNextFollowing(void) {
48846    int test_ret = 0;
48847
48848#if defined(LIBXML_XPATH_ENABLED)
48849    int mem_base;
48850    xmlNodePtr ret_val;
48851    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48852    int n_ctxt;
48853    xmlNodePtr cur; /* the current node in the traversal */
48854    int n_cur;
48855
48856    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48857    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48858        mem_base = xmlMemBlocks();
48859        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48860        cur = gen_xmlNodePtr(n_cur, 1);
48861
48862        ret_val = xmlXPathNextFollowing(ctxt, cur);
48863        desret_xmlNodePtr(ret_val);
48864        call_tests++;
48865        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48866        des_xmlNodePtr(n_cur, cur, 1);
48867        xmlResetLastError();
48868        if (mem_base != xmlMemBlocks()) {
48869            printf("Leak of %d blocks found in xmlXPathNextFollowing",
48870	           xmlMemBlocks() - mem_base);
48871	    test_ret++;
48872            printf(" %d", n_ctxt);
48873            printf(" %d", n_cur);
48874            printf("\n");
48875        }
48876    }
48877    }
48878    function_tests++;
48879#endif
48880
48881    return(test_ret);
48882}
48883
48884
48885static int
48886test_xmlXPathNextFollowingSibling(void) {
48887    int test_ret = 0;
48888
48889#if defined(LIBXML_XPATH_ENABLED)
48890    int mem_base;
48891    xmlNodePtr ret_val;
48892    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48893    int n_ctxt;
48894    xmlNodePtr cur; /* the current node in the traversal */
48895    int n_cur;
48896
48897    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48898    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48899        mem_base = xmlMemBlocks();
48900        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48901        cur = gen_xmlNodePtr(n_cur, 1);
48902
48903        ret_val = xmlXPathNextFollowingSibling(ctxt, cur);
48904        desret_xmlNodePtr(ret_val);
48905        call_tests++;
48906        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48907        des_xmlNodePtr(n_cur, cur, 1);
48908        xmlResetLastError();
48909        if (mem_base != xmlMemBlocks()) {
48910            printf("Leak of %d blocks found in xmlXPathNextFollowingSibling",
48911	           xmlMemBlocks() - mem_base);
48912	    test_ret++;
48913            printf(" %d", n_ctxt);
48914            printf(" %d", n_cur);
48915            printf("\n");
48916        }
48917    }
48918    }
48919    function_tests++;
48920#endif
48921
48922    return(test_ret);
48923}
48924
48925
48926static int
48927test_xmlXPathNextNamespace(void) {
48928    int test_ret = 0;
48929
48930#if defined(LIBXML_XPATH_ENABLED)
48931    int mem_base;
48932    xmlNodePtr ret_val;
48933    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48934    int n_ctxt;
48935    xmlNodePtr cur; /* the current attribute in the traversal */
48936    int n_cur;
48937
48938    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48939    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48940        mem_base = xmlMemBlocks();
48941        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48942        cur = gen_xmlNodePtr(n_cur, 1);
48943
48944        ret_val = xmlXPathNextNamespace(ctxt, cur);
48945        desret_xmlNodePtr(ret_val);
48946        call_tests++;
48947        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48948        des_xmlNodePtr(n_cur, cur, 1);
48949        xmlResetLastError();
48950        if (mem_base != xmlMemBlocks()) {
48951            printf("Leak of %d blocks found in xmlXPathNextNamespace",
48952	           xmlMemBlocks() - mem_base);
48953	    test_ret++;
48954            printf(" %d", n_ctxt);
48955            printf(" %d", n_cur);
48956            printf("\n");
48957        }
48958    }
48959    }
48960    function_tests++;
48961#endif
48962
48963    return(test_ret);
48964}
48965
48966
48967static int
48968test_xmlXPathNextParent(void) {
48969    int test_ret = 0;
48970
48971#if defined(LIBXML_XPATH_ENABLED)
48972    int mem_base;
48973    xmlNodePtr ret_val;
48974    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
48975    int n_ctxt;
48976    xmlNodePtr cur; /* the current node in the traversal */
48977    int n_cur;
48978
48979    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
48980    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
48981        mem_base = xmlMemBlocks();
48982        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
48983        cur = gen_xmlNodePtr(n_cur, 1);
48984
48985        ret_val = xmlXPathNextParent(ctxt, cur);
48986        desret_xmlNodePtr(ret_val);
48987        call_tests++;
48988        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
48989        des_xmlNodePtr(n_cur, cur, 1);
48990        xmlResetLastError();
48991        if (mem_base != xmlMemBlocks()) {
48992            printf("Leak of %d blocks found in xmlXPathNextParent",
48993	           xmlMemBlocks() - mem_base);
48994	    test_ret++;
48995            printf(" %d", n_ctxt);
48996            printf(" %d", n_cur);
48997            printf("\n");
48998        }
48999    }
49000    }
49001    function_tests++;
49002#endif
49003
49004    return(test_ret);
49005}
49006
49007
49008static int
49009test_xmlXPathNextPreceding(void) {
49010    int test_ret = 0;
49011
49012#if defined(LIBXML_XPATH_ENABLED)
49013    int mem_base;
49014    xmlNodePtr ret_val;
49015    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49016    int n_ctxt;
49017    xmlNodePtr cur; /* the current node in the traversal */
49018    int n_cur;
49019
49020    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49021    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
49022        mem_base = xmlMemBlocks();
49023        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49024        cur = gen_xmlNodePtr(n_cur, 1);
49025
49026        ret_val = xmlXPathNextPreceding(ctxt, cur);
49027        desret_xmlNodePtr(ret_val);
49028        call_tests++;
49029        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49030        des_xmlNodePtr(n_cur, cur, 1);
49031        xmlResetLastError();
49032        if (mem_base != xmlMemBlocks()) {
49033            printf("Leak of %d blocks found in xmlXPathNextPreceding",
49034	           xmlMemBlocks() - mem_base);
49035	    test_ret++;
49036            printf(" %d", n_ctxt);
49037            printf(" %d", n_cur);
49038            printf("\n");
49039        }
49040    }
49041    }
49042    function_tests++;
49043#endif
49044
49045    return(test_ret);
49046}
49047
49048
49049static int
49050test_xmlXPathNextPrecedingSibling(void) {
49051    int test_ret = 0;
49052
49053#if defined(LIBXML_XPATH_ENABLED)
49054    int mem_base;
49055    xmlNodePtr ret_val;
49056    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49057    int n_ctxt;
49058    xmlNodePtr cur; /* the current node in the traversal */
49059    int n_cur;
49060
49061    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49062    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
49063        mem_base = xmlMemBlocks();
49064        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49065        cur = gen_xmlNodePtr(n_cur, 1);
49066
49067        ret_val = xmlXPathNextPrecedingSibling(ctxt, cur);
49068        desret_xmlNodePtr(ret_val);
49069        call_tests++;
49070        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49071        des_xmlNodePtr(n_cur, cur, 1);
49072        xmlResetLastError();
49073        if (mem_base != xmlMemBlocks()) {
49074            printf("Leak of %d blocks found in xmlXPathNextPrecedingSibling",
49075	           xmlMemBlocks() - mem_base);
49076	    test_ret++;
49077            printf(" %d", n_ctxt);
49078            printf(" %d", n_cur);
49079            printf("\n");
49080        }
49081    }
49082    }
49083    function_tests++;
49084#endif
49085
49086    return(test_ret);
49087}
49088
49089
49090static int
49091test_xmlXPathNextSelf(void) {
49092    int test_ret = 0;
49093
49094#if defined(LIBXML_XPATH_ENABLED)
49095    int mem_base;
49096    xmlNodePtr ret_val;
49097    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49098    int n_ctxt;
49099    xmlNodePtr cur; /* the current node in the traversal */
49100    int n_cur;
49101
49102    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49103    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
49104        mem_base = xmlMemBlocks();
49105        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49106        cur = gen_xmlNodePtr(n_cur, 1);
49107
49108        ret_val = xmlXPathNextSelf(ctxt, cur);
49109        desret_xmlNodePtr(ret_val);
49110        call_tests++;
49111        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49112        des_xmlNodePtr(n_cur, cur, 1);
49113        xmlResetLastError();
49114        if (mem_base != xmlMemBlocks()) {
49115            printf("Leak of %d blocks found in xmlXPathNextSelf",
49116	           xmlMemBlocks() - mem_base);
49117	    test_ret++;
49118            printf(" %d", n_ctxt);
49119            printf(" %d", n_cur);
49120            printf("\n");
49121        }
49122    }
49123    }
49124    function_tests++;
49125#endif
49126
49127    return(test_ret);
49128}
49129
49130
49131static int
49132test_xmlXPathNodeLeading(void) {
49133    int test_ret = 0;
49134
49135#if defined(LIBXML_XPATH_ENABLED)
49136    int mem_base;
49137    xmlNodeSetPtr ret_val;
49138    xmlNodeSetPtr nodes; /* a node-set */
49139    int n_nodes;
49140    xmlNodePtr node; /* a node */
49141    int n_node;
49142
49143    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
49144    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
49145        mem_base = xmlMemBlocks();
49146        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
49147        node = gen_xmlNodePtr(n_node, 1);
49148
49149        ret_val = xmlXPathNodeLeading(nodes, node);
49150        desret_xmlNodeSetPtr(ret_val);
49151        call_tests++;
49152        des_xmlNodeSetPtr(n_nodes, nodes, 0);
49153        des_xmlNodePtr(n_node, node, 1);
49154        xmlResetLastError();
49155        if (mem_base != xmlMemBlocks()) {
49156            printf("Leak of %d blocks found in xmlXPathNodeLeading",
49157	           xmlMemBlocks() - mem_base);
49158	    test_ret++;
49159            printf(" %d", n_nodes);
49160            printf(" %d", n_node);
49161            printf("\n");
49162        }
49163    }
49164    }
49165    function_tests++;
49166#endif
49167
49168    return(test_ret);
49169}
49170
49171
49172static int
49173test_xmlXPathNodeLeadingSorted(void) {
49174    int test_ret = 0;
49175
49176#if defined(LIBXML_XPATH_ENABLED)
49177    int mem_base;
49178    xmlNodeSetPtr ret_val;
49179    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
49180    int n_nodes;
49181    xmlNodePtr node; /* a node */
49182    int n_node;
49183
49184    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
49185    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
49186        mem_base = xmlMemBlocks();
49187        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
49188        node = gen_xmlNodePtr(n_node, 1);
49189
49190        ret_val = xmlXPathNodeLeadingSorted(nodes, node);
49191        desret_xmlNodeSetPtr(ret_val);
49192        call_tests++;
49193        des_xmlNodeSetPtr(n_nodes, nodes, 0);
49194        des_xmlNodePtr(n_node, node, 1);
49195        xmlResetLastError();
49196        if (mem_base != xmlMemBlocks()) {
49197            printf("Leak of %d blocks found in xmlXPathNodeLeadingSorted",
49198	           xmlMemBlocks() - mem_base);
49199	    test_ret++;
49200            printf(" %d", n_nodes);
49201            printf(" %d", n_node);
49202            printf("\n");
49203        }
49204    }
49205    }
49206    function_tests++;
49207#endif
49208
49209    return(test_ret);
49210}
49211
49212
49213static int
49214test_xmlXPathNodeSetAdd(void) {
49215    int test_ret = 0;
49216
49217#if defined(LIBXML_XPATH_ENABLED)
49218    int mem_base;
49219    int ret_val;
49220    xmlNodeSetPtr cur; /* the initial node set */
49221    int n_cur;
49222    xmlNodePtr val; /* a new xmlNodePtr */
49223    int n_val;
49224
49225    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49226    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
49227        mem_base = xmlMemBlocks();
49228        cur = gen_xmlNodeSetPtr(n_cur, 0);
49229        val = gen_xmlNodePtr(n_val, 1);
49230
49231        ret_val = xmlXPathNodeSetAdd(cur, val);
49232        desret_int(ret_val);
49233        call_tests++;
49234        des_xmlNodeSetPtr(n_cur, cur, 0);
49235        des_xmlNodePtr(n_val, val, 1);
49236        xmlResetLastError();
49237        if (mem_base != xmlMemBlocks()) {
49238            printf("Leak of %d blocks found in xmlXPathNodeSetAdd",
49239	           xmlMemBlocks() - mem_base);
49240	    test_ret++;
49241            printf(" %d", n_cur);
49242            printf(" %d", n_val);
49243            printf("\n");
49244        }
49245    }
49246    }
49247    function_tests++;
49248#endif
49249
49250    return(test_ret);
49251}
49252
49253
49254static int
49255test_xmlXPathNodeSetAddNs(void) {
49256    int test_ret = 0;
49257
49258#if defined(LIBXML_XPATH_ENABLED)
49259    int mem_base;
49260    int ret_val;
49261    xmlNodeSetPtr cur; /* the initial node set */
49262    int n_cur;
49263    xmlNodePtr node; /* the hosting node */
49264    int n_node;
49265    xmlNsPtr ns; /* a the namespace node */
49266    int n_ns;
49267
49268    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49269    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
49270    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
49271        mem_base = xmlMemBlocks();
49272        cur = gen_xmlNodeSetPtr(n_cur, 0);
49273        node = gen_xmlNodePtr(n_node, 1);
49274        ns = gen_xmlNsPtr(n_ns, 2);
49275
49276        ret_val = xmlXPathNodeSetAddNs(cur, node, ns);
49277        desret_int(ret_val);
49278        call_tests++;
49279        des_xmlNodeSetPtr(n_cur, cur, 0);
49280        des_xmlNodePtr(n_node, node, 1);
49281        des_xmlNsPtr(n_ns, ns, 2);
49282        xmlResetLastError();
49283        if (mem_base != xmlMemBlocks()) {
49284            printf("Leak of %d blocks found in xmlXPathNodeSetAddNs",
49285	           xmlMemBlocks() - mem_base);
49286	    test_ret++;
49287            printf(" %d", n_cur);
49288            printf(" %d", n_node);
49289            printf(" %d", n_ns);
49290            printf("\n");
49291        }
49292    }
49293    }
49294    }
49295    function_tests++;
49296#endif
49297
49298    return(test_ret);
49299}
49300
49301
49302static int
49303test_xmlXPathNodeSetAddUnique(void) {
49304    int test_ret = 0;
49305
49306#if defined(LIBXML_XPATH_ENABLED)
49307    int mem_base;
49308    int ret_val;
49309    xmlNodeSetPtr cur; /* the initial node set */
49310    int n_cur;
49311    xmlNodePtr val; /* a new xmlNodePtr */
49312    int n_val;
49313
49314    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49315    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
49316        mem_base = xmlMemBlocks();
49317        cur = gen_xmlNodeSetPtr(n_cur, 0);
49318        val = gen_xmlNodePtr(n_val, 1);
49319
49320        ret_val = xmlXPathNodeSetAddUnique(cur, val);
49321        desret_int(ret_val);
49322        call_tests++;
49323        des_xmlNodeSetPtr(n_cur, cur, 0);
49324        des_xmlNodePtr(n_val, val, 1);
49325        xmlResetLastError();
49326        if (mem_base != xmlMemBlocks()) {
49327            printf("Leak of %d blocks found in xmlXPathNodeSetAddUnique",
49328	           xmlMemBlocks() - mem_base);
49329	    test_ret++;
49330            printf(" %d", n_cur);
49331            printf(" %d", n_val);
49332            printf("\n");
49333        }
49334    }
49335    }
49336    function_tests++;
49337#endif
49338
49339    return(test_ret);
49340}
49341
49342
49343static int
49344test_xmlXPathNodeSetContains(void) {
49345    int test_ret = 0;
49346
49347#if defined(LIBXML_XPATH_ENABLED)
49348    int mem_base;
49349    int ret_val;
49350    xmlNodeSetPtr cur; /* the node-set */
49351    int n_cur;
49352    xmlNodePtr val; /* the node */
49353    int n_val;
49354
49355    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49356    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
49357        mem_base = xmlMemBlocks();
49358        cur = gen_xmlNodeSetPtr(n_cur, 0);
49359        val = gen_xmlNodePtr(n_val, 1);
49360
49361        ret_val = xmlXPathNodeSetContains(cur, val);
49362        desret_int(ret_val);
49363        call_tests++;
49364        des_xmlNodeSetPtr(n_cur, cur, 0);
49365        des_xmlNodePtr(n_val, val, 1);
49366        xmlResetLastError();
49367        if (mem_base != xmlMemBlocks()) {
49368            printf("Leak of %d blocks found in xmlXPathNodeSetContains",
49369	           xmlMemBlocks() - mem_base);
49370	    test_ret++;
49371            printf(" %d", n_cur);
49372            printf(" %d", n_val);
49373            printf("\n");
49374        }
49375    }
49376    }
49377    function_tests++;
49378#endif
49379
49380    return(test_ret);
49381}
49382
49383
49384static int
49385test_xmlXPathNodeSetDel(void) {
49386    int test_ret = 0;
49387
49388#if defined(LIBXML_XPATH_ENABLED)
49389    int mem_base;
49390    xmlNodeSetPtr cur; /* the initial node set */
49391    int n_cur;
49392    xmlNodePtr val; /* an xmlNodePtr */
49393    int n_val;
49394
49395    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49396    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
49397        mem_base = xmlMemBlocks();
49398        cur = gen_xmlNodeSetPtr(n_cur, 0);
49399        val = gen_xmlNodePtr(n_val, 1);
49400
49401        xmlXPathNodeSetDel(cur, val);
49402        call_tests++;
49403        des_xmlNodeSetPtr(n_cur, cur, 0);
49404        des_xmlNodePtr(n_val, val, 1);
49405        xmlResetLastError();
49406        if (mem_base != xmlMemBlocks()) {
49407            printf("Leak of %d blocks found in xmlXPathNodeSetDel",
49408	           xmlMemBlocks() - mem_base);
49409	    test_ret++;
49410            printf(" %d", n_cur);
49411            printf(" %d", n_val);
49412            printf("\n");
49413        }
49414    }
49415    }
49416    function_tests++;
49417#endif
49418
49419    return(test_ret);
49420}
49421
49422
49423static int
49424test_xmlXPathNodeSetMerge(void) {
49425    int test_ret = 0;
49426
49427#if defined(LIBXML_XPATH_ENABLED)
49428    int mem_base;
49429    xmlNodeSetPtr ret_val;
49430    xmlNodeSetPtr val1; /* the first NodeSet or NULL */
49431    int n_val1;
49432    xmlNodeSetPtr val2; /* the second NodeSet */
49433    int n_val2;
49434
49435    for (n_val1 = 0;n_val1 < gen_nb_xmlNodeSetPtr;n_val1++) {
49436    for (n_val2 = 0;n_val2 < gen_nb_xmlNodeSetPtr;n_val2++) {
49437        mem_base = xmlMemBlocks();
49438        val1 = gen_xmlNodeSetPtr(n_val1, 0);
49439        val2 = gen_xmlNodeSetPtr(n_val2, 1);
49440
49441        ret_val = xmlXPathNodeSetMerge(val1, val2);
49442        desret_xmlNodeSetPtr(ret_val);
49443        call_tests++;
49444        des_xmlNodeSetPtr(n_val1, val1, 0);
49445        des_xmlNodeSetPtr(n_val2, val2, 1);
49446        xmlResetLastError();
49447        if (mem_base != xmlMemBlocks()) {
49448            printf("Leak of %d blocks found in xmlXPathNodeSetMerge",
49449	           xmlMemBlocks() - mem_base);
49450	    test_ret++;
49451            printf(" %d", n_val1);
49452            printf(" %d", n_val2);
49453            printf("\n");
49454        }
49455    }
49456    }
49457    function_tests++;
49458#endif
49459
49460    return(test_ret);
49461}
49462
49463
49464static int
49465test_xmlXPathNodeSetRemove(void) {
49466    int test_ret = 0;
49467
49468#if defined(LIBXML_XPATH_ENABLED)
49469    int mem_base;
49470    xmlNodeSetPtr cur; /* the initial node set */
49471    int n_cur;
49472    int val; /* the index to remove */
49473    int n_val;
49474
49475    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
49476    for (n_val = 0;n_val < gen_nb_int;n_val++) {
49477        mem_base = xmlMemBlocks();
49478        cur = gen_xmlNodeSetPtr(n_cur, 0);
49479        val = gen_int(n_val, 1);
49480
49481        xmlXPathNodeSetRemove(cur, val);
49482        call_tests++;
49483        des_xmlNodeSetPtr(n_cur, cur, 0);
49484        des_int(n_val, val, 1);
49485        xmlResetLastError();
49486        if (mem_base != xmlMemBlocks()) {
49487            printf("Leak of %d blocks found in xmlXPathNodeSetRemove",
49488	           xmlMemBlocks() - mem_base);
49489	    test_ret++;
49490            printf(" %d", n_cur);
49491            printf(" %d", n_val);
49492            printf("\n");
49493        }
49494    }
49495    }
49496    function_tests++;
49497#endif
49498
49499    return(test_ret);
49500}
49501
49502
49503static int
49504test_xmlXPathNodeSetSort(void) {
49505    int test_ret = 0;
49506
49507#if defined(LIBXML_XPATH_ENABLED)
49508    int mem_base;
49509    xmlNodeSetPtr set; /* the node set */
49510    int n_set;
49511
49512    for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
49513        mem_base = xmlMemBlocks();
49514        set = gen_xmlNodeSetPtr(n_set, 0);
49515
49516        xmlXPathNodeSetSort(set);
49517        call_tests++;
49518        des_xmlNodeSetPtr(n_set, set, 0);
49519        xmlResetLastError();
49520        if (mem_base != xmlMemBlocks()) {
49521            printf("Leak of %d blocks found in xmlXPathNodeSetSort",
49522	           xmlMemBlocks() - mem_base);
49523	    test_ret++;
49524            printf(" %d", n_set);
49525            printf("\n");
49526        }
49527    }
49528    function_tests++;
49529#endif
49530
49531    return(test_ret);
49532}
49533
49534
49535static int
49536test_xmlXPathNodeTrailing(void) {
49537    int test_ret = 0;
49538
49539#if defined(LIBXML_XPATH_ENABLED)
49540    int mem_base;
49541    xmlNodeSetPtr ret_val;
49542    xmlNodeSetPtr nodes; /* a node-set */
49543    int n_nodes;
49544    xmlNodePtr node; /* a node */
49545    int n_node;
49546
49547    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
49548    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
49549        mem_base = xmlMemBlocks();
49550        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
49551        node = gen_xmlNodePtr(n_node, 1);
49552
49553        ret_val = xmlXPathNodeTrailing(nodes, node);
49554        desret_xmlNodeSetPtr(ret_val);
49555        call_tests++;
49556        des_xmlNodeSetPtr(n_nodes, nodes, 0);
49557        des_xmlNodePtr(n_node, node, 1);
49558        xmlResetLastError();
49559        if (mem_base != xmlMemBlocks()) {
49560            printf("Leak of %d blocks found in xmlXPathNodeTrailing",
49561	           xmlMemBlocks() - mem_base);
49562	    test_ret++;
49563            printf(" %d", n_nodes);
49564            printf(" %d", n_node);
49565            printf("\n");
49566        }
49567    }
49568    }
49569    function_tests++;
49570#endif
49571
49572    return(test_ret);
49573}
49574
49575
49576static int
49577test_xmlXPathNodeTrailingSorted(void) {
49578    int test_ret = 0;
49579
49580#if defined(LIBXML_XPATH_ENABLED)
49581    int mem_base;
49582    xmlNodeSetPtr ret_val;
49583    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
49584    int n_nodes;
49585    xmlNodePtr node; /* a node */
49586    int n_node;
49587
49588    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
49589    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
49590        mem_base = xmlMemBlocks();
49591        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
49592        node = gen_xmlNodePtr(n_node, 1);
49593
49594        ret_val = xmlXPathNodeTrailingSorted(nodes, node);
49595        desret_xmlNodeSetPtr(ret_val);
49596        call_tests++;
49597        des_xmlNodeSetPtr(n_nodes, nodes, 0);
49598        des_xmlNodePtr(n_node, node, 1);
49599        xmlResetLastError();
49600        if (mem_base != xmlMemBlocks()) {
49601            printf("Leak of %d blocks found in xmlXPathNodeTrailingSorted",
49602	           xmlMemBlocks() - mem_base);
49603	    test_ret++;
49604            printf(" %d", n_nodes);
49605            printf(" %d", n_node);
49606            printf("\n");
49607        }
49608    }
49609    }
49610    function_tests++;
49611#endif
49612
49613    return(test_ret);
49614}
49615
49616
49617static int
49618test_xmlXPathNormalizeFunction(void) {
49619    int test_ret = 0;
49620
49621#if defined(LIBXML_XPATH_ENABLED)
49622    int mem_base;
49623    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49624    int n_ctxt;
49625    int nargs; /* the number of arguments */
49626    int n_nargs;
49627
49628    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49629    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
49630        mem_base = xmlMemBlocks();
49631        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49632        nargs = gen_int(n_nargs, 1);
49633
49634        xmlXPathNormalizeFunction(ctxt, nargs);
49635        call_tests++;
49636        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49637        des_int(n_nargs, nargs, 1);
49638        xmlResetLastError();
49639        if (mem_base != xmlMemBlocks()) {
49640            printf("Leak of %d blocks found in xmlXPathNormalizeFunction",
49641	           xmlMemBlocks() - mem_base);
49642	    test_ret++;
49643            printf(" %d", n_ctxt);
49644            printf(" %d", n_nargs);
49645            printf("\n");
49646        }
49647    }
49648    }
49649    function_tests++;
49650#endif
49651
49652    return(test_ret);
49653}
49654
49655
49656static int
49657test_xmlXPathNotEqualValues(void) {
49658    int test_ret = 0;
49659
49660#if defined(LIBXML_XPATH_ENABLED)
49661    int mem_base;
49662    int ret_val;
49663    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49664    int n_ctxt;
49665
49666    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49667        mem_base = xmlMemBlocks();
49668        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49669
49670        ret_val = xmlXPathNotEqualValues(ctxt);
49671        desret_int(ret_val);
49672        call_tests++;
49673        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49674        xmlResetLastError();
49675        if (mem_base != xmlMemBlocks()) {
49676            printf("Leak of %d blocks found in xmlXPathNotEqualValues",
49677	           xmlMemBlocks() - mem_base);
49678	    test_ret++;
49679            printf(" %d", n_ctxt);
49680            printf("\n");
49681        }
49682    }
49683    function_tests++;
49684#endif
49685
49686    return(test_ret);
49687}
49688
49689
49690static int
49691test_xmlXPathNotFunction(void) {
49692    int test_ret = 0;
49693
49694#if defined(LIBXML_XPATH_ENABLED)
49695    int mem_base;
49696    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49697    int n_ctxt;
49698    int nargs; /* the number of arguments */
49699    int n_nargs;
49700
49701    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49702    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
49703        mem_base = xmlMemBlocks();
49704        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49705        nargs = gen_int(n_nargs, 1);
49706
49707        xmlXPathNotFunction(ctxt, nargs);
49708        call_tests++;
49709        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49710        des_int(n_nargs, nargs, 1);
49711        xmlResetLastError();
49712        if (mem_base != xmlMemBlocks()) {
49713            printf("Leak of %d blocks found in xmlXPathNotFunction",
49714	           xmlMemBlocks() - mem_base);
49715	    test_ret++;
49716            printf(" %d", n_ctxt);
49717            printf(" %d", n_nargs);
49718            printf("\n");
49719        }
49720    }
49721    }
49722    function_tests++;
49723#endif
49724
49725    return(test_ret);
49726}
49727
49728
49729static int
49730test_xmlXPathNsLookup(void) {
49731    int test_ret = 0;
49732
49733#if defined(LIBXML_XPATH_ENABLED)
49734    int mem_base;
49735    const xmlChar * ret_val;
49736    xmlXPathContextPtr ctxt; /* the XPath context */
49737    int n_ctxt;
49738    xmlChar * prefix; /* the namespace prefix value */
49739    int n_prefix;
49740
49741    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
49742    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
49743        mem_base = xmlMemBlocks();
49744        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
49745        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
49746
49747        ret_val = xmlXPathNsLookup(ctxt, (const xmlChar *)prefix);
49748        desret_const_xmlChar_ptr(ret_val);
49749        call_tests++;
49750        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
49751        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
49752        xmlResetLastError();
49753        if (mem_base != xmlMemBlocks()) {
49754            printf("Leak of %d blocks found in xmlXPathNsLookup",
49755	           xmlMemBlocks() - mem_base);
49756	    test_ret++;
49757            printf(" %d", n_ctxt);
49758            printf(" %d", n_prefix);
49759            printf("\n");
49760        }
49761    }
49762    }
49763    function_tests++;
49764#endif
49765
49766    return(test_ret);
49767}
49768
49769
49770static int
49771test_xmlXPathNumberFunction(void) {
49772    int test_ret = 0;
49773
49774#if defined(LIBXML_XPATH_ENABLED)
49775    int mem_base;
49776    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49777    int n_ctxt;
49778    int nargs; /* the number of arguments */
49779    int n_nargs;
49780
49781    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49782    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
49783        mem_base = xmlMemBlocks();
49784        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49785        nargs = gen_int(n_nargs, 1);
49786
49787        xmlXPathNumberFunction(ctxt, nargs);
49788        call_tests++;
49789        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49790        des_int(n_nargs, nargs, 1);
49791        xmlResetLastError();
49792        if (mem_base != xmlMemBlocks()) {
49793            printf("Leak of %d blocks found in xmlXPathNumberFunction",
49794	           xmlMemBlocks() - mem_base);
49795	    test_ret++;
49796            printf(" %d", n_ctxt);
49797            printf(" %d", n_nargs);
49798            printf("\n");
49799        }
49800    }
49801    }
49802    function_tests++;
49803#endif
49804
49805    return(test_ret);
49806}
49807
49808
49809static int
49810test_xmlXPathParseNCName(void) {
49811    int test_ret = 0;
49812
49813#if defined(LIBXML_XPATH_ENABLED)
49814    int mem_base;
49815    xmlChar * ret_val;
49816    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49817    int n_ctxt;
49818
49819    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49820        mem_base = xmlMemBlocks();
49821        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49822
49823        ret_val = xmlXPathParseNCName(ctxt);
49824        desret_xmlChar_ptr(ret_val);
49825        call_tests++;
49826        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49827        xmlResetLastError();
49828        if (mem_base != xmlMemBlocks()) {
49829            printf("Leak of %d blocks found in xmlXPathParseNCName",
49830	           xmlMemBlocks() - mem_base);
49831	    test_ret++;
49832            printf(" %d", n_ctxt);
49833            printf("\n");
49834        }
49835    }
49836    function_tests++;
49837#endif
49838
49839    return(test_ret);
49840}
49841
49842
49843static int
49844test_xmlXPathParseName(void) {
49845    int test_ret = 0;
49846
49847#if defined(LIBXML_XPATH_ENABLED)
49848    int mem_base;
49849    xmlChar * ret_val;
49850    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
49851    int n_ctxt;
49852
49853    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49854        mem_base = xmlMemBlocks();
49855        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49856
49857        ret_val = xmlXPathParseName(ctxt);
49858        desret_xmlChar_ptr(ret_val);
49859        call_tests++;
49860        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49861        xmlResetLastError();
49862        if (mem_base != xmlMemBlocks()) {
49863            printf("Leak of %d blocks found in xmlXPathParseName",
49864	           xmlMemBlocks() - mem_base);
49865	    test_ret++;
49866            printf(" %d", n_ctxt);
49867            printf("\n");
49868        }
49869    }
49870    function_tests++;
49871#endif
49872
49873    return(test_ret);
49874}
49875
49876
49877static int
49878test_xmlXPathPopBoolean(void) {
49879    int test_ret = 0;
49880
49881#if defined(LIBXML_XPATH_ENABLED)
49882    int mem_base;
49883    int ret_val;
49884    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
49885    int n_ctxt;
49886
49887    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49888        mem_base = xmlMemBlocks();
49889        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49890
49891        ret_val = xmlXPathPopBoolean(ctxt);
49892        desret_int(ret_val);
49893        call_tests++;
49894        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49895        xmlResetLastError();
49896        if (mem_base != xmlMemBlocks()) {
49897            printf("Leak of %d blocks found in xmlXPathPopBoolean",
49898	           xmlMemBlocks() - mem_base);
49899	    test_ret++;
49900            printf(" %d", n_ctxt);
49901            printf("\n");
49902        }
49903    }
49904    function_tests++;
49905#endif
49906
49907    return(test_ret);
49908}
49909
49910
49911static int
49912test_xmlXPathPopExternal(void) {
49913    int test_ret = 0;
49914
49915#if defined(LIBXML_XPATH_ENABLED)
49916    int mem_base;
49917    void * ret_val;
49918    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
49919    int n_ctxt;
49920
49921    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49922        mem_base = xmlMemBlocks();
49923        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49924
49925        ret_val = xmlXPathPopExternal(ctxt);
49926        desret_void_ptr(ret_val);
49927        call_tests++;
49928        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49929        xmlResetLastError();
49930        if (mem_base != xmlMemBlocks()) {
49931            printf("Leak of %d blocks found in xmlXPathPopExternal",
49932	           xmlMemBlocks() - mem_base);
49933	    test_ret++;
49934            printf(" %d", n_ctxt);
49935            printf("\n");
49936        }
49937    }
49938    function_tests++;
49939#endif
49940
49941    return(test_ret);
49942}
49943
49944
49945static int
49946test_xmlXPathPopNodeSet(void) {
49947    int test_ret = 0;
49948
49949#if defined(LIBXML_XPATH_ENABLED)
49950    int mem_base;
49951    xmlNodeSetPtr ret_val;
49952    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
49953    int n_ctxt;
49954
49955    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49956        mem_base = xmlMemBlocks();
49957        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49958
49959        ret_val = xmlXPathPopNodeSet(ctxt);
49960        desret_xmlNodeSetPtr(ret_val);
49961        call_tests++;
49962        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49963        xmlResetLastError();
49964        if (mem_base != xmlMemBlocks()) {
49965            printf("Leak of %d blocks found in xmlXPathPopNodeSet",
49966	           xmlMemBlocks() - mem_base);
49967	    test_ret++;
49968            printf(" %d", n_ctxt);
49969            printf("\n");
49970        }
49971    }
49972    function_tests++;
49973#endif
49974
49975    return(test_ret);
49976}
49977
49978
49979static int
49980test_xmlXPathPopNumber(void) {
49981    int test_ret = 0;
49982
49983#if defined(LIBXML_XPATH_ENABLED)
49984    int mem_base;
49985    double ret_val;
49986    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
49987    int n_ctxt;
49988
49989    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
49990        mem_base = xmlMemBlocks();
49991        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
49992
49993        ret_val = xmlXPathPopNumber(ctxt);
49994        desret_double(ret_val);
49995        call_tests++;
49996        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
49997        xmlResetLastError();
49998        if (mem_base != xmlMemBlocks()) {
49999            printf("Leak of %d blocks found in xmlXPathPopNumber",
50000	           xmlMemBlocks() - mem_base);
50001	    test_ret++;
50002            printf(" %d", n_ctxt);
50003            printf("\n");
50004        }
50005    }
50006    function_tests++;
50007#endif
50008
50009    return(test_ret);
50010}
50011
50012
50013static int
50014test_xmlXPathPopString(void) {
50015    int test_ret = 0;
50016
50017#if defined(LIBXML_XPATH_ENABLED)
50018    int mem_base;
50019    xmlChar * ret_val;
50020    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
50021    int n_ctxt;
50022
50023    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50024        mem_base = xmlMemBlocks();
50025        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50026
50027        ret_val = xmlXPathPopString(ctxt);
50028        desret_xmlChar_ptr(ret_val);
50029        call_tests++;
50030        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50031        xmlResetLastError();
50032        if (mem_base != xmlMemBlocks()) {
50033            printf("Leak of %d blocks found in xmlXPathPopString",
50034	           xmlMemBlocks() - mem_base);
50035	    test_ret++;
50036            printf(" %d", n_ctxt);
50037            printf("\n");
50038        }
50039    }
50040    function_tests++;
50041#endif
50042
50043    return(test_ret);
50044}
50045
50046
50047static int
50048test_xmlXPathPositionFunction(void) {
50049    int test_ret = 0;
50050
50051#if defined(LIBXML_XPATH_ENABLED)
50052    int mem_base;
50053    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50054    int n_ctxt;
50055    int nargs; /* the number of arguments */
50056    int n_nargs;
50057
50058    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50059    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50060        mem_base = xmlMemBlocks();
50061        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50062        nargs = gen_int(n_nargs, 1);
50063
50064        xmlXPathPositionFunction(ctxt, nargs);
50065        call_tests++;
50066        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50067        des_int(n_nargs, nargs, 1);
50068        xmlResetLastError();
50069        if (mem_base != xmlMemBlocks()) {
50070            printf("Leak of %d blocks found in xmlXPathPositionFunction",
50071	           xmlMemBlocks() - mem_base);
50072	    test_ret++;
50073            printf(" %d", n_ctxt);
50074            printf(" %d", n_nargs);
50075            printf("\n");
50076        }
50077    }
50078    }
50079    function_tests++;
50080#endif
50081
50082    return(test_ret);
50083}
50084
50085
50086static int
50087test_xmlXPathRegisterAllFunctions(void) {
50088    int test_ret = 0;
50089
50090#if defined(LIBXML_XPATH_ENABLED)
50091    int mem_base;
50092    xmlXPathContextPtr ctxt; /* the XPath context */
50093    int n_ctxt;
50094
50095    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50096        mem_base = xmlMemBlocks();
50097        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50098
50099        xmlXPathRegisterAllFunctions(ctxt);
50100        call_tests++;
50101        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50102        xmlResetLastError();
50103        if (mem_base != xmlMemBlocks()) {
50104            printf("Leak of %d blocks found in xmlXPathRegisterAllFunctions",
50105	           xmlMemBlocks() - mem_base);
50106	    test_ret++;
50107            printf(" %d", n_ctxt);
50108            printf("\n");
50109        }
50110    }
50111    function_tests++;
50112#endif
50113
50114    return(test_ret);
50115}
50116
50117
50118static int
50119test_xmlXPathRegisterFunc(void) {
50120    int test_ret = 0;
50121
50122
50123    /* missing type support */
50124    return(test_ret);
50125}
50126
50127
50128static int
50129test_xmlXPathRegisterFuncLookup(void) {
50130    int test_ret = 0;
50131
50132
50133    /* missing type support */
50134    return(test_ret);
50135}
50136
50137
50138static int
50139test_xmlXPathRegisterFuncNS(void) {
50140    int test_ret = 0;
50141
50142
50143    /* missing type support */
50144    return(test_ret);
50145}
50146
50147
50148static int
50149test_xmlXPathRegisterNs(void) {
50150    int test_ret = 0;
50151
50152#if defined(LIBXML_XPATH_ENABLED)
50153    int mem_base;
50154    int ret_val;
50155    xmlXPathContextPtr ctxt; /* the XPath context */
50156    int n_ctxt;
50157    xmlChar * prefix; /* the namespace prefix cannot be NULL or empty string */
50158    int n_prefix;
50159    xmlChar * ns_uri; /* the namespace name */
50160    int n_ns_uri;
50161
50162    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50163    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
50164    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
50165        mem_base = xmlMemBlocks();
50166        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50167        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
50168        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
50169
50170        ret_val = xmlXPathRegisterNs(ctxt, (const xmlChar *)prefix, (const xmlChar *)ns_uri);
50171        desret_int(ret_val);
50172        call_tests++;
50173        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50174        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
50175        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
50176        xmlResetLastError();
50177        if (mem_base != xmlMemBlocks()) {
50178            printf("Leak of %d blocks found in xmlXPathRegisterNs",
50179	           xmlMemBlocks() - mem_base);
50180	    test_ret++;
50181            printf(" %d", n_ctxt);
50182            printf(" %d", n_prefix);
50183            printf(" %d", n_ns_uri);
50184            printf("\n");
50185        }
50186    }
50187    }
50188    }
50189    function_tests++;
50190#endif
50191
50192    return(test_ret);
50193}
50194
50195
50196static int
50197test_xmlXPathRegisterVariable(void) {
50198    int test_ret = 0;
50199
50200#if defined(LIBXML_XPATH_ENABLED)
50201    int mem_base;
50202    int ret_val;
50203    xmlXPathContextPtr ctxt; /* the XPath context */
50204    int n_ctxt;
50205    xmlChar * name; /* the variable name */
50206    int n_name;
50207    xmlXPathObjectPtr value; /* the variable value or NULL */
50208    int n_value;
50209
50210    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50211    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
50212    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
50213        mem_base = xmlMemBlocks();
50214        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50215        name = gen_const_xmlChar_ptr(n_name, 1);
50216        value = gen_xmlXPathObjectPtr(n_value, 2);
50217
50218        ret_val = xmlXPathRegisterVariable(ctxt, (const xmlChar *)name, value);
50219        desret_int(ret_val);
50220        call_tests++;
50221        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50222        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
50223        des_xmlXPathObjectPtr(n_value, value, 2);
50224        xmlResetLastError();
50225        if (mem_base != xmlMemBlocks()) {
50226            printf("Leak of %d blocks found in xmlXPathRegisterVariable",
50227	           xmlMemBlocks() - mem_base);
50228	    test_ret++;
50229            printf(" %d", n_ctxt);
50230            printf(" %d", n_name);
50231            printf(" %d", n_value);
50232            printf("\n");
50233        }
50234    }
50235    }
50236    }
50237    function_tests++;
50238#endif
50239
50240    return(test_ret);
50241}
50242
50243
50244static int
50245test_xmlXPathRegisterVariableLookup(void) {
50246    int test_ret = 0;
50247
50248
50249    /* missing type support */
50250    return(test_ret);
50251}
50252
50253
50254static int
50255test_xmlXPathRegisterVariableNS(void) {
50256    int test_ret = 0;
50257
50258#if defined(LIBXML_XPATH_ENABLED)
50259    int mem_base;
50260    int ret_val;
50261    xmlXPathContextPtr ctxt; /* the XPath context */
50262    int n_ctxt;
50263    xmlChar * name; /* the variable name */
50264    int n_name;
50265    xmlChar * ns_uri; /* the variable namespace URI */
50266    int n_ns_uri;
50267    xmlXPathObjectPtr value; /* the variable value or NULL */
50268    int n_value;
50269
50270    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50271    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
50272    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
50273    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
50274        mem_base = xmlMemBlocks();
50275        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50276        name = gen_const_xmlChar_ptr(n_name, 1);
50277        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
50278        value = gen_xmlXPathObjectPtr(n_value, 3);
50279
50280        ret_val = xmlXPathRegisterVariableNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri, value);
50281        desret_int(ret_val);
50282        call_tests++;
50283        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50284        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
50285        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
50286        des_xmlXPathObjectPtr(n_value, value, 3);
50287        xmlResetLastError();
50288        if (mem_base != xmlMemBlocks()) {
50289            printf("Leak of %d blocks found in xmlXPathRegisterVariableNS",
50290	           xmlMemBlocks() - mem_base);
50291	    test_ret++;
50292            printf(" %d", n_ctxt);
50293            printf(" %d", n_name);
50294            printf(" %d", n_ns_uri);
50295            printf(" %d", n_value);
50296            printf("\n");
50297        }
50298    }
50299    }
50300    }
50301    }
50302    function_tests++;
50303#endif
50304
50305    return(test_ret);
50306}
50307
50308
50309static int
50310test_xmlXPathRegisteredFuncsCleanup(void) {
50311    int test_ret = 0;
50312
50313#if defined(LIBXML_XPATH_ENABLED)
50314    int mem_base;
50315    xmlXPathContextPtr ctxt; /* the XPath context */
50316    int n_ctxt;
50317
50318    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50319        mem_base = xmlMemBlocks();
50320        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50321
50322        xmlXPathRegisteredFuncsCleanup(ctxt);
50323        call_tests++;
50324        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50325        xmlResetLastError();
50326        if (mem_base != xmlMemBlocks()) {
50327            printf("Leak of %d blocks found in xmlXPathRegisteredFuncsCleanup",
50328	           xmlMemBlocks() - mem_base);
50329	    test_ret++;
50330            printf(" %d", n_ctxt);
50331            printf("\n");
50332        }
50333    }
50334    function_tests++;
50335#endif
50336
50337    return(test_ret);
50338}
50339
50340
50341static int
50342test_xmlXPathRegisteredNsCleanup(void) {
50343    int test_ret = 0;
50344
50345#if defined(LIBXML_XPATH_ENABLED)
50346    int mem_base;
50347    xmlXPathContextPtr ctxt; /* the XPath context */
50348    int n_ctxt;
50349
50350    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50351        mem_base = xmlMemBlocks();
50352        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50353
50354        xmlXPathRegisteredNsCleanup(ctxt);
50355        call_tests++;
50356        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50357        xmlResetLastError();
50358        if (mem_base != xmlMemBlocks()) {
50359            printf("Leak of %d blocks found in xmlXPathRegisteredNsCleanup",
50360	           xmlMemBlocks() - mem_base);
50361	    test_ret++;
50362            printf(" %d", n_ctxt);
50363            printf("\n");
50364        }
50365    }
50366    function_tests++;
50367#endif
50368
50369    return(test_ret);
50370}
50371
50372
50373static int
50374test_xmlXPathRegisteredVariablesCleanup(void) {
50375    int test_ret = 0;
50376
50377#if defined(LIBXML_XPATH_ENABLED)
50378    int mem_base;
50379    xmlXPathContextPtr ctxt; /* the XPath context */
50380    int n_ctxt;
50381
50382    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
50383        mem_base = xmlMemBlocks();
50384        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
50385
50386        xmlXPathRegisteredVariablesCleanup(ctxt);
50387        call_tests++;
50388        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
50389        xmlResetLastError();
50390        if (mem_base != xmlMemBlocks()) {
50391            printf("Leak of %d blocks found in xmlXPathRegisteredVariablesCleanup",
50392	           xmlMemBlocks() - mem_base);
50393	    test_ret++;
50394            printf(" %d", n_ctxt);
50395            printf("\n");
50396        }
50397    }
50398    function_tests++;
50399#endif
50400
50401    return(test_ret);
50402}
50403
50404
50405static int
50406test_xmlXPathRoot(void) {
50407    int test_ret = 0;
50408
50409#if defined(LIBXML_XPATH_ENABLED)
50410    int mem_base;
50411    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50412    int n_ctxt;
50413
50414    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50415        mem_base = xmlMemBlocks();
50416        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50417
50418        xmlXPathRoot(ctxt);
50419        call_tests++;
50420        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50421        xmlResetLastError();
50422        if (mem_base != xmlMemBlocks()) {
50423            printf("Leak of %d blocks found in xmlXPathRoot",
50424	           xmlMemBlocks() - mem_base);
50425	    test_ret++;
50426            printf(" %d", n_ctxt);
50427            printf("\n");
50428        }
50429    }
50430    function_tests++;
50431#endif
50432
50433    return(test_ret);
50434}
50435
50436
50437static int
50438test_xmlXPathRoundFunction(void) {
50439    int test_ret = 0;
50440
50441#if defined(LIBXML_XPATH_ENABLED)
50442    int mem_base;
50443    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50444    int n_ctxt;
50445    int nargs; /* the number of arguments */
50446    int n_nargs;
50447
50448    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50449    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50450        mem_base = xmlMemBlocks();
50451        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50452        nargs = gen_int(n_nargs, 1);
50453
50454        xmlXPathRoundFunction(ctxt, nargs);
50455        call_tests++;
50456        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50457        des_int(n_nargs, nargs, 1);
50458        xmlResetLastError();
50459        if (mem_base != xmlMemBlocks()) {
50460            printf("Leak of %d blocks found in xmlXPathRoundFunction",
50461	           xmlMemBlocks() - mem_base);
50462	    test_ret++;
50463            printf(" %d", n_ctxt);
50464            printf(" %d", n_nargs);
50465            printf("\n");
50466        }
50467    }
50468    }
50469    function_tests++;
50470#endif
50471
50472    return(test_ret);
50473}
50474
50475
50476static int
50477test_xmlXPathStartsWithFunction(void) {
50478    int test_ret = 0;
50479
50480#if defined(LIBXML_XPATH_ENABLED)
50481    int mem_base;
50482    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50483    int n_ctxt;
50484    int nargs; /* the number of arguments */
50485    int n_nargs;
50486
50487    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50488    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50489        mem_base = xmlMemBlocks();
50490        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50491        nargs = gen_int(n_nargs, 1);
50492
50493        xmlXPathStartsWithFunction(ctxt, nargs);
50494        call_tests++;
50495        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50496        des_int(n_nargs, nargs, 1);
50497        xmlResetLastError();
50498        if (mem_base != xmlMemBlocks()) {
50499            printf("Leak of %d blocks found in xmlXPathStartsWithFunction",
50500	           xmlMemBlocks() - mem_base);
50501	    test_ret++;
50502            printf(" %d", n_ctxt);
50503            printf(" %d", n_nargs);
50504            printf("\n");
50505        }
50506    }
50507    }
50508    function_tests++;
50509#endif
50510
50511    return(test_ret);
50512}
50513
50514
50515static int
50516test_xmlXPathStringEvalNumber(void) {
50517    int test_ret = 0;
50518
50519#if defined(LIBXML_XPATH_ENABLED)
50520    int mem_base;
50521    double ret_val;
50522    xmlChar * str; /* A string to scan */
50523    int n_str;
50524
50525    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
50526        mem_base = xmlMemBlocks();
50527        str = gen_const_xmlChar_ptr(n_str, 0);
50528
50529        ret_val = xmlXPathStringEvalNumber((const xmlChar *)str);
50530        desret_double(ret_val);
50531        call_tests++;
50532        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
50533        xmlResetLastError();
50534        if (mem_base != xmlMemBlocks()) {
50535            printf("Leak of %d blocks found in xmlXPathStringEvalNumber",
50536	           xmlMemBlocks() - mem_base);
50537	    test_ret++;
50538            printf(" %d", n_str);
50539            printf("\n");
50540        }
50541    }
50542    function_tests++;
50543#endif
50544
50545    return(test_ret);
50546}
50547
50548
50549static int
50550test_xmlXPathStringFunction(void) {
50551    int test_ret = 0;
50552
50553#if defined(LIBXML_XPATH_ENABLED)
50554    int mem_base;
50555    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50556    int n_ctxt;
50557    int nargs; /* the number of arguments */
50558    int n_nargs;
50559
50560    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50561    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50562        mem_base = xmlMemBlocks();
50563        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50564        nargs = gen_int(n_nargs, 1);
50565
50566        xmlXPathStringFunction(ctxt, nargs);
50567        call_tests++;
50568        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50569        des_int(n_nargs, nargs, 1);
50570        xmlResetLastError();
50571        if (mem_base != xmlMemBlocks()) {
50572            printf("Leak of %d blocks found in xmlXPathStringFunction",
50573	           xmlMemBlocks() - mem_base);
50574	    test_ret++;
50575            printf(" %d", n_ctxt);
50576            printf(" %d", n_nargs);
50577            printf("\n");
50578        }
50579    }
50580    }
50581    function_tests++;
50582#endif
50583
50584    return(test_ret);
50585}
50586
50587
50588static int
50589test_xmlXPathStringLengthFunction(void) {
50590    int test_ret = 0;
50591
50592#if defined(LIBXML_XPATH_ENABLED)
50593    int mem_base;
50594    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50595    int n_ctxt;
50596    int nargs; /* the number of arguments */
50597    int n_nargs;
50598
50599    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50600    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50601        mem_base = xmlMemBlocks();
50602        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50603        nargs = gen_int(n_nargs, 1);
50604
50605        xmlXPathStringLengthFunction(ctxt, nargs);
50606        call_tests++;
50607        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50608        des_int(n_nargs, nargs, 1);
50609        xmlResetLastError();
50610        if (mem_base != xmlMemBlocks()) {
50611            printf("Leak of %d blocks found in xmlXPathStringLengthFunction",
50612	           xmlMemBlocks() - mem_base);
50613	    test_ret++;
50614            printf(" %d", n_ctxt);
50615            printf(" %d", n_nargs);
50616            printf("\n");
50617        }
50618    }
50619    }
50620    function_tests++;
50621#endif
50622
50623    return(test_ret);
50624}
50625
50626
50627static int
50628test_xmlXPathSubValues(void) {
50629    int test_ret = 0;
50630
50631#if defined(LIBXML_XPATH_ENABLED)
50632    int mem_base;
50633    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50634    int n_ctxt;
50635
50636    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50637        mem_base = xmlMemBlocks();
50638        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50639
50640        xmlXPathSubValues(ctxt);
50641        call_tests++;
50642        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50643        xmlResetLastError();
50644        if (mem_base != xmlMemBlocks()) {
50645            printf("Leak of %d blocks found in xmlXPathSubValues",
50646	           xmlMemBlocks() - mem_base);
50647	    test_ret++;
50648            printf(" %d", n_ctxt);
50649            printf("\n");
50650        }
50651    }
50652    function_tests++;
50653#endif
50654
50655    return(test_ret);
50656}
50657
50658
50659static int
50660test_xmlXPathSubstringAfterFunction(void) {
50661    int test_ret = 0;
50662
50663#if defined(LIBXML_XPATH_ENABLED)
50664    int mem_base;
50665    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50666    int n_ctxt;
50667    int nargs; /* the number of arguments */
50668    int n_nargs;
50669
50670    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50671    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50672        mem_base = xmlMemBlocks();
50673        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50674        nargs = gen_int(n_nargs, 1);
50675
50676        xmlXPathSubstringAfterFunction(ctxt, nargs);
50677        call_tests++;
50678        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50679        des_int(n_nargs, nargs, 1);
50680        xmlResetLastError();
50681        if (mem_base != xmlMemBlocks()) {
50682            printf("Leak of %d blocks found in xmlXPathSubstringAfterFunction",
50683	           xmlMemBlocks() - mem_base);
50684	    test_ret++;
50685            printf(" %d", n_ctxt);
50686            printf(" %d", n_nargs);
50687            printf("\n");
50688        }
50689    }
50690    }
50691    function_tests++;
50692#endif
50693
50694    return(test_ret);
50695}
50696
50697
50698static int
50699test_xmlXPathSubstringBeforeFunction(void) {
50700    int test_ret = 0;
50701
50702#if defined(LIBXML_XPATH_ENABLED)
50703    int mem_base;
50704    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50705    int n_ctxt;
50706    int nargs; /* the number of arguments */
50707    int n_nargs;
50708
50709    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50710    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50711        mem_base = xmlMemBlocks();
50712        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50713        nargs = gen_int(n_nargs, 1);
50714
50715        xmlXPathSubstringBeforeFunction(ctxt, nargs);
50716        call_tests++;
50717        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50718        des_int(n_nargs, nargs, 1);
50719        xmlResetLastError();
50720        if (mem_base != xmlMemBlocks()) {
50721            printf("Leak of %d blocks found in xmlXPathSubstringBeforeFunction",
50722	           xmlMemBlocks() - mem_base);
50723	    test_ret++;
50724            printf(" %d", n_ctxt);
50725            printf(" %d", n_nargs);
50726            printf("\n");
50727        }
50728    }
50729    }
50730    function_tests++;
50731#endif
50732
50733    return(test_ret);
50734}
50735
50736
50737static int
50738test_xmlXPathSubstringFunction(void) {
50739    int test_ret = 0;
50740
50741#if defined(LIBXML_XPATH_ENABLED)
50742    int mem_base;
50743    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50744    int n_ctxt;
50745    int nargs; /* the number of arguments */
50746    int n_nargs;
50747
50748    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50749    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50750        mem_base = xmlMemBlocks();
50751        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50752        nargs = gen_int(n_nargs, 1);
50753
50754        xmlXPathSubstringFunction(ctxt, nargs);
50755        call_tests++;
50756        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50757        des_int(n_nargs, nargs, 1);
50758        xmlResetLastError();
50759        if (mem_base != xmlMemBlocks()) {
50760            printf("Leak of %d blocks found in xmlXPathSubstringFunction",
50761	           xmlMemBlocks() - mem_base);
50762	    test_ret++;
50763            printf(" %d", n_ctxt);
50764            printf(" %d", n_nargs);
50765            printf("\n");
50766        }
50767    }
50768    }
50769    function_tests++;
50770#endif
50771
50772    return(test_ret);
50773}
50774
50775
50776static int
50777test_xmlXPathSumFunction(void) {
50778    int test_ret = 0;
50779
50780#if defined(LIBXML_XPATH_ENABLED)
50781    int mem_base;
50782    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50783    int n_ctxt;
50784    int nargs; /* the number of arguments */
50785    int n_nargs;
50786
50787    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50788    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50789        mem_base = xmlMemBlocks();
50790        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50791        nargs = gen_int(n_nargs, 1);
50792
50793        xmlXPathSumFunction(ctxt, nargs);
50794        call_tests++;
50795        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50796        des_int(n_nargs, nargs, 1);
50797        xmlResetLastError();
50798        if (mem_base != xmlMemBlocks()) {
50799            printf("Leak of %d blocks found in xmlXPathSumFunction",
50800	           xmlMemBlocks() - mem_base);
50801	    test_ret++;
50802            printf(" %d", n_ctxt);
50803            printf(" %d", n_nargs);
50804            printf("\n");
50805        }
50806    }
50807    }
50808    function_tests++;
50809#endif
50810
50811    return(test_ret);
50812}
50813
50814
50815static int
50816test_xmlXPathTrailing(void) {
50817    int test_ret = 0;
50818
50819#if defined(LIBXML_XPATH_ENABLED)
50820    int mem_base;
50821    xmlNodeSetPtr ret_val;
50822    xmlNodeSetPtr nodes1; /* a node-set */
50823    int n_nodes1;
50824    xmlNodeSetPtr nodes2; /* a node-set */
50825    int n_nodes2;
50826
50827    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
50828    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
50829        mem_base = xmlMemBlocks();
50830        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
50831        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
50832
50833        ret_val = xmlXPathTrailing(nodes1, nodes2);
50834        desret_xmlNodeSetPtr(ret_val);
50835        call_tests++;
50836        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
50837        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
50838        xmlResetLastError();
50839        if (mem_base != xmlMemBlocks()) {
50840            printf("Leak of %d blocks found in xmlXPathTrailing",
50841	           xmlMemBlocks() - mem_base);
50842	    test_ret++;
50843            printf(" %d", n_nodes1);
50844            printf(" %d", n_nodes2);
50845            printf("\n");
50846        }
50847    }
50848    }
50849    function_tests++;
50850#endif
50851
50852    return(test_ret);
50853}
50854
50855
50856static int
50857test_xmlXPathTrailingSorted(void) {
50858    int test_ret = 0;
50859
50860#if defined(LIBXML_XPATH_ENABLED)
50861    int mem_base;
50862    xmlNodeSetPtr ret_val;
50863    xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
50864    int n_nodes1;
50865    xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
50866    int n_nodes2;
50867
50868    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
50869    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
50870        mem_base = xmlMemBlocks();
50871        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
50872        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
50873
50874        ret_val = xmlXPathTrailingSorted(nodes1, nodes2);
50875        desret_xmlNodeSetPtr(ret_val);
50876        call_tests++;
50877        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
50878        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
50879        xmlResetLastError();
50880        if (mem_base != xmlMemBlocks()) {
50881            printf("Leak of %d blocks found in xmlXPathTrailingSorted",
50882	           xmlMemBlocks() - mem_base);
50883	    test_ret++;
50884            printf(" %d", n_nodes1);
50885            printf(" %d", n_nodes2);
50886            printf("\n");
50887        }
50888    }
50889    }
50890    function_tests++;
50891#endif
50892
50893    return(test_ret);
50894}
50895
50896
50897static int
50898test_xmlXPathTranslateFunction(void) {
50899    int test_ret = 0;
50900
50901#if defined(LIBXML_XPATH_ENABLED)
50902    int mem_base;
50903    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50904    int n_ctxt;
50905    int nargs; /* the number of arguments */
50906    int n_nargs;
50907
50908    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50909    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50910        mem_base = xmlMemBlocks();
50911        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50912        nargs = gen_int(n_nargs, 1);
50913
50914        xmlXPathTranslateFunction(ctxt, nargs);
50915        call_tests++;
50916        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50917        des_int(n_nargs, nargs, 1);
50918        xmlResetLastError();
50919        if (mem_base != xmlMemBlocks()) {
50920            printf("Leak of %d blocks found in xmlXPathTranslateFunction",
50921	           xmlMemBlocks() - mem_base);
50922	    test_ret++;
50923            printf(" %d", n_ctxt);
50924            printf(" %d", n_nargs);
50925            printf("\n");
50926        }
50927    }
50928    }
50929    function_tests++;
50930#endif
50931
50932    return(test_ret);
50933}
50934
50935
50936static int
50937test_xmlXPathTrueFunction(void) {
50938    int test_ret = 0;
50939
50940#if defined(LIBXML_XPATH_ENABLED)
50941    int mem_base;
50942    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50943    int n_ctxt;
50944    int nargs; /* the number of arguments */
50945    int n_nargs;
50946
50947    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50948    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
50949        mem_base = xmlMemBlocks();
50950        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50951        nargs = gen_int(n_nargs, 1);
50952
50953        xmlXPathTrueFunction(ctxt, nargs);
50954        call_tests++;
50955        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50956        des_int(n_nargs, nargs, 1);
50957        xmlResetLastError();
50958        if (mem_base != xmlMemBlocks()) {
50959            printf("Leak of %d blocks found in xmlXPathTrueFunction",
50960	           xmlMemBlocks() - mem_base);
50961	    test_ret++;
50962            printf(" %d", n_ctxt);
50963            printf(" %d", n_nargs);
50964            printf("\n");
50965        }
50966    }
50967    }
50968    function_tests++;
50969#endif
50970
50971    return(test_ret);
50972}
50973
50974
50975static int
50976test_xmlXPathValueFlipSign(void) {
50977    int test_ret = 0;
50978
50979#if defined(LIBXML_XPATH_ENABLED)
50980    int mem_base;
50981    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
50982    int n_ctxt;
50983
50984    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
50985        mem_base = xmlMemBlocks();
50986        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
50987
50988        xmlXPathValueFlipSign(ctxt);
50989        call_tests++;
50990        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
50991        xmlResetLastError();
50992        if (mem_base != xmlMemBlocks()) {
50993            printf("Leak of %d blocks found in xmlXPathValueFlipSign",
50994	           xmlMemBlocks() - mem_base);
50995	    test_ret++;
50996            printf(" %d", n_ctxt);
50997            printf("\n");
50998        }
50999    }
51000    function_tests++;
51001#endif
51002
51003    return(test_ret);
51004}
51005
51006
51007static int
51008test_xmlXPathVariableLookup(void) {
51009    int test_ret = 0;
51010
51011#if defined(LIBXML_XPATH_ENABLED)
51012    int mem_base;
51013    xmlXPathObjectPtr ret_val;
51014    xmlXPathContextPtr ctxt; /* the XPath context */
51015    int n_ctxt;
51016    xmlChar * name; /* the variable name */
51017    int n_name;
51018
51019    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
51020    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
51021        mem_base = xmlMemBlocks();
51022        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
51023        name = gen_const_xmlChar_ptr(n_name, 1);
51024
51025        ret_val = xmlXPathVariableLookup(ctxt, (const xmlChar *)name);
51026        desret_xmlXPathObjectPtr(ret_val);
51027        call_tests++;
51028        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
51029        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
51030        xmlResetLastError();
51031        if (mem_base != xmlMemBlocks()) {
51032            printf("Leak of %d blocks found in xmlXPathVariableLookup",
51033	           xmlMemBlocks() - mem_base);
51034	    test_ret++;
51035            printf(" %d", n_ctxt);
51036            printf(" %d", n_name);
51037            printf("\n");
51038        }
51039    }
51040    }
51041    function_tests++;
51042#endif
51043
51044    return(test_ret);
51045}
51046
51047
51048static int
51049test_xmlXPathVariableLookupNS(void) {
51050    int test_ret = 0;
51051
51052#if defined(LIBXML_XPATH_ENABLED)
51053    int mem_base;
51054    xmlXPathObjectPtr ret_val;
51055    xmlXPathContextPtr ctxt; /* the XPath context */
51056    int n_ctxt;
51057    xmlChar * name; /* the variable name */
51058    int n_name;
51059    xmlChar * ns_uri; /* the variable namespace URI */
51060    int n_ns_uri;
51061
51062    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
51063    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
51064    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
51065        mem_base = xmlMemBlocks();
51066        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
51067        name = gen_const_xmlChar_ptr(n_name, 1);
51068        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
51069
51070        ret_val = xmlXPathVariableLookupNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri);
51071        desret_xmlXPathObjectPtr(ret_val);
51072        call_tests++;
51073        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
51074        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
51075        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
51076        xmlResetLastError();
51077        if (mem_base != xmlMemBlocks()) {
51078            printf("Leak of %d blocks found in xmlXPathVariableLookupNS",
51079	           xmlMemBlocks() - mem_base);
51080	    test_ret++;
51081            printf(" %d", n_ctxt);
51082            printf(" %d", n_name);
51083            printf(" %d", n_ns_uri);
51084            printf("\n");
51085        }
51086    }
51087    }
51088    }
51089    function_tests++;
51090#endif
51091
51092    return(test_ret);
51093}
51094
51095
51096static int
51097test_xmlXPathWrapCString(void) {
51098    int test_ret = 0;
51099
51100#if defined(LIBXML_XPATH_ENABLED)
51101    int mem_base;
51102    xmlXPathObjectPtr ret_val;
51103    char * val; /* the char * value */
51104    int n_val;
51105
51106    for (n_val = 0;n_val < gen_nb_char_ptr;n_val++) {
51107        mem_base = xmlMemBlocks();
51108        val = gen_char_ptr(n_val, 0);
51109
51110        ret_val = xmlXPathWrapCString(val);
51111        desret_xmlXPathObjectPtr(ret_val);
51112        call_tests++;
51113        des_char_ptr(n_val, val, 0);
51114        xmlResetLastError();
51115        if (mem_base != xmlMemBlocks()) {
51116            printf("Leak of %d blocks found in xmlXPathWrapCString",
51117	           xmlMemBlocks() - mem_base);
51118	    test_ret++;
51119            printf(" %d", n_val);
51120            printf("\n");
51121        }
51122    }
51123    function_tests++;
51124#endif
51125
51126    return(test_ret);
51127}
51128
51129
51130static int
51131test_xmlXPathWrapExternal(void) {
51132    int test_ret = 0;
51133
51134#if defined(LIBXML_XPATH_ENABLED)
51135    int mem_base;
51136    xmlXPathObjectPtr ret_val;
51137    void * val; /* the user data */
51138    int n_val;
51139
51140    for (n_val = 0;n_val < gen_nb_void_ptr;n_val++) {
51141        mem_base = xmlMemBlocks();
51142        val = gen_void_ptr(n_val, 0);
51143
51144        ret_val = xmlXPathWrapExternal(val);
51145        desret_xmlXPathObjectPtr(ret_val);
51146        call_tests++;
51147        des_void_ptr(n_val, val, 0);
51148        xmlResetLastError();
51149        if (mem_base != xmlMemBlocks()) {
51150            printf("Leak of %d blocks found in xmlXPathWrapExternal",
51151	           xmlMemBlocks() - mem_base);
51152	    test_ret++;
51153            printf(" %d", n_val);
51154            printf("\n");
51155        }
51156    }
51157    function_tests++;
51158#endif
51159
51160    return(test_ret);
51161}
51162
51163
51164static int
51165test_xmlXPathWrapNodeSet(void) {
51166    int test_ret = 0;
51167
51168#if defined(LIBXML_XPATH_ENABLED)
51169    int mem_base;
51170    xmlXPathObjectPtr ret_val;
51171    xmlNodeSetPtr val; /* the NodePtr value */
51172    int n_val;
51173
51174    for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
51175        mem_base = xmlMemBlocks();
51176        val = gen_xmlNodeSetPtr(n_val, 0);
51177
51178        ret_val = xmlXPathWrapNodeSet(val);
51179        desret_xmlXPathObjectPtr(ret_val);
51180        call_tests++;
51181        des_xmlNodeSetPtr(n_val, val, 0);
51182        xmlResetLastError();
51183        if (mem_base != xmlMemBlocks()) {
51184            printf("Leak of %d blocks found in xmlXPathWrapNodeSet",
51185	           xmlMemBlocks() - mem_base);
51186	    test_ret++;
51187            printf(" %d", n_val);
51188            printf("\n");
51189        }
51190    }
51191    function_tests++;
51192#endif
51193
51194    return(test_ret);
51195}
51196
51197
51198static int
51199test_xmlXPatherror(void) {
51200    int test_ret = 0;
51201
51202#if defined(LIBXML_XPATH_ENABLED)
51203    int mem_base;
51204    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
51205    int n_ctxt;
51206    const char * file; /* the file name */
51207    int n_file;
51208    int line; /* the line number */
51209    int n_line;
51210    int no; /* the error number */
51211    int n_no;
51212
51213    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
51214    for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
51215    for (n_line = 0;n_line < gen_nb_int;n_line++) {
51216    for (n_no = 0;n_no < gen_nb_int;n_no++) {
51217        mem_base = xmlMemBlocks();
51218        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
51219        file = gen_filepath(n_file, 1);
51220        line = gen_int(n_line, 2);
51221        no = gen_int(n_no, 3);
51222
51223        xmlXPatherror(ctxt, file, line, no);
51224        call_tests++;
51225        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
51226        des_filepath(n_file, file, 1);
51227        des_int(n_line, line, 2);
51228        des_int(n_no, no, 3);
51229        xmlResetLastError();
51230        if (mem_base != xmlMemBlocks()) {
51231            printf("Leak of %d blocks found in xmlXPatherror",
51232	           xmlMemBlocks() - mem_base);
51233	    test_ret++;
51234            printf(" %d", n_ctxt);
51235            printf(" %d", n_file);
51236            printf(" %d", n_line);
51237            printf(" %d", n_no);
51238            printf("\n");
51239        }
51240    }
51241    }
51242    }
51243    }
51244    function_tests++;
51245#endif
51246
51247    return(test_ret);
51248}
51249
51250static int
51251test_xpathInternals(void) {
51252    int test_ret = 0;
51253
51254    if (quiet == 0) printf("Testing xpathInternals : 106 of 117 functions ...\n");
51255    test_ret += test_valuePop();
51256    test_ret += test_valuePush();
51257    test_ret += test_xmlXPathAddValues();
51258    test_ret += test_xmlXPathBooleanFunction();
51259    test_ret += test_xmlXPathCeilingFunction();
51260    test_ret += test_xmlXPathCompareValues();
51261    test_ret += test_xmlXPathConcatFunction();
51262    test_ret += test_xmlXPathContainsFunction();
51263    test_ret += test_xmlXPathCountFunction();
51264    test_ret += test_xmlXPathDebugDumpCompExpr();
51265    test_ret += test_xmlXPathDebugDumpObject();
51266    test_ret += test_xmlXPathDifference();
51267    test_ret += test_xmlXPathDistinct();
51268    test_ret += test_xmlXPathDistinctSorted();
51269    test_ret += test_xmlXPathDivValues();
51270    test_ret += test_xmlXPathEqualValues();
51271    test_ret += test_xmlXPathErr();
51272    test_ret += test_xmlXPathEvalExpr();
51273    test_ret += test_xmlXPathEvaluatePredicateResult();
51274    test_ret += test_xmlXPathFalseFunction();
51275    test_ret += test_xmlXPathFloorFunction();
51276    test_ret += test_xmlXPathFunctionLookup();
51277    test_ret += test_xmlXPathFunctionLookupNS();
51278    test_ret += test_xmlXPathHasSameNodes();
51279    test_ret += test_xmlXPathIdFunction();
51280    test_ret += test_xmlXPathIntersection();
51281    test_ret += test_xmlXPathIsNodeType();
51282    test_ret += test_xmlXPathLangFunction();
51283    test_ret += test_xmlXPathLastFunction();
51284    test_ret += test_xmlXPathLeading();
51285    test_ret += test_xmlXPathLeadingSorted();
51286    test_ret += test_xmlXPathLocalNameFunction();
51287    test_ret += test_xmlXPathModValues();
51288    test_ret += test_xmlXPathMultValues();
51289    test_ret += test_xmlXPathNamespaceURIFunction();
51290    test_ret += test_xmlXPathNewBoolean();
51291    test_ret += test_xmlXPathNewCString();
51292    test_ret += test_xmlXPathNewFloat();
51293    test_ret += test_xmlXPathNewNodeSet();
51294    test_ret += test_xmlXPathNewNodeSetList();
51295    test_ret += test_xmlXPathNewParserContext();
51296    test_ret += test_xmlXPathNewString();
51297    test_ret += test_xmlXPathNextAncestor();
51298    test_ret += test_xmlXPathNextAncestorOrSelf();
51299    test_ret += test_xmlXPathNextAttribute();
51300    test_ret += test_xmlXPathNextChild();
51301    test_ret += test_xmlXPathNextDescendant();
51302    test_ret += test_xmlXPathNextDescendantOrSelf();
51303    test_ret += test_xmlXPathNextFollowing();
51304    test_ret += test_xmlXPathNextFollowingSibling();
51305    test_ret += test_xmlXPathNextNamespace();
51306    test_ret += test_xmlXPathNextParent();
51307    test_ret += test_xmlXPathNextPreceding();
51308    test_ret += test_xmlXPathNextPrecedingSibling();
51309    test_ret += test_xmlXPathNextSelf();
51310    test_ret += test_xmlXPathNodeLeading();
51311    test_ret += test_xmlXPathNodeLeadingSorted();
51312    test_ret += test_xmlXPathNodeSetAdd();
51313    test_ret += test_xmlXPathNodeSetAddNs();
51314    test_ret += test_xmlXPathNodeSetAddUnique();
51315    test_ret += test_xmlXPathNodeSetContains();
51316    test_ret += test_xmlXPathNodeSetDel();
51317    test_ret += test_xmlXPathNodeSetMerge();
51318    test_ret += test_xmlXPathNodeSetRemove();
51319    test_ret += test_xmlXPathNodeSetSort();
51320    test_ret += test_xmlXPathNodeTrailing();
51321    test_ret += test_xmlXPathNodeTrailingSorted();
51322    test_ret += test_xmlXPathNormalizeFunction();
51323    test_ret += test_xmlXPathNotEqualValues();
51324    test_ret += test_xmlXPathNotFunction();
51325    test_ret += test_xmlXPathNsLookup();
51326    test_ret += test_xmlXPathNumberFunction();
51327    test_ret += test_xmlXPathParseNCName();
51328    test_ret += test_xmlXPathParseName();
51329    test_ret += test_xmlXPathPopBoolean();
51330    test_ret += test_xmlXPathPopExternal();
51331    test_ret += test_xmlXPathPopNodeSet();
51332    test_ret += test_xmlXPathPopNumber();
51333    test_ret += test_xmlXPathPopString();
51334    test_ret += test_xmlXPathPositionFunction();
51335    test_ret += test_xmlXPathRegisterAllFunctions();
51336    test_ret += test_xmlXPathRegisterFunc();
51337    test_ret += test_xmlXPathRegisterFuncLookup();
51338    test_ret += test_xmlXPathRegisterFuncNS();
51339    test_ret += test_xmlXPathRegisterNs();
51340    test_ret += test_xmlXPathRegisterVariable();
51341    test_ret += test_xmlXPathRegisterVariableLookup();
51342    test_ret += test_xmlXPathRegisterVariableNS();
51343    test_ret += test_xmlXPathRegisteredFuncsCleanup();
51344    test_ret += test_xmlXPathRegisteredNsCleanup();
51345    test_ret += test_xmlXPathRegisteredVariablesCleanup();
51346    test_ret += test_xmlXPathRoot();
51347    test_ret += test_xmlXPathRoundFunction();
51348    test_ret += test_xmlXPathStartsWithFunction();
51349    test_ret += test_xmlXPathStringEvalNumber();
51350    test_ret += test_xmlXPathStringFunction();
51351    test_ret += test_xmlXPathStringLengthFunction();
51352    test_ret += test_xmlXPathSubValues();
51353    test_ret += test_xmlXPathSubstringAfterFunction();
51354    test_ret += test_xmlXPathSubstringBeforeFunction();
51355    test_ret += test_xmlXPathSubstringFunction();
51356    test_ret += test_xmlXPathSumFunction();
51357    test_ret += test_xmlXPathTrailing();
51358    test_ret += test_xmlXPathTrailingSorted();
51359    test_ret += test_xmlXPathTranslateFunction();
51360    test_ret += test_xmlXPathTrueFunction();
51361    test_ret += test_xmlXPathValueFlipSign();
51362    test_ret += test_xmlXPathVariableLookup();
51363    test_ret += test_xmlXPathVariableLookupNS();
51364    test_ret += test_xmlXPathWrapCString();
51365    test_ret += test_xmlXPathWrapExternal();
51366    test_ret += test_xmlXPathWrapNodeSet();
51367    test_ret += test_xmlXPatherror();
51368
51369    if (test_ret != 0)
51370	printf("Module xpathInternals: %d errors\n", test_ret);
51371    return(test_ret);
51372}
51373
51374static int
51375test_xmlXPtrBuildNodeList(void) {
51376    int test_ret = 0;
51377
51378#if defined(LIBXML_XPTR_ENABLED)
51379    int mem_base;
51380    xmlNodePtr ret_val;
51381    xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */
51382    int n_obj;
51383
51384    for (n_obj = 0;n_obj < gen_nb_xmlXPathObjectPtr;n_obj++) {
51385        mem_base = xmlMemBlocks();
51386        obj = gen_xmlXPathObjectPtr(n_obj, 0);
51387
51388        ret_val = xmlXPtrBuildNodeList(obj);
51389        desret_xmlNodePtr(ret_val);
51390        call_tests++;
51391        des_xmlXPathObjectPtr(n_obj, obj, 0);
51392        xmlResetLastError();
51393        if (mem_base != xmlMemBlocks()) {
51394            printf("Leak of %d blocks found in xmlXPtrBuildNodeList",
51395	           xmlMemBlocks() - mem_base);
51396	    test_ret++;
51397            printf(" %d", n_obj);
51398            printf("\n");
51399        }
51400    }
51401    function_tests++;
51402#endif
51403
51404    return(test_ret);
51405}
51406
51407
51408static int
51409test_xmlXPtrEval(void) {
51410    int test_ret = 0;
51411
51412#if defined(LIBXML_XPTR_ENABLED)
51413    int mem_base;
51414    xmlXPathObjectPtr ret_val;
51415    xmlChar * str; /* the XPointer expression */
51416    int n_str;
51417    xmlXPathContextPtr ctx; /* the XPointer context */
51418    int n_ctx;
51419
51420    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
51421    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
51422        mem_base = xmlMemBlocks();
51423        str = gen_const_xmlChar_ptr(n_str, 0);
51424        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
51425
51426        ret_val = xmlXPtrEval((const xmlChar *)str, ctx);
51427        desret_xmlXPathObjectPtr(ret_val);
51428        call_tests++;
51429        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
51430        des_xmlXPathContextPtr(n_ctx, ctx, 1);
51431        xmlResetLastError();
51432        if (mem_base != xmlMemBlocks()) {
51433            printf("Leak of %d blocks found in xmlXPtrEval",
51434	           xmlMemBlocks() - mem_base);
51435	    test_ret++;
51436            printf(" %d", n_str);
51437            printf(" %d", n_ctx);
51438            printf("\n");
51439        }
51440    }
51441    }
51442    function_tests++;
51443#endif
51444
51445    return(test_ret);
51446}
51447
51448
51449static int
51450test_xmlXPtrEvalRangePredicate(void) {
51451    int test_ret = 0;
51452
51453#if defined(LIBXML_XPTR_ENABLED)
51454    int mem_base;
51455    xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
51456    int n_ctxt;
51457
51458    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
51459        mem_base = xmlMemBlocks();
51460        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
51461
51462        xmlXPtrEvalRangePredicate(ctxt);
51463        call_tests++;
51464        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
51465        xmlResetLastError();
51466        if (mem_base != xmlMemBlocks()) {
51467            printf("Leak of %d blocks found in xmlXPtrEvalRangePredicate",
51468	           xmlMemBlocks() - mem_base);
51469	    test_ret++;
51470            printf(" %d", n_ctxt);
51471            printf("\n");
51472        }
51473    }
51474    function_tests++;
51475#endif
51476
51477    return(test_ret);
51478}
51479
51480#ifdef LIBXML_XPTR_ENABLED
51481
51482#define gen_nb_xmlLocationSetPtr 1
51483static xmlLocationSetPtr gen_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
51484    return(NULL);
51485}
51486static void des_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, xmlLocationSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
51487}
51488#endif
51489
51490
51491static int
51492test_xmlXPtrLocationSetAdd(void) {
51493    int test_ret = 0;
51494
51495#if defined(LIBXML_XPTR_ENABLED)
51496    int mem_base;
51497    xmlLocationSetPtr cur; /* the initial range set */
51498    int n_cur;
51499    xmlXPathObjectPtr val; /* a new xmlXPathObjectPtr */
51500    int n_val;
51501
51502    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
51503    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
51504        mem_base = xmlMemBlocks();
51505        cur = gen_xmlLocationSetPtr(n_cur, 0);
51506        val = gen_xmlXPathObjectPtr(n_val, 1);
51507
51508        xmlXPtrLocationSetAdd(cur, val);
51509        call_tests++;
51510        des_xmlLocationSetPtr(n_cur, cur, 0);
51511        des_xmlXPathObjectPtr(n_val, val, 1);
51512        xmlResetLastError();
51513        if (mem_base != xmlMemBlocks()) {
51514            printf("Leak of %d blocks found in xmlXPtrLocationSetAdd",
51515	           xmlMemBlocks() - mem_base);
51516	    test_ret++;
51517            printf(" %d", n_cur);
51518            printf(" %d", n_val);
51519            printf("\n");
51520        }
51521    }
51522    }
51523    function_tests++;
51524#endif
51525
51526    return(test_ret);
51527}
51528
51529
51530static int
51531test_xmlXPtrLocationSetCreate(void) {
51532    int test_ret = 0;
51533
51534
51535    /* missing type support */
51536    return(test_ret);
51537}
51538
51539
51540static int
51541test_xmlXPtrLocationSetDel(void) {
51542    int test_ret = 0;
51543
51544#if defined(LIBXML_XPTR_ENABLED)
51545    int mem_base;
51546    xmlLocationSetPtr cur; /* the initial range set */
51547    int n_cur;
51548    xmlXPathObjectPtr val; /* an xmlXPathObjectPtr */
51549    int n_val;
51550
51551    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
51552    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
51553        mem_base = xmlMemBlocks();
51554        cur = gen_xmlLocationSetPtr(n_cur, 0);
51555        val = gen_xmlXPathObjectPtr(n_val, 1);
51556
51557        xmlXPtrLocationSetDel(cur, val);
51558        call_tests++;
51559        des_xmlLocationSetPtr(n_cur, cur, 0);
51560        des_xmlXPathObjectPtr(n_val, val, 1);
51561        xmlResetLastError();
51562        if (mem_base != xmlMemBlocks()) {
51563            printf("Leak of %d blocks found in xmlXPtrLocationSetDel",
51564	           xmlMemBlocks() - mem_base);
51565	    test_ret++;
51566            printf(" %d", n_cur);
51567            printf(" %d", n_val);
51568            printf("\n");
51569        }
51570    }
51571    }
51572    function_tests++;
51573#endif
51574
51575    return(test_ret);
51576}
51577
51578
51579static int
51580test_xmlXPtrLocationSetMerge(void) {
51581    int test_ret = 0;
51582
51583
51584    /* missing type support */
51585    return(test_ret);
51586}
51587
51588
51589static int
51590test_xmlXPtrLocationSetRemove(void) {
51591    int test_ret = 0;
51592
51593#if defined(LIBXML_XPTR_ENABLED)
51594    int mem_base;
51595    xmlLocationSetPtr cur; /* the initial range set */
51596    int n_cur;
51597    int val; /* the index to remove */
51598    int n_val;
51599
51600    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
51601    for (n_val = 0;n_val < gen_nb_int;n_val++) {
51602        mem_base = xmlMemBlocks();
51603        cur = gen_xmlLocationSetPtr(n_cur, 0);
51604        val = gen_int(n_val, 1);
51605
51606        xmlXPtrLocationSetRemove(cur, val);
51607        call_tests++;
51608        des_xmlLocationSetPtr(n_cur, cur, 0);
51609        des_int(n_val, val, 1);
51610        xmlResetLastError();
51611        if (mem_base != xmlMemBlocks()) {
51612            printf("Leak of %d blocks found in xmlXPtrLocationSetRemove",
51613	           xmlMemBlocks() - mem_base);
51614	    test_ret++;
51615            printf(" %d", n_cur);
51616            printf(" %d", n_val);
51617            printf("\n");
51618        }
51619    }
51620    }
51621    function_tests++;
51622#endif
51623
51624    return(test_ret);
51625}
51626
51627
51628static int
51629test_xmlXPtrNewCollapsedRange(void) {
51630    int test_ret = 0;
51631
51632#if defined(LIBXML_XPTR_ENABLED)
51633    int mem_base;
51634    xmlXPathObjectPtr ret_val;
51635    xmlNodePtr start; /* the starting and ending node */
51636    int n_start;
51637
51638    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51639        mem_base = xmlMemBlocks();
51640        start = gen_xmlNodePtr(n_start, 0);
51641
51642        ret_val = xmlXPtrNewCollapsedRange(start);
51643        desret_xmlXPathObjectPtr(ret_val);
51644        call_tests++;
51645        des_xmlNodePtr(n_start, start, 0);
51646        xmlResetLastError();
51647        if (mem_base != xmlMemBlocks()) {
51648            printf("Leak of %d blocks found in xmlXPtrNewCollapsedRange",
51649	           xmlMemBlocks() - mem_base);
51650	    test_ret++;
51651            printf(" %d", n_start);
51652            printf("\n");
51653        }
51654    }
51655    function_tests++;
51656#endif
51657
51658    return(test_ret);
51659}
51660
51661
51662static int
51663test_xmlXPtrNewContext(void) {
51664    int test_ret = 0;
51665
51666
51667    /* missing type support */
51668    return(test_ret);
51669}
51670
51671
51672static int
51673test_xmlXPtrNewLocationSetNodeSet(void) {
51674    int test_ret = 0;
51675
51676#if defined(LIBXML_XPTR_ENABLED)
51677    int mem_base;
51678    xmlXPathObjectPtr ret_val;
51679    xmlNodeSetPtr set; /* a node set */
51680    int n_set;
51681
51682    for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
51683        mem_base = xmlMemBlocks();
51684        set = gen_xmlNodeSetPtr(n_set, 0);
51685
51686        ret_val = xmlXPtrNewLocationSetNodeSet(set);
51687        desret_xmlXPathObjectPtr(ret_val);
51688        call_tests++;
51689        des_xmlNodeSetPtr(n_set, set, 0);
51690        xmlResetLastError();
51691        if (mem_base != xmlMemBlocks()) {
51692            printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodeSet",
51693	           xmlMemBlocks() - mem_base);
51694	    test_ret++;
51695            printf(" %d", n_set);
51696            printf("\n");
51697        }
51698    }
51699    function_tests++;
51700#endif
51701
51702    return(test_ret);
51703}
51704
51705
51706static int
51707test_xmlXPtrNewLocationSetNodes(void) {
51708    int test_ret = 0;
51709
51710#if defined(LIBXML_XPTR_ENABLED)
51711    int mem_base;
51712    xmlXPathObjectPtr ret_val;
51713    xmlNodePtr start; /* the start NodePtr value */
51714    int n_start;
51715    xmlNodePtr end; /* the end NodePtr value or NULL */
51716    int n_end;
51717
51718    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51719    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
51720        mem_base = xmlMemBlocks();
51721        start = gen_xmlNodePtr(n_start, 0);
51722        end = gen_xmlNodePtr(n_end, 1);
51723
51724        ret_val = xmlXPtrNewLocationSetNodes(start, end);
51725        desret_xmlXPathObjectPtr(ret_val);
51726        call_tests++;
51727        des_xmlNodePtr(n_start, start, 0);
51728        des_xmlNodePtr(n_end, end, 1);
51729        xmlResetLastError();
51730        if (mem_base != xmlMemBlocks()) {
51731            printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodes",
51732	           xmlMemBlocks() - mem_base);
51733	    test_ret++;
51734            printf(" %d", n_start);
51735            printf(" %d", n_end);
51736            printf("\n");
51737        }
51738    }
51739    }
51740    function_tests++;
51741#endif
51742
51743    return(test_ret);
51744}
51745
51746
51747static int
51748test_xmlXPtrNewRange(void) {
51749    int test_ret = 0;
51750
51751#if defined(LIBXML_XPTR_ENABLED)
51752    int mem_base;
51753    xmlXPathObjectPtr ret_val;
51754    xmlNodePtr start; /* the starting node */
51755    int n_start;
51756    int startindex; /* the start index */
51757    int n_startindex;
51758    xmlNodePtr end; /* the ending point */
51759    int n_end;
51760    int endindex; /* the ending index */
51761    int n_endindex;
51762
51763    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51764    for (n_startindex = 0;n_startindex < gen_nb_int;n_startindex++) {
51765    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
51766    for (n_endindex = 0;n_endindex < gen_nb_int;n_endindex++) {
51767        mem_base = xmlMemBlocks();
51768        start = gen_xmlNodePtr(n_start, 0);
51769        startindex = gen_int(n_startindex, 1);
51770        end = gen_xmlNodePtr(n_end, 2);
51771        endindex = gen_int(n_endindex, 3);
51772
51773        ret_val = xmlXPtrNewRange(start, startindex, end, endindex);
51774        desret_xmlXPathObjectPtr(ret_val);
51775        call_tests++;
51776        des_xmlNodePtr(n_start, start, 0);
51777        des_int(n_startindex, startindex, 1);
51778        des_xmlNodePtr(n_end, end, 2);
51779        des_int(n_endindex, endindex, 3);
51780        xmlResetLastError();
51781        if (mem_base != xmlMemBlocks()) {
51782            printf("Leak of %d blocks found in xmlXPtrNewRange",
51783	           xmlMemBlocks() - mem_base);
51784	    test_ret++;
51785            printf(" %d", n_start);
51786            printf(" %d", n_startindex);
51787            printf(" %d", n_end);
51788            printf(" %d", n_endindex);
51789            printf("\n");
51790        }
51791    }
51792    }
51793    }
51794    }
51795    function_tests++;
51796#endif
51797
51798    return(test_ret);
51799}
51800
51801
51802static int
51803test_xmlXPtrNewRangeNodeObject(void) {
51804    int test_ret = 0;
51805
51806#if defined(LIBXML_XPTR_ENABLED)
51807    int mem_base;
51808    xmlXPathObjectPtr ret_val;
51809    xmlNodePtr start; /* the starting node */
51810    int n_start;
51811    xmlXPathObjectPtr end; /* the ending object */
51812    int n_end;
51813
51814    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51815    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
51816        mem_base = xmlMemBlocks();
51817        start = gen_xmlNodePtr(n_start, 0);
51818        end = gen_xmlXPathObjectPtr(n_end, 1);
51819
51820        ret_val = xmlXPtrNewRangeNodeObject(start, end);
51821        desret_xmlXPathObjectPtr(ret_val);
51822        call_tests++;
51823        des_xmlNodePtr(n_start, start, 0);
51824        des_xmlXPathObjectPtr(n_end, end, 1);
51825        xmlResetLastError();
51826        if (mem_base != xmlMemBlocks()) {
51827            printf("Leak of %d blocks found in xmlXPtrNewRangeNodeObject",
51828	           xmlMemBlocks() - mem_base);
51829	    test_ret++;
51830            printf(" %d", n_start);
51831            printf(" %d", n_end);
51832            printf("\n");
51833        }
51834    }
51835    }
51836    function_tests++;
51837#endif
51838
51839    return(test_ret);
51840}
51841
51842
51843static int
51844test_xmlXPtrNewRangeNodePoint(void) {
51845    int test_ret = 0;
51846
51847#if defined(LIBXML_XPTR_ENABLED)
51848    int mem_base;
51849    xmlXPathObjectPtr ret_val;
51850    xmlNodePtr start; /* the starting node */
51851    int n_start;
51852    xmlXPathObjectPtr end; /* the ending point */
51853    int n_end;
51854
51855    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51856    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
51857        mem_base = xmlMemBlocks();
51858        start = gen_xmlNodePtr(n_start, 0);
51859        end = gen_xmlXPathObjectPtr(n_end, 1);
51860
51861        ret_val = xmlXPtrNewRangeNodePoint(start, end);
51862        desret_xmlXPathObjectPtr(ret_val);
51863        call_tests++;
51864        des_xmlNodePtr(n_start, start, 0);
51865        des_xmlXPathObjectPtr(n_end, end, 1);
51866        xmlResetLastError();
51867        if (mem_base != xmlMemBlocks()) {
51868            printf("Leak of %d blocks found in xmlXPtrNewRangeNodePoint",
51869	           xmlMemBlocks() - mem_base);
51870	    test_ret++;
51871            printf(" %d", n_start);
51872            printf(" %d", n_end);
51873            printf("\n");
51874        }
51875    }
51876    }
51877    function_tests++;
51878#endif
51879
51880    return(test_ret);
51881}
51882
51883
51884static int
51885test_xmlXPtrNewRangeNodes(void) {
51886    int test_ret = 0;
51887
51888#if defined(LIBXML_XPTR_ENABLED)
51889    int mem_base;
51890    xmlXPathObjectPtr ret_val;
51891    xmlNodePtr start; /* the starting node */
51892    int n_start;
51893    xmlNodePtr end; /* the ending node */
51894    int n_end;
51895
51896    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
51897    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
51898        mem_base = xmlMemBlocks();
51899        start = gen_xmlNodePtr(n_start, 0);
51900        end = gen_xmlNodePtr(n_end, 1);
51901
51902        ret_val = xmlXPtrNewRangeNodes(start, end);
51903        desret_xmlXPathObjectPtr(ret_val);
51904        call_tests++;
51905        des_xmlNodePtr(n_start, start, 0);
51906        des_xmlNodePtr(n_end, end, 1);
51907        xmlResetLastError();
51908        if (mem_base != xmlMemBlocks()) {
51909            printf("Leak of %d blocks found in xmlXPtrNewRangeNodes",
51910	           xmlMemBlocks() - mem_base);
51911	    test_ret++;
51912            printf(" %d", n_start);
51913            printf(" %d", n_end);
51914            printf("\n");
51915        }
51916    }
51917    }
51918    function_tests++;
51919#endif
51920
51921    return(test_ret);
51922}
51923
51924
51925static int
51926test_xmlXPtrNewRangePointNode(void) {
51927    int test_ret = 0;
51928
51929#if defined(LIBXML_XPTR_ENABLED)
51930    int mem_base;
51931    xmlXPathObjectPtr ret_val;
51932    xmlXPathObjectPtr start; /* the starting point */
51933    int n_start;
51934    xmlNodePtr end; /* the ending node */
51935    int n_end;
51936
51937    for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
51938    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
51939        mem_base = xmlMemBlocks();
51940        start = gen_xmlXPathObjectPtr(n_start, 0);
51941        end = gen_xmlNodePtr(n_end, 1);
51942
51943        ret_val = xmlXPtrNewRangePointNode(start, end);
51944        desret_xmlXPathObjectPtr(ret_val);
51945        call_tests++;
51946        des_xmlXPathObjectPtr(n_start, start, 0);
51947        des_xmlNodePtr(n_end, end, 1);
51948        xmlResetLastError();
51949        if (mem_base != xmlMemBlocks()) {
51950            printf("Leak of %d blocks found in xmlXPtrNewRangePointNode",
51951	           xmlMemBlocks() - mem_base);
51952	    test_ret++;
51953            printf(" %d", n_start);
51954            printf(" %d", n_end);
51955            printf("\n");
51956        }
51957    }
51958    }
51959    function_tests++;
51960#endif
51961
51962    return(test_ret);
51963}
51964
51965
51966static int
51967test_xmlXPtrNewRangePoints(void) {
51968    int test_ret = 0;
51969
51970#if defined(LIBXML_XPTR_ENABLED)
51971    int mem_base;
51972    xmlXPathObjectPtr ret_val;
51973    xmlXPathObjectPtr start; /* the starting point */
51974    int n_start;
51975    xmlXPathObjectPtr end; /* the ending point */
51976    int n_end;
51977
51978    for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
51979    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
51980        mem_base = xmlMemBlocks();
51981        start = gen_xmlXPathObjectPtr(n_start, 0);
51982        end = gen_xmlXPathObjectPtr(n_end, 1);
51983
51984        ret_val = xmlXPtrNewRangePoints(start, end);
51985        desret_xmlXPathObjectPtr(ret_val);
51986        call_tests++;
51987        des_xmlXPathObjectPtr(n_start, start, 0);
51988        des_xmlXPathObjectPtr(n_end, end, 1);
51989        xmlResetLastError();
51990        if (mem_base != xmlMemBlocks()) {
51991            printf("Leak of %d blocks found in xmlXPtrNewRangePoints",
51992	           xmlMemBlocks() - mem_base);
51993	    test_ret++;
51994            printf(" %d", n_start);
51995            printf(" %d", n_end);
51996            printf("\n");
51997        }
51998    }
51999    }
52000    function_tests++;
52001#endif
52002
52003    return(test_ret);
52004}
52005
52006
52007static int
52008test_xmlXPtrRangeToFunction(void) {
52009    int test_ret = 0;
52010
52011#if defined(LIBXML_XPTR_ENABLED)
52012    int mem_base;
52013    xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
52014    int n_ctxt;
52015    int nargs; /* the number of args */
52016    int n_nargs;
52017
52018    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
52019    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
52020        mem_base = xmlMemBlocks();
52021        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
52022        nargs = gen_int(n_nargs, 1);
52023
52024        xmlXPtrRangeToFunction(ctxt, nargs);
52025        call_tests++;
52026        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
52027        des_int(n_nargs, nargs, 1);
52028        xmlResetLastError();
52029        if (mem_base != xmlMemBlocks()) {
52030            printf("Leak of %d blocks found in xmlXPtrRangeToFunction",
52031	           xmlMemBlocks() - mem_base);
52032	    test_ret++;
52033            printf(" %d", n_ctxt);
52034            printf(" %d", n_nargs);
52035            printf("\n");
52036        }
52037    }
52038    }
52039    function_tests++;
52040#endif
52041
52042    return(test_ret);
52043}
52044
52045
52046static int
52047test_xmlXPtrWrapLocationSet(void) {
52048    int test_ret = 0;
52049
52050#if defined(LIBXML_XPTR_ENABLED)
52051    int mem_base;
52052    xmlXPathObjectPtr ret_val;
52053    xmlLocationSetPtr val; /* the LocationSet value */
52054    int n_val;
52055
52056    for (n_val = 0;n_val < gen_nb_xmlLocationSetPtr;n_val++) {
52057        mem_base = xmlMemBlocks();
52058        val = gen_xmlLocationSetPtr(n_val, 0);
52059
52060        ret_val = xmlXPtrWrapLocationSet(val);
52061        desret_xmlXPathObjectPtr(ret_val);
52062        call_tests++;
52063        des_xmlLocationSetPtr(n_val, val, 0);
52064        xmlResetLastError();
52065        if (mem_base != xmlMemBlocks()) {
52066            printf("Leak of %d blocks found in xmlXPtrWrapLocationSet",
52067	           xmlMemBlocks() - mem_base);
52068	    test_ret++;
52069            printf(" %d", n_val);
52070            printf("\n");
52071        }
52072    }
52073    function_tests++;
52074#endif
52075
52076    return(test_ret);
52077}
52078
52079static int
52080test_xpointer(void) {
52081    int test_ret = 0;
52082
52083    if (quiet == 0) printf("Testing xpointer : 17 of 21 functions ...\n");
52084    test_ret += test_xmlXPtrBuildNodeList();
52085    test_ret += test_xmlXPtrEval();
52086    test_ret += test_xmlXPtrEvalRangePredicate();
52087    test_ret += test_xmlXPtrLocationSetAdd();
52088    test_ret += test_xmlXPtrLocationSetCreate();
52089    test_ret += test_xmlXPtrLocationSetDel();
52090    test_ret += test_xmlXPtrLocationSetMerge();
52091    test_ret += test_xmlXPtrLocationSetRemove();
52092    test_ret += test_xmlXPtrNewCollapsedRange();
52093    test_ret += test_xmlXPtrNewContext();
52094    test_ret += test_xmlXPtrNewLocationSetNodeSet();
52095    test_ret += test_xmlXPtrNewLocationSetNodes();
52096    test_ret += test_xmlXPtrNewRange();
52097    test_ret += test_xmlXPtrNewRangeNodeObject();
52098    test_ret += test_xmlXPtrNewRangeNodePoint();
52099    test_ret += test_xmlXPtrNewRangeNodes();
52100    test_ret += test_xmlXPtrNewRangePointNode();
52101    test_ret += test_xmlXPtrNewRangePoints();
52102    test_ret += test_xmlXPtrRangeToFunction();
52103    test_ret += test_xmlXPtrWrapLocationSet();
52104
52105    if (test_ret != 0)
52106	printf("Module xpointer: %d errors\n", test_ret);
52107    return(test_ret);
52108}
52109static int
52110test_module(const char *module) {
52111    if (!strcmp(module, "HTMLparser")) return(test_HTMLparser());
52112    if (!strcmp(module, "HTMLtree")) return(test_HTMLtree());
52113    if (!strcmp(module, "SAX2")) return(test_SAX2());
52114    if (!strcmp(module, "c14n")) return(test_c14n());
52115    if (!strcmp(module, "catalog")) return(test_catalog());
52116    if (!strcmp(module, "chvalid")) return(test_chvalid());
52117    if (!strcmp(module, "debugXML")) return(test_debugXML());
52118    if (!strcmp(module, "dict")) return(test_dict());
52119    if (!strcmp(module, "encoding")) return(test_encoding());
52120    if (!strcmp(module, "entities")) return(test_entities());
52121    if (!strcmp(module, "hash")) return(test_hash());
52122    if (!strcmp(module, "list")) return(test_list());
52123    if (!strcmp(module, "nanoftp")) return(test_nanoftp());
52124    if (!strcmp(module, "nanohttp")) return(test_nanohttp());
52125    if (!strcmp(module, "parser")) return(test_parser());
52126    if (!strcmp(module, "parserInternals")) return(test_parserInternals());
52127    if (!strcmp(module, "pattern")) return(test_pattern());
52128    if (!strcmp(module, "relaxng")) return(test_relaxng());
52129    if (!strcmp(module, "schemasInternals")) return(test_schemasInternals());
52130    if (!strcmp(module, "schematron")) return(test_schematron());
52131    if (!strcmp(module, "tree")) return(test_tree());
52132    if (!strcmp(module, "uri")) return(test_uri());
52133    if (!strcmp(module, "valid")) return(test_valid());
52134    if (!strcmp(module, "xinclude")) return(test_xinclude());
52135    if (!strcmp(module, "xmlIO")) return(test_xmlIO());
52136    if (!strcmp(module, "xmlautomata")) return(test_xmlautomata());
52137    if (!strcmp(module, "xmlerror")) return(test_xmlerror());
52138    if (!strcmp(module, "xmlmodule")) return(test_xmlmodule());
52139    if (!strcmp(module, "xmlreader")) return(test_xmlreader());
52140    if (!strcmp(module, "xmlregexp")) return(test_xmlregexp());
52141    if (!strcmp(module, "xmlsave")) return(test_xmlsave());
52142    if (!strcmp(module, "xmlschemas")) return(test_xmlschemas());
52143    if (!strcmp(module, "xmlschemastypes")) return(test_xmlschemastypes());
52144    if (!strcmp(module, "xmlstring")) return(test_xmlstring());
52145    if (!strcmp(module, "xmlunicode")) return(test_xmlunicode());
52146    if (!strcmp(module, "xmlwriter")) return(test_xmlwriter());
52147    if (!strcmp(module, "xpath")) return(test_xpath());
52148    if (!strcmp(module, "xpathInternals")) return(test_xpathInternals());
52149    if (!strcmp(module, "xpointer")) return(test_xpointer());
52150    return(0);
52151}
52152