mirror of
				https://gitlab.gnome.org/GNOME/libxml2.git
				synced 2025-10-24 13:33:01 +03:00 
			
		
		
		
	Fixes an error when running tests in a sandbox on Gentoo Linux. Bug: https://bugs.gentoo.org/839804
		
			
				
	
	
		
			51155 lines
		
	
	
		
			1.3 MiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			51155 lines
		
	
	
		
			1.3 MiB
		
	
	
	
	
	
	
	
| /*
 | |
|  * testapi.c: libxml2 API tester program.
 | |
|  *
 | |
|  * Automatically generated by gentest.py from libxml2-api.xml
 | |
|  *
 | |
|  * See Copyright for the status of this software.
 | |
|  *
 | |
|  * daniel@veillard.com
 | |
|  */
 | |
| 
 | |
| /* Disable deprecation warnings */
 | |
| #define XML_DEPRECATED
 | |
| 
 | |
| #include "libxml.h"
 | |
| #include <stdio.h>
 | |
| 
 | |
| #include <stdlib.h> /* for putenv() */
 | |
| #include <string.h>
 | |
| #include <libxml/xmlerror.h>
 | |
| #include <libxml/relaxng.h>
 | |
| 
 | |
| 
 | |
| static int testlibxml2(void);
 | |
| static int test_module(const char *module);
 | |
| 
 | |
| static int generic_errors = 0;
 | |
| static int call_tests = 0;
 | |
| static int function_tests = 0;
 | |
| 
 | |
| static xmlChar chartab[1024];
 | |
| static int inttab[1024];
 | |
| static unsigned long longtab[1024];
 | |
| 
 | |
| static xmlDocPtr api_doc = NULL;
 | |
| static xmlDtdPtr api_dtd = NULL;
 | |
| static xmlNodePtr api_root = NULL;
 | |
| static xmlAttrPtr api_attr = NULL;
 | |
| static xmlNsPtr api_ns = NULL;
 | |
| 
 | |
| static void
 | |
| structured_errors(void *userData ATTRIBUTE_UNUSED,
 | |
|                   xmlErrorPtr error ATTRIBUTE_UNUSED) {
 | |
|     generic_errors++;
 | |
| }
 | |
| 
 | |
| static void
 | |
| free_api_doc(void) {
 | |
|     xmlFreeDoc(api_doc);
 | |
|     api_doc = NULL;
 | |
|     api_dtd = NULL;
 | |
|     api_root = NULL;
 | |
|     api_attr = NULL;
 | |
|     api_ns = NULL;
 | |
| }
 | |
| 
 | |
| static xmlDocPtr
 | |
| get_api_doc(void) {
 | |
|     if (api_doc == NULL) {
 | |
|         api_doc = xmlReadMemory("<!DOCTYPE root [<!ELEMENT root EMPTY>]><root xmlns:h='http://example.com/' h:foo='bar'/>", 88, "root_test", NULL, 0);
 | |
| 	api_root = NULL;
 | |
| 	api_attr = NULL;
 | |
|     }
 | |
|     return(api_doc);
 | |
| }
 | |
| 
 | |
| static xmlDtdPtr
 | |
| get_api_dtd(void) {
 | |
|     if ((api_dtd == NULL) || (api_dtd->type != XML_DTD_NODE)) {
 | |
|         get_api_doc();
 | |
| 	if ((api_doc != NULL) && (api_doc->children != NULL) &&
 | |
| 	    (api_doc->children->type == XML_DTD_NODE))
 | |
| 	    api_dtd = (xmlDtdPtr) api_doc->children;
 | |
|     }
 | |
|     return(api_dtd);
 | |
| }
 | |
| 
 | |
| static xmlNodePtr
 | |
| get_api_root(void) {
 | |
|     if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
 | |
|         get_api_doc();
 | |
| 	if ((api_doc != NULL) && (api_doc->children != NULL) &&
 | |
| 	    (api_doc->children->next != NULL) &&
 | |
| 	    (api_doc->children->next->type == XML_ELEMENT_NODE))
 | |
| 	    api_root = api_doc->children->next;
 | |
|     }
 | |
|     return(api_root);
 | |
| }
 | |
| 
 | |
| static xmlNsPtr
 | |
| get_api_ns(void) {
 | |
|     get_api_root();
 | |
|     if (api_root != NULL)
 | |
|         api_ns = api_root->nsDef;
 | |
|     return(api_ns);
 | |
| }
 | |
| 
 | |
| static xmlAttrPtr
 | |
| get_api_attr(void) {
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
 | |
|     static int nr = 0;
 | |
|     xmlChar name[20];
 | |
| #endif
 | |
| 
 | |
|     if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
 | |
|         get_api_root();
 | |
|     }
 | |
|     if (api_root == NULL)
 | |
|         return(NULL);
 | |
|     if (api_root->properties != NULL) {
 | |
|         api_attr = api_root->properties;
 | |
|         return(api_root->properties);
 | |
|     }
 | |
|     api_attr = NULL;
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
 | |
|     snprintf((char *) name, 20, "foo%d", nr++);
 | |
|     api_attr = xmlSetProp(api_root, name, (const xmlChar *) "bar");
 | |
| #endif
 | |
|     return(api_attr);
 | |
| }
 | |
| 
 | |
| static int quiet = 0;
 | |
| 
 | |
| int main(int argc, char **argv) {
 | |
|     int ret;
 | |
|     int blocks, mem;
 | |
| 
 | |
| #ifdef HAVE_PUTENV
 | |
|     /* access to the proxy can slow up regression tests a lot */
 | |
|     putenv((char *) "http_proxy=");
 | |
| #endif
 | |
| 
 | |
|     memset(chartab, 0, sizeof(chartab));
 | |
|     strncpy((char *) chartab, "  chartab\n", 20);
 | |
|     memset(inttab, 0, sizeof(inttab));
 | |
|     memset(longtab, 0, sizeof(longtab));
 | |
| 
 | |
|     xmlInitParser();
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
|     xmlRelaxNGInitTypes();
 | |
| #endif
 | |
| 
 | |
|     LIBXML_TEST_VERSION
 | |
| 
 | |
|     xmlSetStructuredErrorFunc(NULL, structured_errors);
 | |
| 
 | |
|     if (argc >= 2) {
 | |
|         if (!strcmp(argv[1], "-q")) {
 | |
| 	    quiet = 1;
 | |
| 	    if (argc >= 3)
 | |
| 	        ret = test_module(argv[2]);
 | |
| 	    else
 | |
| 		ret = testlibxml2();
 | |
|         } else {
 | |
| 	   ret = test_module(argv[1]);
 | |
| 	}
 | |
|     } else
 | |
| 	ret = testlibxml2();
 | |
| 
 | |
|     xmlCleanupParser();
 | |
|     blocks = xmlMemBlocks();
 | |
|     mem = xmlMemUsed();
 | |
|     if ((blocks != 0) || (mem != 0)) {
 | |
|         printf("testapi leaked %d bytes in %d blocks\n", mem, blocks);
 | |
|     }
 | |
|     xmlMemoryDump();
 | |
| 
 | |
|     return (ret != 0);
 | |
| }
 | |
| 
 | |
| #include <libxml/HTMLparser.h>
 | |
| #include <libxml/HTMLtree.h>
 | |
| #include <libxml/catalog.h>
 | |
| #include <libxml/chvalid.h>
 | |
| #include <libxml/dict.h>
 | |
| #include <libxml/encoding.h>
 | |
| #include <libxml/entities.h>
 | |
| #include <libxml/hash.h>
 | |
| #include <libxml/list.h>
 | |
| #include <libxml/nanoftp.h>
 | |
| #include <libxml/nanohttp.h>
 | |
| #include <libxml/parser.h>
 | |
| #include <libxml/parserInternals.h>
 | |
| #include <libxml/pattern.h>
 | |
| #include <libxml/relaxng.h>
 | |
| #include <libxml/schemasInternals.h>
 | |
| #include <libxml/schematron.h>
 | |
| #include <libxml/tree.h>
 | |
| #include <libxml/uri.h>
 | |
| #include <libxml/valid.h>
 | |
| #include <libxml/xinclude.h>
 | |
| #include <libxml/xmlIO.h>
 | |
| #include <libxml/xmlerror.h>
 | |
| #include <libxml/xmlreader.h>
 | |
| #include <libxml/xmlsave.h>
 | |
| #include <libxml/xmlschemas.h>
 | |
| #include <libxml/xmlschemastypes.h>
 | |
| #include <libxml/xmlstring.h>
 | |
| #include <libxml/xmlwriter.h>
 | |
| #include <libxml/xpath.h>
 | |
| #include <libxml/xpointer.h>
 | |
| #include <libxml/debugXML.h>
 | |
| 
 | |
| /*
 | |
|   We manually define xmlErrMemory because it's normal declaration
 | |
|   is "hidden" by #ifdef IN_LIBXML
 | |
| */
 | |
| void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
 | |
| 
 | |
| /*
 | |
|  We need some "remote" addresses, but want to avoid getting into
 | |
|  name resolution delays, so we use these
 | |
| */
 | |
| #define	REMOTE1GOOD	"http://localhost/"
 | |
| #define	REMOTE1BAD	"http:http://http"
 | |
| #define	REMOTE2GOOD	"ftp://localhost/foo"
 | |
| 
 | |
| #define gen_nb_void_ptr 2
 | |
| 
 | |
| static void *gen_void_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_void_ptr(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #if 0
 | |
| #define gen_nb_const_void_ptr 2
 | |
| 
 | |
| static const void *gen_const_void_ptr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return((const void *) "immutable string");
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_void_ptr(int no ATTRIBUTE_UNUSED, const void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_userdata 3
 | |
| 
 | |
| static void *gen_userdata(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return((void *) &call_tests);
 | |
|     if (no == 1) return((void *) -1);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_userdata(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_int 4
 | |
| 
 | |
| static int gen_int(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(0);
 | |
|     if (no == 1) return(1);
 | |
|     if (no == 2) return(-1);
 | |
|     if (no == 3) return(122);
 | |
|     return(-1);
 | |
| }
 | |
| 
 | |
| static void des_int(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_parseroptions 5
 | |
| 
 | |
| static int gen_parseroptions(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(XML_PARSE_NOBLANKS | XML_PARSE_RECOVER);
 | |
|     if (no == 1) return(XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_DTDVALID | XML_PARSE_NOCDATA);
 | |
|     if (no == 2) return(XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE | XML_PARSE_NSCLEAN);
 | |
|     if (no == 3) return(XML_PARSE_XINCLUDE | XML_PARSE_NODICT);
 | |
|     return(XML_PARSE_SAX1);
 | |
| }
 | |
| 
 | |
| static void des_parseroptions(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #if 0
 | |
| #define gen_nb_long 5
 | |
| 
 | |
| static long gen_long(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(0);
 | |
|     if (no == 1) return(1);
 | |
|     if (no == 2) return(-1);
 | |
|     if (no == 3) return(122);
 | |
|     return(-1);
 | |
| }
 | |
| 
 | |
| static void des_long(int no ATTRIBUTE_UNUSED, long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlChar 4
 | |
| 
 | |
| static xmlChar gen_xmlChar(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return('a');
 | |
|     if (no == 1) return(' ');
 | |
|     if (no == 2) return((xmlChar) '\xf8');
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlChar(int no ATTRIBUTE_UNUSED, xmlChar val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_unsigned_int 3
 | |
| 
 | |
| static unsigned int gen_unsigned_int(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(0);
 | |
|     if (no == 1) return(1);
 | |
|     if (no == 2) return(122);
 | |
|     return((unsigned int) -1);
 | |
| }
 | |
| 
 | |
| static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_unsigned_long 4
 | |
| 
 | |
| static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(0);
 | |
|     if (no == 1) return(1);
 | |
|     if (no == 2) return(122);
 | |
|     return((unsigned long) -1);
 | |
| }
 | |
| 
 | |
| static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_unsigned_long_ptr 2
 | |
| 
 | |
| static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
 | |
|     if (no == 0) return(&longtab[nr]);
 | |
|     return(NULL);
 | |
| }
 | |
| 
 | |
| static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif /* LIBXML_SCHEMAS_ENABLED */
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| 
 | |
| #define gen_nb_double 4
 | |
| 
 | |
| static double gen_double(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(0);
 | |
|     if (no == 1) return(-1.1);
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     if (no == 2) return(xmlXPathNAN);
 | |
| #endif
 | |
|     return(-1);
 | |
| }
 | |
| 
 | |
| static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif /* defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
 | |
| 
 | |
| #define gen_nb_int_ptr 2
 | |
| 
 | |
| static int *gen_int_ptr(int no, int nr) {
 | |
|     if (no == 0) return(&inttab[nr]);
 | |
|     return(NULL);
 | |
| }
 | |
| 
 | |
| static void des_int_ptr(int no ATTRIBUTE_UNUSED, int *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_const_char_ptr 4
 | |
| 
 | |
| static char *gen_const_char_ptr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return((char *) "foo");
 | |
|     if (no == 1) return((char *) "<foo/>");
 | |
|     if (no == 2) return((char *) "test/ent2");
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_char_ptr(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlChar_ptr 2
 | |
| 
 | |
| static xmlChar *gen_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(&chartab[0]);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlChar_ptr(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_FILE_ptr 2
 | |
| 
 | |
| static FILE *gen_FILE_ptr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(fopen("test.out", "a+"));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) fclose(val);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_DEBUG_ENABLED
 | |
| #define gen_nb_debug_FILE_ptr 2
 | |
| static FILE *gen_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(fopen("test.out", "a+"));
 | |
| }
 | |
| static void des_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) fclose(val);
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_const_xmlChar_ptr 5
 | |
| 
 | |
| static xmlChar *gen_const_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return((xmlChar *) "foo");
 | |
|     if (no == 1) return((xmlChar *) "<foo/>");
 | |
|     if (no == 2) return((xmlChar *) "n" "\xf8" "ne");
 | |
|     if (no == 3) return((xmlChar *) " 2ab ");
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_xmlChar_ptr(int no ATTRIBUTE_UNUSED, const xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_filepath 8
 | |
| 
 | |
| static const char *gen_filepath(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return("missing.xml");
 | |
|     if (no == 1) return("<foo/>");
 | |
|     if (no == 2) return("test/ent2");
 | |
|     if (no == 3) return("test/valid/REC-xml-19980210.xml");
 | |
|     if (no == 4) return("test/valid/dtds/xhtml1-strict.dtd");
 | |
|     if (no == 5) return(REMOTE1GOOD);
 | |
|     if (no == 6) return(REMOTE1BAD);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_filepath(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_eaten_name 2
 | |
| 
 | |
| static xmlChar *gen_eaten_name(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlStrdup(BAD_CAST "eaten"));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_fileoutput 6
 | |
| 
 | |
| static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return("missing.xml");
 | |
|     if (no == 1) return("<foo/>");
 | |
|     if (no == 2) return(REMOTE2GOOD);
 | |
|     if (no == 3) return(REMOTE1GOOD);
 | |
|     if (no == 4) return(REMOTE1BAD);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_fileoutput(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlParserCtxtPtr 3
 | |
| static xmlParserCtxtPtr gen_xmlParserCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewParserCtxt());
 | |
|     if (no == 1) return(xmlCreateMemoryParserCtxt("<doc/>", 6));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlParserCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL)
 | |
|         xmlFreeParserCtxt(val);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
| #define gen_nb_xmlSAXHandlerPtr 2
 | |
| static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlValidCtxtPtr 2
 | |
| static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     (void) no;
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     if (no == 0) return(xmlNewValidCtxt());
 | |
| #endif
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     (void) val;
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     if (val != NULL)
 | |
|         xmlFreeValidCtxt(val);
 | |
| #endif
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlParserInputBufferPtr 8
 | |
| 
 | |
| static xmlParserInputBufferPtr gen_xmlParserInputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlParserInputBufferCreateFilename("missing.xml", XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 1) return(xmlParserInputBufferCreateFilename("<foo/>", XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 2) return(xmlParserInputBufferCreateFilename("test/ent2", XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 3) return(xmlParserInputBufferCreateFilename("test/valid/REC-xml-19980210.xml", XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 4) return(xmlParserInputBufferCreateFilename("test/valid/dtds/xhtml1-strict.dtd", XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 5) return(xmlParserInputBufferCreateFilename(REMOTE1GOOD, XML_CHAR_ENCODING_NONE));
 | |
|     if (no == 6) return(xmlParserInputBufferCreateFilename(REMOTE1BAD, XML_CHAR_ENCODING_NONE));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlParserInputBufferPtr(int no ATTRIBUTE_UNUSED, xmlParserInputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     xmlFreeParserInputBuffer(val);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlDocPtr 4
 | |
| static xmlDocPtr gen_xmlDocPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewDoc(BAD_CAST "1.0"));
 | |
|     if (no == 1) return(xmlReadMemory("<foo/>", 6, "test", NULL, 0));
 | |
|     if (no == 2) return(xmlReadMemory("<!DOCTYPE foo []> <foo/>", 24, "test", NULL, 0));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlDocPtr(int no ATTRIBUTE_UNUSED, xmlDocPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
 | |
|         xmlFreeDoc(val);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlAttrPtr 2
 | |
| static xmlAttrPtr gen_xmlAttrPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(get_api_attr());
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlAttrPtr(int no, xmlAttrPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) free_api_doc();
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlDictPtr 2
 | |
| static xmlDictPtr gen_xmlDictPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlDictCreate());
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlDictPtr(int no ATTRIBUTE_UNUSED, xmlDictPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL)
 | |
|         xmlDictFree(val);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlNodePtr 3
 | |
| static xmlNodePtr gen_xmlNodePtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
 | |
|     if (no == 1) return(get_api_root());
 | |
|     return(NULL);
 | |
| /*     if (no == 2) return((xmlNodePtr) get_api_doc()); */
 | |
| }
 | |
| static void des_xmlNodePtr(int no, xmlNodePtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) {
 | |
|         free_api_doc();
 | |
|     } else if (val != NULL) {
 | |
|         xmlUnlinkNode(val);
 | |
|         xmlFreeNode(val);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlDtdPtr 3
 | |
| static xmlDtdPtr gen_xmlDtdPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0)
 | |
|         return(xmlNewDtd(NULL, BAD_CAST "dtd", BAD_CAST"foo", BAD_CAST"bar"));
 | |
|     if (no == 1) return(get_api_dtd());
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlDtdPtr(int no, xmlDtdPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) free_api_doc();
 | |
|     else if (val != NULL) {
 | |
|         xmlUnlinkNode((xmlNodePtr) val);
 | |
|         xmlFreeNode((xmlNodePtr) val);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlNsPtr 2
 | |
| static xmlNsPtr gen_xmlNsPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(get_api_ns());
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlNsPtr(int no, xmlNsPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) free_api_doc();
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlNodePtr_in 3
 | |
| static xmlNodePtr gen_xmlNodePtr_in(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
 | |
|     if (no == 0) return(xmlNewText(BAD_CAST "text"));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlNodePtr_in(int no ATTRIBUTE_UNUSED, xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_WRITER_ENABLED
 | |
| #define gen_nb_xmlTextWriterPtr 2
 | |
| static xmlTextWriterPtr gen_xmlTextWriterPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewTextWriterFilename("test.out", 0));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlTextWriterPtr(int no ATTRIBUTE_UNUSED, xmlTextWriterPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) xmlFreeTextWriter(val);
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_READER_ENABLED
 | |
| #define gen_nb_xmlTextReaderPtr 4
 | |
| static xmlTextReaderPtr gen_xmlTextReaderPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewTextReaderFilename("test/ent2"));
 | |
|     if (no == 1) return(xmlNewTextReaderFilename("test/valid/REC-xml-19980210.xml"));
 | |
|     if (no == 2) return(xmlNewTextReaderFilename("test/valid/dtds/xhtml1-strict.dtd"));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlTextReaderPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) xmlFreeTextReader(val);
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlBufferPtr 3
 | |
| static const xmlChar *static_buf_content = (xmlChar *)"a static buffer";
 | |
| static xmlBufferPtr gen_xmlBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlBufferCreate());
 | |
|     if (no == 1) return(xmlBufferCreateStatic((void *)static_buf_content, 13));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlBufferPtr(int no ATTRIBUTE_UNUSED, xmlBufferPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
|         xmlBufferFree(val);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlListPtr 2
 | |
| static xmlListPtr gen_xmlListPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlListCreate(NULL, NULL));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlListPtr(int no ATTRIBUTE_UNUSED, xmlListPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
|         xmlListDelete(val);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlHashTablePtr 2
 | |
| static xmlHashTablePtr gen_xmlHashTablePtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlHashCreate(10));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlHashTablePtr(int no ATTRIBUTE_UNUSED, xmlHashTablePtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
|         xmlHashFree(val, NULL);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #include <libxml/xpathInternals.h>
 | |
| 
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| #define gen_nb_xmlXPathObjectPtr 5
 | |
| static xmlXPathObjectPtr gen_xmlXPathObjectPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlXPathNewString(BAD_CAST "string object"));
 | |
|     if (no == 1) return(xmlXPathNewFloat(1.1));
 | |
|     if (no == 2) return(xmlXPathNewBoolean(1));
 | |
|     if (no == 3) return(xmlXPathNewNodeSet(NULL));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlXPathObjectPtr(int no ATTRIBUTE_UNUSED, xmlXPathObjectPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
|         xmlXPathFreeObject(val);
 | |
|     }
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
| #define gen_nb_xmlOutputBufferPtr 2
 | |
| static xmlOutputBufferPtr gen_xmlOutputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlOutputBufferCreateFilename("test.out", NULL, 0));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlOutputBufferPtr(int no ATTRIBUTE_UNUSED, xmlOutputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
|         xmlOutputBufferClose(val);
 | |
|     }
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_HTTP_ENABLED
 | |
| #define gen_nb_xmlNanoHTTPCtxtPtr 1
 | |
| static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNanoHTTPOpen(REMOTE1GOOD, NULL));
 | |
|     if (no == 1) return(xmlNanoHTTPOpen(REMOTE2GOOD, NULL));
 | |
|     if (no == 2) return(xmlNanoHTTPOpen(REMOTE1BAD, NULL));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlNanoHTTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL) {
 | |
| 	xmlNanoHTTPClose(val);
 | |
|     }
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlCharEncoding 4
 | |
| static xmlCharEncoding gen_xmlCharEncoding(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(XML_CHAR_ENCODING_UTF8);
 | |
|     if (no == 1) return(XML_CHAR_ENCODING_NONE);
 | |
|     if (no == 2) return(XML_CHAR_ENCODING_8859_1);
 | |
|     return(XML_CHAR_ENCODING_ERROR);
 | |
| }
 | |
| static void des_xmlCharEncoding(int no ATTRIBUTE_UNUSED, xmlCharEncoding val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
| 
 | |
| #define gen_nb_xmlExpCtxtPtr 1
 | |
| static xmlExpCtxtPtr gen_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, xmlExpCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlExpNodePtr 1
 | |
| static xmlExpNodePtr gen_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, xmlExpNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #define gen_nb_xmlSchemaPtr 1
 | |
| static xmlSchemaPtr gen_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, xmlSchemaPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlSchemaValidCtxtPtr 1
 | |
| static xmlSchemaValidCtxtPtr gen_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif /* LIBXML_SCHEMAS_ENABLED */
 | |
| 
 | |
| #define gen_nb_xmlHashDeallocator 2
 | |
| static void
 | |
| test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED,
 | |
|                         const xmlChar *name ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(test_xmlHashDeallocator);
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlHashDeallocator(int no ATTRIBUTE_UNUSED, xmlHashDeallocator val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| 
 | |
| static void desret_int(int val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_xmlChar(xmlChar val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_long(long val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
| static void desret_double(double val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #if 0
 | |
| static void desret_const_void_ptr(void *val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| static void desret_void_ptr(void *val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_const_char_ptr(const char *val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_const_xmlChar_ptr(const xmlChar *val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_xmlChar_ptr(xmlChar *val) {
 | |
|     if (val != NULL)
 | |
| 	xmlFree(val);
 | |
| }
 | |
| static void desret_xmlDocPtr(xmlDocPtr val) {
 | |
|     if (val != api_doc)
 | |
| 	xmlFreeDoc(val);
 | |
| }
 | |
| static void desret_xmlDictPtr(xmlDictPtr val) {
 | |
|     xmlDictFree(val);
 | |
| }
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
| static void desret_xmlOutputBufferPtr(xmlOutputBufferPtr val) {
 | |
|     xmlOutputBufferClose(val);
 | |
| }
 | |
| #endif
 | |
| #ifdef LIBXML_READER_ENABLED
 | |
| static void desret_xmlTextReaderPtr(xmlTextReaderPtr val) {
 | |
|     xmlFreeTextReader(val);
 | |
| }
 | |
| #endif
 | |
| static void desret_xmlNodePtr(xmlNodePtr val) {
 | |
|     if ((val != NULL) && (val != api_root) && (val != (xmlNodePtr) api_doc)) {
 | |
| 	xmlUnlinkNode(val);
 | |
| 	xmlFreeNode(val);
 | |
|     }
 | |
| }
 | |
| static void desret_xmlAttrPtr(xmlAttrPtr val) {
 | |
|     if (val != NULL) {
 | |
| 	xmlUnlinkNode((xmlNodePtr) val);
 | |
| 	xmlFreeNode((xmlNodePtr) val);
 | |
|     }
 | |
| }
 | |
| static void desret_xmlEntityPtr(xmlEntityPtr val) {
 | |
|     if (val != NULL) {
 | |
| 	xmlUnlinkNode((xmlNodePtr) val);
 | |
| 	xmlFreeNode((xmlNodePtr) val);
 | |
|     }
 | |
| }
 | |
| static void desret_xmlElementPtr(xmlElementPtr val) {
 | |
|     if (val != NULL) {
 | |
| 	xmlUnlinkNode((xmlNodePtr) val);
 | |
|     }
 | |
| }
 | |
| static void desret_xmlAttributePtr(xmlAttributePtr val) {
 | |
|     if (val != NULL) {
 | |
| 	xmlUnlinkNode((xmlNodePtr) val);
 | |
|     }
 | |
| }
 | |
| static void desret_xmlNsPtr(xmlNsPtr val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_xmlDtdPtr(xmlDtdPtr val) {
 | |
|     desret_xmlNodePtr((xmlNodePtr)val);
 | |
| }
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| static void desret_xmlXPathObjectPtr(xmlXPathObjectPtr val) {
 | |
|     xmlXPathFreeObject(val);
 | |
| }
 | |
| static void desret_xmlNodeSetPtr(xmlNodeSetPtr val) {
 | |
|     xmlXPathFreeNodeSet(val);
 | |
| }
 | |
| #endif
 | |
| static void desret_xmlParserCtxtPtr(xmlParserCtxtPtr val) {
 | |
|     xmlFreeParserCtxt(val);
 | |
| }
 | |
| static void desret_xmlParserInputBufferPtr(xmlParserInputBufferPtr val) {
 | |
|     xmlFreeParserInputBuffer(val);
 | |
| }
 | |
| static void desret_xmlParserInputPtr(xmlParserInputPtr val) {
 | |
|     xmlFreeInputStream(val);
 | |
| }
 | |
| #ifdef LIBXML_WRITER_ENABLED
 | |
| static void desret_xmlTextWriterPtr(xmlTextWriterPtr val) {
 | |
|     xmlFreeTextWriter(val);
 | |
| }
 | |
| #endif
 | |
| static void desret_xmlBufferPtr(xmlBufferPtr val) {
 | |
|     xmlBufferFree(val);
 | |
| }
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| static void desret_xmlSchemaParserCtxtPtr(xmlSchemaParserCtxtPtr val) {
 | |
|     xmlSchemaFreeParserCtxt(val);
 | |
| }
 | |
| static void desret_xmlSchemaTypePtr(xmlSchemaTypePtr val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| static void desret_xmlRelaxNGParserCtxtPtr(xmlRelaxNGParserCtxtPtr val) {
 | |
|     xmlRelaxNGFreeParserCtxt(val);
 | |
| }
 | |
| #endif
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| static void desret_const_htmlEntityDesc_ptr(const htmlEntityDesc * val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| #ifdef LIBXML_HTTP_ENABLED
 | |
| static void desret_xmlNanoHTTPCtxtPtr(void *val) {
 | |
|     xmlNanoHTTPClose(val);
 | |
| }
 | |
| #endif
 | |
| /* cut and pasted from autogenerated to avoid troubles */
 | |
| #define gen_nb_const_xmlChar_ptr_ptr 1
 | |
| static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, const xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_unsigned_char_ptr 1
 | |
| static unsigned char * gen_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_const_unsigned_char_ptr 1
 | |
| static unsigned char * gen_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, const unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| #define gen_nb_const_htmlNodePtr 1
 | |
| static htmlNodePtr gen_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, const htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| #define gen_nb_htmlDocPtr 3
 | |
| static htmlDocPtr gen_htmlDocPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(htmlNewDoc(NULL, NULL));
 | |
|     if (no == 1) return(htmlReadMemory("<html/>", 7, "test", NULL, 0));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_htmlDocPtr(int no ATTRIBUTE_UNUSED, htmlDocPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
 | |
|         xmlFreeDoc(val);
 | |
| }
 | |
| static void desret_htmlDocPtr(htmlDocPtr val) {
 | |
|     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
 | |
|         xmlFreeDoc(val);
 | |
| }
 | |
| #define gen_nb_htmlParserCtxtPtr 3
 | |
| static htmlParserCtxtPtr gen_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 0) return(xmlNewParserCtxt());
 | |
|     if (no == 1) return(htmlCreateMemoryParserCtxt("<html/>", 7));
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, htmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL)
 | |
|         htmlFreeParserCtxt(val);
 | |
| }
 | |
| static void desret_htmlParserCtxtPtr(htmlParserCtxtPtr val) {
 | |
|     if (val != NULL)
 | |
|         htmlFreeParserCtxt(val);
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| #define gen_nb_xmlNodeSetPtr 1
 | |
| static xmlNodeSetPtr gen_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, xmlNodeSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_DEBUG_ENABLED
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| #define gen_nb_xmlShellCtxtPtr 1
 | |
| static xmlShellCtxtPtr gen_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, xmlShellCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_PATTERN_ENABLED
 | |
| #define gen_nb_xmlPatternPtr 1
 | |
| static xmlPatternPtr gen_xmlPatternPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlPatternPtr(int no ATTRIBUTE_UNUSED, xmlPatternPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlElementContentPtr 1
 | |
| static xmlElementContentPtr gen_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, xmlElementContentPtr val, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (val != NULL)
 | |
|         xmlFreeElementContent(val);
 | |
| }
 | |
| static void desret_xmlElementContentPtr(xmlElementContentPtr val) {
 | |
|     if (val != NULL)
 | |
|         xmlFreeElementContent(val);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlParserNodeInfoSeqPtr 1
 | |
| static xmlParserNodeInfoSeqPtr gen_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #if defined(LIBXML_MODULES_ENABLED) || defined(LIBXML_READER_ENABLED) || \
 | |
|     defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #define gen_nb_void_ptr_ptr 1
 | |
| static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
|     return(NULL);
 | |
| }
 | |
| static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| #endif
 | |
| 
 | |
| /************************************************************************
 | |
|  *									*
 | |
|  *   WARNING: end of the manually maintained part of the test code	*
 | |
|  *            do not remove or alter the CUT HERE line			*
 | |
|  *									*
 | |
|  ************************************************************************/
 | |
| 
 | |
| /* CUT HERE: everything below that line is generated */
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| static void desret_htmlStatus(htmlStatus val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlAttributeDefault 4
 | |
| static xmlAttributeDefault gen_xmlAttributeDefault(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_ATTRIBUTE_FIXED);
 | |
|     if (no == 2) return(XML_ATTRIBUTE_IMPLIED);
 | |
|     if (no == 3) return(XML_ATTRIBUTE_NONE);
 | |
|     if (no == 4) return(XML_ATTRIBUTE_REQUIRED);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlAttributeDefault(int no ATTRIBUTE_UNUSED, xmlAttributeDefault val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlAttributeType 4
 | |
| static xmlAttributeType gen_xmlAttributeType(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_ATTRIBUTE_CDATA);
 | |
|     if (no == 2) return(XML_ATTRIBUTE_ENTITIES);
 | |
|     if (no == 3) return(XML_ATTRIBUTE_ENTITY);
 | |
|     if (no == 4) return(XML_ATTRIBUTE_ENUMERATION);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlAttributeType(int no ATTRIBUTE_UNUSED, xmlAttributeType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlBufferAllocationScheme 4
 | |
| static xmlBufferAllocationScheme gen_xmlBufferAllocationScheme(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_BUFFER_ALLOC_BOUNDED);
 | |
|     if (no == 2) return(XML_BUFFER_ALLOC_DOUBLEIT);
 | |
|     if (no == 3) return(XML_BUFFER_ALLOC_EXACT);
 | |
|     if (no == 4) return(XML_BUFFER_ALLOC_HYBRID);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlBufferAllocationScheme(int no ATTRIBUTE_UNUSED, xmlBufferAllocationScheme val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_xmlBufferAllocationScheme(xmlBufferAllocationScheme val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_CATALOG_ENABLED
 | |
| #define gen_nb_xmlCatalogAllow 4
 | |
| static xmlCatalogAllow gen_xmlCatalogAllow(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_CATA_ALLOW_ALL);
 | |
|     if (no == 2) return(XML_CATA_ALLOW_DOCUMENT);
 | |
|     if (no == 3) return(XML_CATA_ALLOW_GLOBAL);
 | |
|     if (no == 4) return(XML_CATA_ALLOW_NONE);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlCatalogAllow(int no ATTRIBUTE_UNUSED, xmlCatalogAllow val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_xmlCatalogAllow(xmlCatalogAllow val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_CATALOG_ENABLED
 | |
| #define gen_nb_xmlCatalogPrefer 3
 | |
| static xmlCatalogPrefer gen_xmlCatalogPrefer(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_CATA_PREFER_NONE);
 | |
|     if (no == 2) return(XML_CATA_PREFER_PUBLIC);
 | |
|     if (no == 3) return(XML_CATA_PREFER_SYSTEM);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlCatalogPrefer(int no ATTRIBUTE_UNUSED, xmlCatalogPrefer val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_xmlCatalogPrefer(xmlCatalogPrefer val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #define gen_nb_xmlElementContentType 4
 | |
| static xmlElementContentType gen_xmlElementContentType(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_ELEMENT_CONTENT_ELEMENT);
 | |
|     if (no == 2) return(XML_ELEMENT_CONTENT_OR);
 | |
|     if (no == 3) return(XML_ELEMENT_CONTENT_PCDATA);
 | |
|     if (no == 4) return(XML_ELEMENT_CONTENT_SEQ);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlElementContentType(int no ATTRIBUTE_UNUSED, xmlElementContentType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlElementTypeVal 4
 | |
| static xmlElementTypeVal gen_xmlElementTypeVal(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_ELEMENT_TYPE_ANY);
 | |
|     if (no == 2) return(XML_ELEMENT_TYPE_ELEMENT);
 | |
|     if (no == 3) return(XML_ELEMENT_TYPE_EMPTY);
 | |
|     if (no == 4) return(XML_ELEMENT_TYPE_MIXED);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlElementTypeVal(int no ATTRIBUTE_UNUSED, xmlElementTypeVal val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlFeature 4
 | |
| static xmlFeature gen_xmlFeature(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_WITH_AUTOMATA);
 | |
|     if (no == 2) return(XML_WITH_C14N);
 | |
|     if (no == 3) return(XML_WITH_CATALOG);
 | |
|     if (no == 4) return(XML_WITH_DEBUG);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlFeature(int no ATTRIBUTE_UNUSED, xmlFeature val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_xmlParserErrors(xmlParserErrors val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| #define gen_nb_xmlSchemaValType 4
 | |
| static xmlSchemaValType gen_xmlSchemaValType(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_SCHEMAS_ANYSIMPLETYPE);
 | |
|     if (no == 2) return(XML_SCHEMAS_ANYTYPE);
 | |
|     if (no == 3) return(XML_SCHEMAS_ANYURI);
 | |
|     if (no == 4) return(XML_SCHEMAS_BASE64BINARY);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlSchemaValType(int no ATTRIBUTE_UNUSED, xmlSchemaValType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| static void desret_xmlSchemaValType(xmlSchemaValType val ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| #define gen_nb_xmlSchemaWhitespaceValueType 4
 | |
| static xmlSchemaWhitespaceValueType gen_xmlSchemaWhitespaceValueType(int no, int nr ATTRIBUTE_UNUSED) {
 | |
|     if (no == 1) return(XML_SCHEMA_WHITESPACE_COLLAPSE);
 | |
|     if (no == 2) return(XML_SCHEMA_WHITESPACE_PRESERVE);
 | |
|     if (no == 3) return(XML_SCHEMA_WHITESPACE_REPLACE);
 | |
|     if (no == 4) return(XML_SCHEMA_WHITESPACE_UNKNOWN);
 | |
|     return(0);
 | |
| }
 | |
| 
 | |
| static void des_xmlSchemaWhitespaceValueType(int no ATTRIBUTE_UNUSED, xmlSchemaWhitespaceValueType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #include <libxml/HTMLparser.h>
 | |
| #include <libxml/HTMLtree.h>
 | |
| #include <libxml/SAX2.h>
 | |
| #include <libxml/c14n.h>
 | |
| #include <libxml/catalog.h>
 | |
| #include <libxml/chvalid.h>
 | |
| #include <libxml/debugXML.h>
 | |
| #include <libxml/dict.h>
 | |
| #include <libxml/encoding.h>
 | |
| #include <libxml/entities.h>
 | |
| #include <libxml/hash.h>
 | |
| #include <libxml/list.h>
 | |
| #include <libxml/nanohttp.h>
 | |
| #include <libxml/parser.h>
 | |
| #include <libxml/parserInternals.h>
 | |
| #include <libxml/pattern.h>
 | |
| #include <libxml/relaxng.h>
 | |
| #include <libxml/schemasInternals.h>
 | |
| #include <libxml/schematron.h>
 | |
| #include <libxml/tree.h>
 | |
| #include <libxml/uri.h>
 | |
| #include <libxml/valid.h>
 | |
| #include <libxml/xinclude.h>
 | |
| #include <libxml/xmlIO.h>
 | |
| #include <libxml/xmlautomata.h>
 | |
| #include <libxml/xmlerror.h>
 | |
| #include <libxml/xmlmodule.h>
 | |
| #include <libxml/xmlreader.h>
 | |
| #include <libxml/xmlregexp.h>
 | |
| #include <libxml/xmlsave.h>
 | |
| #include <libxml/xmlschemas.h>
 | |
| #include <libxml/xmlschemastypes.h>
 | |
| #include <libxml/xmlstring.h>
 | |
| #include <libxml/xmlunicode.h>
 | |
| #include <libxml/xmlwriter.h>
 | |
| #include <libxml/xpath.h>
 | |
| #include <libxml/xpathInternals.h>
 | |
| #include <libxml/xpointer.h>
 | |
| static int test_HTMLparser(void);
 | |
| static int test_HTMLtree(void);
 | |
| static int test_SAX2(void);
 | |
| static int test_c14n(void);
 | |
| static int test_catalog(void);
 | |
| static int test_chvalid(void);
 | |
| static int test_debugXML(void);
 | |
| static int test_dict(void);
 | |
| static int test_encoding(void);
 | |
| static int test_entities(void);
 | |
| static int test_hash(void);
 | |
| static int test_list(void);
 | |
| static int test_nanohttp(void);
 | |
| static int test_parser(void);
 | |
| static int test_parserInternals(void);
 | |
| static int test_pattern(void);
 | |
| static int test_relaxng(void);
 | |
| static int test_schemasInternals(void);
 | |
| static int test_schematron(void);
 | |
| static int test_tree(void);
 | |
| static int test_uri(void);
 | |
| static int test_valid(void);
 | |
| static int test_xinclude(void);
 | |
| static int test_xmlIO(void);
 | |
| static int test_xmlautomata(void);
 | |
| static int test_xmlerror(void);
 | |
| static int test_xmlmodule(void);
 | |
| static int test_xmlreader(void);
 | |
| static int test_xmlregexp(void);
 | |
| static int test_xmlsave(void);
 | |
| static int test_xmlschemas(void);
 | |
| static int test_xmlschemastypes(void);
 | |
| static int test_xmlstring(void);
 | |
| static int test_xmlunicode(void);
 | |
| static int test_xmlwriter(void);
 | |
| static int test_xpath(void);
 | |
| static int test_xpathInternals(void);
 | |
| static int test_xpointer(void);
 | |
| 
 | |
| /**
 | |
|  * testlibxml2:
 | |
|  *
 | |
|  * Main entry point of the tester for the full libxml2 module,
 | |
|  * it calls all the tester entry point for each module.
 | |
|  *
 | |
|  * Returns the number of error found
 | |
|  */
 | |
| static int
 | |
| testlibxml2(void)
 | |
| {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     test_ret += test_HTMLparser();
 | |
|     test_ret += test_HTMLtree();
 | |
|     test_ret += test_SAX2();
 | |
|     test_ret += test_c14n();
 | |
|     test_ret += test_catalog();
 | |
|     test_ret += test_chvalid();
 | |
|     test_ret += test_debugXML();
 | |
|     test_ret += test_dict();
 | |
|     test_ret += test_encoding();
 | |
|     test_ret += test_entities();
 | |
|     test_ret += test_hash();
 | |
|     test_ret += test_list();
 | |
|     test_ret += test_nanohttp();
 | |
|     test_ret += test_parser();
 | |
|     test_ret += test_parserInternals();
 | |
|     test_ret += test_pattern();
 | |
|     test_ret += test_relaxng();
 | |
|     test_ret += test_schemasInternals();
 | |
|     test_ret += test_schematron();
 | |
|     test_ret += test_tree();
 | |
|     test_ret += test_uri();
 | |
|     test_ret += test_valid();
 | |
|     test_ret += test_xinclude();
 | |
|     test_ret += test_xmlIO();
 | |
|     test_ret += test_xmlautomata();
 | |
|     test_ret += test_xmlerror();
 | |
|     test_ret += test_xmlmodule();
 | |
|     test_ret += test_xmlreader();
 | |
|     test_ret += test_xmlregexp();
 | |
|     test_ret += test_xmlsave();
 | |
|     test_ret += test_xmlschemas();
 | |
|     test_ret += test_xmlschemastypes();
 | |
|     test_ret += test_xmlstring();
 | |
|     test_ret += test_xmlunicode();
 | |
|     test_ret += test_xmlwriter();
 | |
|     test_ret += test_xpath();
 | |
|     test_ret += test_xpathInternals();
 | |
|     test_ret += test_xpointer();
 | |
| 
 | |
|     printf("Total: %d functions, %d tests, %d errors\n",
 | |
|            function_tests, call_tests, test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_UTF8ToHtml(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * out; /* a pointer to an array of bytes to store the result */
 | |
|     int n_out;
 | |
|     int * outlen; /* the length of @out */
 | |
|     int n_outlen;
 | |
|     unsigned char * in; /* a pointer to an array of UTF-8 chars */
 | |
|     int n_in;
 | |
|     int * inlen; /* the length of @in */
 | |
|     int n_inlen;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
 | |
|     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
 | |
|     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
 | |
|     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_unsigned_char_ptr(n_out, 0);
 | |
|         outlen = gen_int_ptr(n_outlen, 1);
 | |
|         in = gen_const_unsigned_char_ptr(n_in, 2);
 | |
|         inlen = gen_int_ptr(n_inlen, 3);
 | |
| 
 | |
|         ret_val = UTF8ToHtml(out, outlen, (const unsigned char *)in, inlen);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_char_ptr(n_out, out, 0);
 | |
|         des_int_ptr(n_outlen, outlen, 1);
 | |
|         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
 | |
|         des_int_ptr(n_inlen, inlen, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in UTF8ToHtml",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_outlen);
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_inlen);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| 
 | |
| #define gen_nb_const_htmlElemDesc_ptr 1
 | |
| #define gen_const_htmlElemDesc_ptr(no, nr) NULL
 | |
| #define des_const_htmlElemDesc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlAttrAllowed(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlStatus ret_val;
 | |
|     htmlElemDesc * elt; /* HTML element */
 | |
|     int n_elt;
 | |
|     xmlChar * attr; /* HTML attribute */
 | |
|     int n_attr;
 | |
|     int legacy; /* whether to allow deprecated attributes */
 | |
|     int n_legacy;
 | |
| 
 | |
|     for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_const_xmlChar_ptr;n_attr++) {
 | |
|     for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         elt = gen_const_htmlElemDesc_ptr(n_elt, 0);
 | |
|         attr = gen_const_xmlChar_ptr(n_attr, 1);
 | |
|         legacy = gen_int(n_legacy, 2);
 | |
| 
 | |
|         ret_val = htmlAttrAllowed((const htmlElemDesc *)elt, (const xmlChar *)attr, legacy);
 | |
|         desret_htmlStatus(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 0);
 | |
|         des_const_xmlChar_ptr(n_attr, (const xmlChar *)attr, 1);
 | |
|         des_int(n_legacy, legacy, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlAttrAllowed",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_elt);
 | |
|             printf(" %d", n_attr);
 | |
|             printf(" %d", n_legacy);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| 
 | |
| #define gen_nb_htmlNodePtr 1
 | |
| #define gen_htmlNodePtr(no, nr) NULL
 | |
| #define des_htmlNodePtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlAutoCloseTag(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlDocPtr doc; /* the HTML document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* The tag name */
 | |
|     int n_name;
 | |
|     htmlNodePtr elem; /* the HTML element */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_htmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         elem = gen_htmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = htmlAutoCloseTag(doc, (const xmlChar *)name, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_htmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlAutoCloseTag",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCreateMemoryParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
 | |
|         desret_htmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCreateMemoryParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
| 
 | |
| #define gen_nb_htmlSAXHandlerPtr 1
 | |
| #define gen_htmlSAXHandlerPtr(no, nr) NULL
 | |
| #define des_htmlSAXHandlerPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCreatePushParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ret_val;
 | |
|     htmlSAXHandlerPtr sax; /* a SAX handler */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks */
 | |
|     int n_user_data;
 | |
|     char * chunk; /* a pointer to an array of chars */
 | |
|     int n_chunk;
 | |
|     int size; /* number of chars in the array */
 | |
|     int n_size;
 | |
|     const char * filename; /* an optional file name or URI */
 | |
|     int n_filename;
 | |
|     xmlCharEncoding enc; /* an optional encoding */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_htmlSAXHandlerPtr(n_sax, 0);
 | |
|         user_data = gen_userdata(n_user_data, 1);
 | |
|         chunk = gen_const_char_ptr(n_chunk, 2);
 | |
|         size = gen_int(n_size, 3);
 | |
|         filename = gen_fileoutput(n_filename, 4);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 5);
 | |
|         if ((chunk != NULL) &&
 | |
|             (size > (int) strlen((const char *) chunk) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
 | |
|         desret_htmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_userdata(n_user_data, user_data, 1);
 | |
|         des_const_char_ptr(n_chunk, (const char *)chunk, 2);
 | |
|         des_int(n_size, size, 3);
 | |
|         des_fileoutput(n_filename, filename, 4);
 | |
|         des_xmlCharEncoding(n_enc, enc, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCreatePushParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_chunk);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCtxtReadDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_int(n_options, 4);
 | |
| 
 | |
|         ret_val = htmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_int(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCtxtReadDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCtxtReadFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     htmlDocPtr ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_int(n_options, 3);
 | |
| 
 | |
|         ret_val = htmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCtxtReadMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         URL = gen_filepath(n_URL, 3);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 4);
 | |
|         options = gen_int(n_options, 5);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_filepath(n_URL, URL, 3);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
 | |
|         des_int(n_options, options, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCtxtReadMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCtxtReset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         htmlCtxtReset(ctxt);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCtxtReset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlCtxtUseOptions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         options = gen_int(n_options, 1);
 | |
| 
 | |
|         ret_val = htmlCtxtUseOptions(ctxt, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_options, options, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCtxtUseOptions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlElementAllowedHere(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlElemDesc * parent; /* HTML parent element */
 | |
|     int n_parent;
 | |
|     xmlChar * elt; /* HTML element */
 | |
|     int n_elt;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
 | |
|     for (n_elt = 0;n_elt < gen_nb_const_xmlChar_ptr;n_elt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
 | |
|         elt = gen_const_xmlChar_ptr(n_elt, 1);
 | |
| 
 | |
|         ret_val = htmlElementAllowedHere((const htmlElemDesc *)parent, (const xmlChar *)elt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
 | |
|         des_const_xmlChar_ptr(n_elt, (const xmlChar *)elt, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlElementAllowedHere",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_elt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlElementStatusHere(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlStatus ret_val;
 | |
|     htmlElemDesc * parent; /* HTML parent element */
 | |
|     int n_parent;
 | |
|     htmlElemDesc * elt; /* HTML element */
 | |
|     int n_elt;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
 | |
|     for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
 | |
|         elt = gen_const_htmlElemDesc_ptr(n_elt, 1);
 | |
| 
 | |
|         ret_val = htmlElementStatusHere((const htmlElemDesc *)parent, (const htmlElemDesc *)elt);
 | |
|         desret_htmlStatus(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
 | |
|         des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlElementStatusHere",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_elt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlEncodeEntities(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * out; /* a pointer to an array of bytes to store the result */
 | |
|     int n_out;
 | |
|     int * outlen; /* the length of @out */
 | |
|     int n_outlen;
 | |
|     unsigned char * in; /* a pointer to an array of UTF-8 chars */
 | |
|     int n_in;
 | |
|     int * inlen; /* the length of @in */
 | |
|     int n_inlen;
 | |
|     int quoteChar; /* the quote character to escape (' or ") or zero. */
 | |
|     int n_quoteChar;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
 | |
|     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
 | |
|     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
 | |
|     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
 | |
|     for (n_quoteChar = 0;n_quoteChar < gen_nb_int;n_quoteChar++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_unsigned_char_ptr(n_out, 0);
 | |
|         outlen = gen_int_ptr(n_outlen, 1);
 | |
|         in = gen_const_unsigned_char_ptr(n_in, 2);
 | |
|         inlen = gen_int_ptr(n_inlen, 3);
 | |
|         quoteChar = gen_int(n_quoteChar, 4);
 | |
| 
 | |
|         ret_val = htmlEncodeEntities(out, outlen, (const unsigned char *)in, inlen, quoteChar);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_char_ptr(n_out, out, 0);
 | |
|         des_int_ptr(n_outlen, outlen, 1);
 | |
|         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
 | |
|         des_int_ptr(n_inlen, inlen, 3);
 | |
|         des_int(n_quoteChar, quoteChar, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlEncodeEntities",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_outlen);
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_inlen);
 | |
|             printf(" %d", n_quoteChar);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlEntityLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     const htmlEntityDesc * ret_val;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = htmlEntityLookup((const xmlChar *)name);
 | |
|         desret_const_htmlEntityDesc_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlEntityLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlEntityValueLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     const htmlEntityDesc * ret_val;
 | |
|     unsigned int value; /* the entity's unicode value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_unsigned_int;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_unsigned_int(n_value, 0);
 | |
| 
 | |
|         ret_val = htmlEntityValueLookup(value);
 | |
|         desret_const_htmlEntityDesc_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_value, value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlEntityValueLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlHandleOmittedElem(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int val; /* int 0 or 1 */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = htmlHandleOmittedElem(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlHandleOmittedElem",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlIsAutoClosed(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlDocPtr doc; /* the HTML document */
 | |
|     int n_doc;
 | |
|     htmlNodePtr elem; /* the HTML element */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_htmlDocPtr(n_doc, 0);
 | |
|         elem = gen_htmlNodePtr(n_elem, 1);
 | |
| 
 | |
|         ret_val = htmlIsAutoClosed(doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlDocPtr(n_doc, doc, 0);
 | |
|         des_htmlNodePtr(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlIsAutoClosed",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlIsScriptAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * name; /* an attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = htmlIsScriptAttribute((const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlIsScriptAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNewParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = htmlNewParserCtxt();
 | |
|         desret_htmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNewParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeStatus(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlStatus ret_val;
 | |
|     htmlNodePtr node; /* an htmlNodePtr in a tree */
 | |
|     int n_node;
 | |
|     int legacy; /* whether to allow deprecated elements (YES is faster here for Element nodes) */
 | |
|     int n_legacy;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_htmlNodePtr;n_node++) {
 | |
|     for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_htmlNodePtr(n_node, 0);
 | |
|         legacy = gen_int(n_legacy, 1);
 | |
| 
 | |
|         ret_val = htmlNodeStatus((const htmlNodePtr)node, legacy);
 | |
|         desret_htmlStatus(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_htmlNodePtr(n_node, (const htmlNodePtr)node, 0);
 | |
|         des_int(n_legacy, legacy, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeStatus",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_legacy);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseCharRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = htmlParseCharRef(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseCharRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseChunk(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     char * chunk; /* an char array */
 | |
|     int n_chunk;
 | |
|     int size; /* the size in byte of the chunk */
 | |
|     int n_size;
 | |
|     int terminate; /* last chunk indicator */
 | |
|     int n_terminate;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         chunk = gen_const_char_ptr(n_chunk, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         terminate = gen_int(n_terminate, 3);
 | |
|         if ((chunk != NULL) &&
 | |
|             (size > (int) strlen((const char *) chunk) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_int(n_terminate, terminate, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseChunk",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_chunk);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_terminate);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
|     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
| 
 | |
|         ret_val = htmlParseDoc((const xmlChar *)cur, (const char *)encoding);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = htmlParseDocument(ctxt);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         htmlParseElement(ctxt);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseEntityRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     const htmlEntityDesc * ret_val;
 | |
|     htmlParserCtxtPtr ctxt; /* an HTML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar ** str; /* location to store the entity name */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
 | |
|         str = gen_const_xmlChar_ptr_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = htmlParseEntityRef(ctxt, (const xmlChar **)str);
 | |
|         desret_const_htmlEntityDesc_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr_ptr(n_str, (const xmlChar **)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlParseEntityRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlParseFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     htmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
| 
 | |
|         ret_val = htmlParseFile(filename, (const char *)encoding);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlReadDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         URL = gen_filepath(n_URL, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_int(n_options, 3);
 | |
| 
 | |
|         ret_val = htmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_filepath(n_URL, URL, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlReadDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlReadFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
|         options = gen_int(n_options, 2);
 | |
| 
 | |
|         ret_val = htmlReadFile(filename, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         des_int(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlReadFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlReadMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of htmlParserOption(s) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_int(n_options, 4);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_int(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlReadMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSAXParseDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
|     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     htmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     void * userData; /* if using SAX, this pointer will be provided on callbacks. */
 | |
|     int n_userData;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
|         sax = gen_htmlSAXHandlerPtr(n_sax, 2);
 | |
|         userData = gen_userdata(n_userData, 3);
 | |
| 
 | |
|         ret_val = htmlSAXParseDoc((const xmlChar *)cur, (const char *)encoding, sax, userData);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         des_htmlSAXHandlerPtr(n_sax, sax, 2);
 | |
|         des_userdata(n_userData, userData, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSAXParseDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_userData);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSAXParseFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     htmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     void * userData; /* if using SAX, this pointer will be provided on callbacks. */
 | |
|     int n_userData;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
|         sax = gen_htmlSAXHandlerPtr(n_sax, 2);
 | |
|         userData = gen_userdata(n_userData, 3);
 | |
| 
 | |
|         ret_val = htmlSAXParseFile(filename, (const char *)encoding, sax, userData);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         des_htmlSAXHandlerPtr(n_sax, sax, 2);
 | |
|         des_userdata(n_userData, userData, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSAXParseFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_userData);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlTagLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_HTMLparser(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
 | |
|     test_ret += test_UTF8ToHtml();
 | |
|     test_ret += test_htmlAttrAllowed();
 | |
|     test_ret += test_htmlAutoCloseTag();
 | |
|     test_ret += test_htmlCreateMemoryParserCtxt();
 | |
|     test_ret += test_htmlCreatePushParserCtxt();
 | |
|     test_ret += test_htmlCtxtReadDoc();
 | |
|     test_ret += test_htmlCtxtReadFile();
 | |
|     test_ret += test_htmlCtxtReadMemory();
 | |
|     test_ret += test_htmlCtxtReset();
 | |
|     test_ret += test_htmlCtxtUseOptions();
 | |
|     test_ret += test_htmlElementAllowedHere();
 | |
|     test_ret += test_htmlElementStatusHere();
 | |
|     test_ret += test_htmlEncodeEntities();
 | |
|     test_ret += test_htmlEntityLookup();
 | |
|     test_ret += test_htmlEntityValueLookup();
 | |
|     test_ret += test_htmlHandleOmittedElem();
 | |
|     test_ret += test_htmlIsAutoClosed();
 | |
|     test_ret += test_htmlIsScriptAttribute();
 | |
|     test_ret += test_htmlNewParserCtxt();
 | |
|     test_ret += test_htmlNodeStatus();
 | |
|     test_ret += test_htmlParseCharRef();
 | |
|     test_ret += test_htmlParseChunk();
 | |
|     test_ret += test_htmlParseDoc();
 | |
|     test_ret += test_htmlParseDocument();
 | |
|     test_ret += test_htmlParseElement();
 | |
|     test_ret += test_htmlParseEntityRef();
 | |
|     test_ret += test_htmlParseFile();
 | |
|     test_ret += test_htmlReadDoc();
 | |
|     test_ret += test_htmlReadFile();
 | |
|     test_ret += test_htmlReadMemory();
 | |
|     test_ret += test_htmlSAXParseDoc();
 | |
|     test_ret += test_htmlSAXParseFile();
 | |
|     test_ret += test_htmlTagLookup();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module HTMLparser: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_htmlDocContentDumpFormatOutput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr buf; /* the HTML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding string (unused) */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         htmlDocContentDumpFormatOutput(buf, cur, (const char *)encoding, format);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDocContentDumpFormatOutput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlDocContentDumpOutput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr buf; /* the HTML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding string (unused) */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
| 
 | |
|         htmlDocContentDumpOutput(buf, cur, (const char *)encoding);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDocContentDumpOutput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlDocDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     FILE * f; /* the FILE* */
 | |
|     int n_f;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         f = gen_FILE_ptr(n_f, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = htmlDocDump(f, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_f, f, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDocDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_f);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlChar_ptr_ptr 1
 | |
| #define gen_xmlChar_ptr_ptr(no, nr) NULL
 | |
| #define des_xmlChar_ptr_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_htmlDocDumpMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     xmlChar ** mem; /* OUT: the memory pointer */
 | |
|     int n_mem;
 | |
|     int * size; /* OUT: the memory length */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlDocPtr(n_cur, 0);
 | |
|         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
 | |
|         size = gen_int_ptr(n_size, 2);
 | |
| 
 | |
|         htmlDocDumpMemory(cur, mem, size);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_cur, cur, 0);
 | |
|         des_xmlChar_ptr_ptr(n_mem, mem, 1);
 | |
|         des_int_ptr(n_size, size, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDocDumpMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlDocDumpMemoryFormat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     xmlChar ** mem; /* OUT: the memory pointer */
 | |
|     int n_mem;
 | |
|     int * size; /* OUT: the memory length */
 | |
|     int n_size;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlDocPtr(n_cur, 0);
 | |
|         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
 | |
|         size = gen_int_ptr(n_size, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         htmlDocDumpMemoryFormat(cur, mem, size, format);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_cur, cur, 0);
 | |
|         des_xmlChar_ptr_ptr(n_mem, mem, 1);
 | |
|         des_int_ptr(n_size, size, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDocDumpMemoryFormat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlGetMetaEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     htmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_htmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = htmlGetMetaEncoding(doc);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlGetMetaEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlIsBooleanAttr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * name; /* the name of the attribute to check */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = htmlIsBooleanAttr((const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlIsBooleanAttr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNewDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     xmlChar * URI; /* URI for the dtd, or NULL */
 | |
|     int n_URI;
 | |
|     xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
 | |
|     int n_ExternalID;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 0);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
 | |
| 
 | |
|         ret_val = htmlNewDoc((const xmlChar *)URI, (const xmlChar *)ExternalID);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNewDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNewDocNoDtD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlDocPtr ret_val;
 | |
|     xmlChar * URI; /* URI for the dtd, or NULL */
 | |
|     int n_URI;
 | |
|     xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
 | |
|     int n_ExternalID;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 0);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
 | |
| 
 | |
|         ret_val = htmlNewDocNoDtD((const xmlChar *)URI, (const xmlChar *)ExternalID);
 | |
|         desret_htmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNewDocNoDtD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the HTML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
| 
 | |
|         ret_val = htmlNodeDump(buf, doc, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeDumpFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * out; /* the FILE pointer */
 | |
|     int n_out;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_FILE_ptr(n_out, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
| 
 | |
|         htmlNodeDumpFile(out, doc, cur);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_out, out, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeDumpFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeDumpFileFormat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     FILE * out; /* the FILE pointer */
 | |
|     int n_out;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the document encoding */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_FILE_ptr(n_out, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         format = gen_int(n_format, 4);
 | |
| 
 | |
|         ret_val = htmlNodeDumpFileFormat(out, doc, cur, (const char *)encoding, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_out, out, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_int(n_format, format, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeDumpFileFormat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeDumpFormatOutput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr buf; /* the HTML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding string (unused) */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         format = gen_int(n_format, 4);
 | |
| 
 | |
|         htmlNodeDumpFormatOutput(buf, doc, cur, (const char *)encoding, format);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_int(n_format, format, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeDumpFormatOutput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlNodeDumpOutput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr buf; /* the HTML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding string (unused) */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
| 
 | |
|         htmlNodeDumpOutput(buf, doc, cur, (const char *)encoding);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlNodeDumpOutput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSaveFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename (or URL) */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = htmlSaveFile(filename, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSaveFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSaveFileEnc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the document encoding */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
| 
 | |
|         ret_val = htmlSaveFileEnc(filename, cur, (const char *)encoding);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSaveFileEnc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSaveFileFormat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the document encoding */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         ret_val = htmlSaveFileFormat(filename, cur, (const char *)encoding, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSaveFileFormat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlSetMetaEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     htmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * encoding; /* the encoding string */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_xmlChar_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_htmlDocPtr(n_doc, 0);
 | |
|         encoding = gen_const_xmlChar_ptr(n_encoding, 1);
 | |
| 
 | |
|         ret_val = htmlSetMetaEncoding(doc, (const xmlChar *)encoding);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_htmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_encoding, (const xmlChar *)encoding, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlSetMetaEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_HTMLtree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing HTMLtree : 18 of 18 functions ...\n");
 | |
|     test_ret += test_htmlDocContentDumpFormatOutput();
 | |
|     test_ret += test_htmlDocContentDumpOutput();
 | |
|     test_ret += test_htmlDocDump();
 | |
|     test_ret += test_htmlDocDumpMemory();
 | |
|     test_ret += test_htmlDocDumpMemoryFormat();
 | |
|     test_ret += test_htmlGetMetaEncoding();
 | |
|     test_ret += test_htmlIsBooleanAttr();
 | |
|     test_ret += test_htmlNewDoc();
 | |
|     test_ret += test_htmlNewDocNoDtD();
 | |
|     test_ret += test_htmlNodeDump();
 | |
|     test_ret += test_htmlNodeDumpFile();
 | |
|     test_ret += test_htmlNodeDumpFileFormat();
 | |
|     test_ret += test_htmlNodeDumpFormatOutput();
 | |
|     test_ret += test_htmlNodeDumpOutput();
 | |
|     test_ret += test_htmlSaveFile();
 | |
|     test_ret += test_htmlSaveFileEnc();
 | |
|     test_ret += test_htmlSaveFileFormat();
 | |
|     test_ret += test_htmlSetMetaEncoding();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module HTMLtree: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_htmlDefaultSAXHandlerInit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
| #ifdef LIBXML_HTML_ENABLED
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         htmlDefaultSAXHandlerInit();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlDefaultSAXHandlerInit",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDefaultSAXHandlerInit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlDefaultSAXHandlerInit();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDefaultSAXHandlerInit",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlEnumerationPtr 1
 | |
| #define gen_xmlEnumerationPtr(no, nr) NULL
 | |
| #define des_xmlEnumerationPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2AttributeDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * elem; /* the name of the element */
 | |
|     int n_elem;
 | |
|     xmlChar * fullname; /* the attribute name */
 | |
|     int n_fullname;
 | |
|     int type; /* the attribute type */
 | |
|     int n_type;
 | |
|     int def; /* the type of default value */
 | |
|     int n_def;
 | |
|     xmlChar * defaultValue; /* the attribute default value */
 | |
|     int n_defaultValue;
 | |
|     xmlEnumerationPtr tree; /* the tree of enumerated value set */
 | |
|     int n_tree;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
 | |
|     for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_def = 0;n_def < gen_nb_int;n_def++) {
 | |
|     for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         elem = gen_const_xmlChar_ptr(n_elem, 1);
 | |
|         fullname = gen_const_xmlChar_ptr(n_fullname, 2);
 | |
|         type = gen_int(n_type, 3);
 | |
|         def = gen_int(n_def, 4);
 | |
|         defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 5);
 | |
|         tree = gen_xmlEnumerationPtr(n_tree, 6);
 | |
| 
 | |
|         xmlSAX2AttributeDecl(ctx, (const xmlChar *)elem, (const xmlChar *)fullname, type, def, (const xmlChar *)defaultValue, tree);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
 | |
|         des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 2);
 | |
|         des_int(n_type, type, 3);
 | |
|         des_int(n_def, def, 4);
 | |
|         des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 5);
 | |
|         des_xmlEnumerationPtr(n_tree, tree, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2AttributeDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_fullname);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_def);
 | |
|             printf(" %d", n_defaultValue);
 | |
|             printf(" %d", n_tree);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2CDataBlock(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * value; /* The pcdata content */
 | |
|     int n_value;
 | |
|     int len; /* the block length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((value != NULL) &&
 | |
|             (len > (int) strlen((const char *) value) + 1))
 | |
|             continue;
 | |
| 
 | |
|         xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2CDataBlock",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2Characters(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * ch; /* a xmlChar string */
 | |
|     int n_ch;
 | |
|     int len; /* the number of xmlChar */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         ch = gen_const_xmlChar_ptr(n_ch, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((ch != NULL) &&
 | |
|             (len > (int) strlen((const char *) ch) + 1))
 | |
|             continue;
 | |
| 
 | |
|         xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2Characters",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_ch);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2Comment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * value; /* the xmlSAX2Comment content */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
| 
 | |
|         xmlSAX2Comment(ctx, (const xmlChar *)value);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2Comment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2ElementDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* the element name */
 | |
|     int n_name;
 | |
|     int type; /* the element type */
 | |
|     int n_type;
 | |
|     xmlElementContentPtr content; /* the element value tree */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_int(n_type, 2);
 | |
|         content = gen_xmlElementContentPtr(n_content, 3);
 | |
| 
 | |
|         xmlSAX2ElementDecl(ctx, (const xmlChar *)name, type, content);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_type, type, 2);
 | |
|         des_xmlElementContentPtr(n_content, content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2ElementDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2EndDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         xmlSAX2EndDocument(ctx);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2EndDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2EndElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The element name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         xmlSAX2EndElement(ctx, (const xmlChar *)name);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2EndElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2EndElementNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * localname; /* the local name of the element */
 | |
|     int n_localname;
 | |
|     xmlChar * prefix; /* the element namespace prefix if available */
 | |
|     int n_prefix;
 | |
|     xmlChar * URI; /* the element namespace name if available */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         localname = gen_const_xmlChar_ptr(n_localname, 1);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 3);
 | |
| 
 | |
|         xmlSAX2EndElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2EndElementNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_localname);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2EntityDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
|     int type; /* the entity type */
 | |
|     int n_type;
 | |
|     xmlChar * publicId; /* The public ID of the entity */
 | |
|     int n_publicId;
 | |
|     xmlChar * systemId; /* The system ID of the entity */
 | |
|     int n_systemId;
 | |
|     xmlChar * content; /* the entity value (without processing). */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
 | |
|     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
 | |
|     for (n_content = 0;n_content < gen_nb_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_int(n_type, 2);
 | |
|         publicId = gen_const_xmlChar_ptr(n_publicId, 3);
 | |
|         systemId = gen_const_xmlChar_ptr(n_systemId, 4);
 | |
|         content = gen_xmlChar_ptr(n_content, 5);
 | |
| 
 | |
|         xmlSAX2EntityDecl(ctx, (const xmlChar *)name, type, (const xmlChar *)publicId, (const xmlChar *)systemId, content);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_type, type, 2);
 | |
|         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 3);
 | |
|         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 4);
 | |
|         des_xmlChar_ptr(n_content, content, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2EntityDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_publicId);
 | |
|             printf(" %d", n_systemId);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2ExternalSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* the root element name */
 | |
|     int n_name;
 | |
|     xmlChar * ExternalID; /* the external ID */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
 | |
| 
 | |
|         xmlSAX2ExternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2ExternalSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetColumnNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2GetColumnNumber(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetColumnNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlSAX2GetEntity(ctx, (const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetLineNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2GetLineNumber(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetLineNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetParameterEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlSAX2GetParameterEntity(ctx, (const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetParameterEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetPublicId(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2GetPublicId(ctx);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetPublicId",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2GetSystemId(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2GetSystemId(ctx);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2GetSystemId",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2HasExternalSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2HasExternalSubset(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2HasExternalSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2HasInternalSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2HasInternalSubset(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2HasInternalSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2IgnorableWhitespace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * ch; /* a xmlChar string */
 | |
|     int n_ch;
 | |
|     int len; /* the number of xmlChar */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         ch = gen_const_xmlChar_ptr(n_ch, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((ch != NULL) &&
 | |
|             (len > (int) strlen((const char *) ch) + 1))
 | |
|             continue;
 | |
| 
 | |
|         xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2IgnorableWhitespace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_ch);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlSAXHandler_ptr 1
 | |
| #define gen_xmlSAXHandler_ptr(no, nr) NULL
 | |
| #define des_xmlSAXHandler_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2InitDefaultSAXHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlSAXHandler * hdlr; /* the SAX handler */
 | |
|     int n_hdlr;
 | |
|     int warning; /* flag if non-zero sets the handler warning procedure */
 | |
|     int n_warning;
 | |
| 
 | |
|     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
 | |
|     for (n_warning = 0;n_warning < gen_nb_int;n_warning++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
 | |
|         warning = gen_int(n_warning, 1);
 | |
| 
 | |
|         xmlSAX2InitDefaultSAXHandler(hdlr, warning);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
 | |
|         des_int(n_warning, warning, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2InitDefaultSAXHandler",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_hdlr);
 | |
|             printf(" %d", n_warning);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2InitHtmlDefaultSAXHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSAXHandler * hdlr; /* the SAX handler */
 | |
|     int n_hdlr;
 | |
| 
 | |
|     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
 | |
| 
 | |
|         xmlSAX2InitHtmlDefaultSAXHandler(hdlr);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2InitHtmlDefaultSAXHandler",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_hdlr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2InternalSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* the root element name */
 | |
|     int n_name;
 | |
|     xmlChar * ExternalID; /* the external ID */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
 | |
| 
 | |
|         xmlSAX2InternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2InternalSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2IsStandalone(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlSAX2IsStandalone(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2IsStandalone",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2NotationDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The name of the notation */
 | |
|     int n_name;
 | |
|     xmlChar * publicId; /* The public ID of the entity */
 | |
|     int n_publicId;
 | |
|     xmlChar * systemId; /* The system ID of the entity */
 | |
|     int n_systemId;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
 | |
|     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         publicId = gen_const_xmlChar_ptr(n_publicId, 2);
 | |
|         systemId = gen_const_xmlChar_ptr(n_systemId, 3);
 | |
| 
 | |
|         xmlSAX2NotationDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
 | |
|         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2NotationDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_publicId);
 | |
|             printf(" %d", n_systemId);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2ProcessingInstruction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * target; /* the target name */
 | |
|     int n_target;
 | |
|     xmlChar * data; /* the PI data's */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         target = gen_const_xmlChar_ptr(n_target, 1);
 | |
|         data = gen_const_xmlChar_ptr(n_data, 2);
 | |
| 
 | |
|         xmlSAX2ProcessingInstruction(ctx, (const xmlChar *)target, (const xmlChar *)data);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
 | |
|         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2ProcessingInstruction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_target);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2Reference(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         xmlSAX2Reference(ctx, (const xmlChar *)name);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2Reference",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2ResolveEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * publicId; /* The public ID of the entity */
 | |
|     int n_publicId;
 | |
|     xmlChar * systemId; /* The system ID of the entity */
 | |
|     int n_systemId;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
 | |
|     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         publicId = gen_const_xmlChar_ptr(n_publicId, 1);
 | |
|         systemId = gen_const_xmlChar_ptr(n_systemId, 2);
 | |
| 
 | |
|         ret_val = xmlSAX2ResolveEntity(ctx, (const xmlChar *)publicId, (const xmlChar *)systemId);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 1);
 | |
|         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2ResolveEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_publicId);
 | |
|             printf(" %d", n_systemId);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlSAXLocatorPtr 1
 | |
| #define gen_xmlSAXLocatorPtr(no, nr) NULL
 | |
| #define des_xmlSAXLocatorPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2SetDocumentLocator(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlSAXLocatorPtr loc; /* A SAX Locator */
 | |
|     int n_loc;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_loc = 0;n_loc < gen_nb_xmlSAXLocatorPtr;n_loc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         loc = gen_xmlSAXLocatorPtr(n_loc, 1);
 | |
| 
 | |
|         xmlSAX2SetDocumentLocator(ctx, loc);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_xmlSAXLocatorPtr(n_loc, loc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2SetDocumentLocator",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_loc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2StartDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         xmlSAX2StartDocument(ctx);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2StartDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2StartElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * fullname; /* The element name, including namespace prefix */
 | |
|     int n_fullname;
 | |
|     xmlChar ** atts; /* An array of name/value attributes pairs, NULL terminated */
 | |
|     int n_atts;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
 | |
|     for (n_atts = 0;n_atts < gen_nb_const_xmlChar_ptr_ptr;n_atts++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         fullname = gen_const_xmlChar_ptr(n_fullname, 1);
 | |
|         atts = gen_const_xmlChar_ptr_ptr(n_atts, 2);
 | |
| 
 | |
|         xmlSAX2StartElement(ctx, (const xmlChar *)fullname, (const xmlChar **)atts);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 1);
 | |
|         des_const_xmlChar_ptr_ptr(n_atts, (const xmlChar **)atts, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2StartElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_fullname);
 | |
|             printf(" %d", n_atts);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2StartElementNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * localname; /* the local name of the element */
 | |
|     int n_localname;
 | |
|     xmlChar * prefix; /* the element namespace prefix if available */
 | |
|     int n_prefix;
 | |
|     xmlChar * URI; /* the element namespace name if available */
 | |
|     int n_URI;
 | |
|     int nb_namespaces; /* number of namespace definitions on that node */
 | |
|     int n_nb_namespaces;
 | |
|     xmlChar ** namespaces; /* pointer to the array of prefix/URI pairs namespace definitions */
 | |
|     int n_namespaces;
 | |
|     int nb_attributes; /* the number of attributes on that node */
 | |
|     int n_nb_attributes;
 | |
|     int nb_defaulted; /* the number of defaulted attributes. */
 | |
|     int n_nb_defaulted;
 | |
|     xmlChar ** attributes; /* pointer to the array of (localname/prefix/URI/value/end) attribute values. */
 | |
|     int n_attributes;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|     for (n_nb_namespaces = 0;n_nb_namespaces < gen_nb_int;n_nb_namespaces++) {
 | |
|     for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
 | |
|     for (n_nb_attributes = 0;n_nb_attributes < gen_nb_int;n_nb_attributes++) {
 | |
|     for (n_nb_defaulted = 0;n_nb_defaulted < gen_nb_int;n_nb_defaulted++) {
 | |
|     for (n_attributes = 0;n_attributes < gen_nb_const_xmlChar_ptr_ptr;n_attributes++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         localname = gen_const_xmlChar_ptr(n_localname, 1);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 3);
 | |
|         nb_namespaces = gen_int(n_nb_namespaces, 4);
 | |
|         namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 5);
 | |
|         nb_attributes = gen_int(n_nb_attributes, 6);
 | |
|         nb_defaulted = gen_int(n_nb_defaulted, 7);
 | |
|         attributes = gen_const_xmlChar_ptr_ptr(n_attributes, 8);
 | |
| 
 | |
|         xmlSAX2StartElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI, nb_namespaces, (const xmlChar **)namespaces, nb_attributes, nb_defaulted, (const xmlChar **)attributes);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
 | |
|         des_int(n_nb_namespaces, nb_namespaces, 4);
 | |
|         des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 5);
 | |
|         des_int(n_nb_attributes, nb_attributes, 6);
 | |
|         des_int(n_nb_defaulted, nb_defaulted, 7);
 | |
|         des_const_xmlChar_ptr_ptr(n_attributes, (const xmlChar **)attributes, 8);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2StartElementNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_localname);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_nb_namespaces);
 | |
|             printf(" %d", n_namespaces);
 | |
|             printf(" %d", n_nb_attributes);
 | |
|             printf(" %d", n_nb_defaulted);
 | |
|             printf(" %d", n_attributes);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAX2UnparsedEntityDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* the user data (XML parser context) */
 | |
|     int n_ctx;
 | |
|     xmlChar * name; /* The name of the entity */
 | |
|     int n_name;
 | |
|     xmlChar * publicId; /* The public ID of the entity */
 | |
|     int n_publicId;
 | |
|     xmlChar * systemId; /* The system ID of the entity */
 | |
|     int n_systemId;
 | |
|     xmlChar * notationName; /* the name of the notation */
 | |
|     int n_notationName;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
 | |
|     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
 | |
|     for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         publicId = gen_const_xmlChar_ptr(n_publicId, 2);
 | |
|         systemId = gen_const_xmlChar_ptr(n_systemId, 3);
 | |
|         notationName = gen_const_xmlChar_ptr(n_notationName, 4);
 | |
| 
 | |
|         xmlSAX2UnparsedEntityDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId, (const xmlChar *)notationName);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
 | |
|         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
 | |
|         des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAX2UnparsedEntityDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_publicId);
 | |
|             printf(" %d", n_systemId);
 | |
|             printf(" %d", n_notationName);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXDefaultVersion(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int version; /* the version, 1 or 2 */
 | |
|     int n_version;
 | |
| 
 | |
|     for (n_version = 0;n_version < gen_nb_int;n_version++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         version = gen_int(n_version, 0);
 | |
| 
 | |
|         ret_val = xmlSAXDefaultVersion(version);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_version, version, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXDefaultVersion",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_version);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXVersion(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSAXHandler * hdlr; /* the SAX handler */
 | |
|     int n_hdlr;
 | |
|     int version; /* the version, 1 or 2 */
 | |
|     int n_version;
 | |
| 
 | |
|     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
 | |
|     for (n_version = 0;n_version < gen_nb_int;n_version++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
 | |
|         version = gen_int(n_version, 1);
 | |
| 
 | |
|         ret_val = xmlSAXVersion(hdlr, version);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
 | |
|         des_int(n_version, version, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXVersion",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_hdlr);
 | |
|             printf(" %d", n_version);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_SAX2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing SAX2 : 36 of 36 functions ...\n");
 | |
|     test_ret += test_htmlDefaultSAXHandlerInit();
 | |
|     test_ret += test_xmlDefaultSAXHandlerInit();
 | |
|     test_ret += test_xmlSAX2AttributeDecl();
 | |
|     test_ret += test_xmlSAX2CDataBlock();
 | |
|     test_ret += test_xmlSAX2Characters();
 | |
|     test_ret += test_xmlSAX2Comment();
 | |
|     test_ret += test_xmlSAX2ElementDecl();
 | |
|     test_ret += test_xmlSAX2EndDocument();
 | |
|     test_ret += test_xmlSAX2EndElement();
 | |
|     test_ret += test_xmlSAX2EndElementNs();
 | |
|     test_ret += test_xmlSAX2EntityDecl();
 | |
|     test_ret += test_xmlSAX2ExternalSubset();
 | |
|     test_ret += test_xmlSAX2GetColumnNumber();
 | |
|     test_ret += test_xmlSAX2GetEntity();
 | |
|     test_ret += test_xmlSAX2GetLineNumber();
 | |
|     test_ret += test_xmlSAX2GetParameterEntity();
 | |
|     test_ret += test_xmlSAX2GetPublicId();
 | |
|     test_ret += test_xmlSAX2GetSystemId();
 | |
|     test_ret += test_xmlSAX2HasExternalSubset();
 | |
|     test_ret += test_xmlSAX2HasInternalSubset();
 | |
|     test_ret += test_xmlSAX2IgnorableWhitespace();
 | |
|     test_ret += test_xmlSAX2InitDefaultSAXHandler();
 | |
|     test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler();
 | |
|     test_ret += test_xmlSAX2InternalSubset();
 | |
|     test_ret += test_xmlSAX2IsStandalone();
 | |
|     test_ret += test_xmlSAX2NotationDecl();
 | |
|     test_ret += test_xmlSAX2ProcessingInstruction();
 | |
|     test_ret += test_xmlSAX2Reference();
 | |
|     test_ret += test_xmlSAX2ResolveEntity();
 | |
|     test_ret += test_xmlSAX2SetDocumentLocator();
 | |
|     test_ret += test_xmlSAX2StartDocument();
 | |
|     test_ret += test_xmlSAX2StartElement();
 | |
|     test_ret += test_xmlSAX2StartElementNs();
 | |
|     test_ret += test_xmlSAX2UnparsedEntityDecl();
 | |
|     test_ret += test_xmlSAXDefaultVersion();
 | |
|     test_ret += test_xmlSAXVersion();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module SAX2: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlC14NDocDumpMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the XML document for canonization */
 | |
|     int n_doc;
 | |
|     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
 | |
|     int n_nodes;
 | |
|     int mode; /* the c14n mode (see @xmlC14NMode) */
 | |
|     int n_mode;
 | |
|     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) */
 | |
|     int n_inclusive_ns_prefixes;
 | |
|     int with_comments; /* include comments in the result (!=0) or not (==0) */
 | |
|     int n_with_comments;
 | |
|     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 */
 | |
|     int n_doc_txt_ptr;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
 | |
|     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
 | |
|     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
 | |
|     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
 | |
|         mode = gen_int(n_mode, 2);
 | |
|         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
 | |
|         with_comments = gen_int(n_with_comments, 4);
 | |
|         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 5);
 | |
| 
 | |
|         ret_val = xmlC14NDocDumpMemory(doc, nodes, mode, inclusive_ns_prefixes, with_comments, doc_txt_ptr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 1);
 | |
|         des_int(n_mode, mode, 2);
 | |
|         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
 | |
|         des_int(n_with_comments, with_comments, 4);
 | |
|         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlC14NDocDumpMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_mode);
 | |
|             printf(" %d", n_inclusive_ns_prefixes);
 | |
|             printf(" %d", n_with_comments);
 | |
|             printf(" %d", n_doc_txt_ptr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlC14NDocSave(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the XML document for canonization */
 | |
|     int n_doc;
 | |
|     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
 | |
|     int n_nodes;
 | |
|     int mode; /* the c14n mode (see @xmlC14NMode) */
 | |
|     int n_mode;
 | |
|     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) */
 | |
|     int n_inclusive_ns_prefixes;
 | |
|     int with_comments; /* include comments in the result (!=0) or not (==0) */
 | |
|     int n_with_comments;
 | |
|     const char * filename; /* the filename to store canonical XML image */
 | |
|     int n_filename;
 | |
|     int compression; /* the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
 | |
|     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
 | |
|     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
 | |
|         mode = gen_int(n_mode, 2);
 | |
|         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
 | |
|         with_comments = gen_int(n_with_comments, 4);
 | |
|         filename = gen_fileoutput(n_filename, 5);
 | |
|         compression = gen_int(n_compression, 6);
 | |
| 
 | |
|         ret_val = xmlC14NDocSave(doc, nodes, mode, inclusive_ns_prefixes, with_comments, filename, compression);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 1);
 | |
|         des_int(n_mode, mode, 2);
 | |
|         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
 | |
|         des_int(n_with_comments, with_comments, 4);
 | |
|         des_fileoutput(n_filename, filename, 5);
 | |
|         des_int(n_compression, compression, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlC14NDocSave",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_mode);
 | |
|             printf(" %d", n_inclusive_ns_prefixes);
 | |
|             printf(" %d", n_with_comments);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlC14NDocSaveTo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the XML document for canonization */
 | |
|     int n_doc;
 | |
|     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
 | |
|     int n_nodes;
 | |
|     int mode; /* the c14n mode (see @xmlC14NMode) */
 | |
|     int n_mode;
 | |
|     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) */
 | |
|     int n_inclusive_ns_prefixes;
 | |
|     int with_comments; /* include comments in the result (!=0) or not (==0) */
 | |
|     int n_with_comments;
 | |
|     xmlOutputBufferPtr buf; /* the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
 | |
|     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
 | |
|     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
 | |
|         mode = gen_int(n_mode, 2);
 | |
|         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
 | |
|         with_comments = gen_int(n_with_comments, 4);
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 5);
 | |
| 
 | |
|         ret_val = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 1);
 | |
|         des_int(n_mode, mode, 2);
 | |
|         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
 | |
|         des_int(n_with_comments, with_comments, 4);
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlC14NDocSaveTo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_mode);
 | |
|             printf(" %d", n_inclusive_ns_prefixes);
 | |
|             printf(" %d", n_with_comments);
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlC14NExecute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_c14n(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing c14n : 3 of 4 functions ...\n");
 | |
|     test_ret += test_xmlC14NDocDumpMemory();
 | |
|     test_ret += test_xmlC14NDocSave();
 | |
|     test_ret += test_xmlC14NDocSaveTo();
 | |
|     test_ret += test_xmlC14NExecute();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module c14n: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_CATALOG_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlCatalogPtr 1
 | |
| #define gen_xmlCatalogPtr(no, nr) NULL
 | |
| #define des_xmlCatalogPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogAdd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * type; /* the type of record to add to the catalog */
 | |
|     int n_type;
 | |
|     xmlChar * orig; /* the system, public or prefix to match */
 | |
|     int n_orig;
 | |
|     xmlChar * replace; /* the replacement value for the match */
 | |
|     int n_replace;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
 | |
|     for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
 | |
|     for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         type = gen_const_xmlChar_ptr(n_type, 1);
 | |
|         orig = gen_const_xmlChar_ptr(n_orig, 2);
 | |
|         replace = gen_const_xmlChar_ptr(n_replace, 3);
 | |
| 
 | |
|         ret_val = xmlACatalogAdd(catal, (const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 1);
 | |
|         des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 2);
 | |
|         des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogAdd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_orig);
 | |
|             printf(" %d", n_replace);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     FILE * out; /* the file. */
 | |
|     int n_out;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         out = gen_FILE_ptr(n_out, 1);
 | |
| 
 | |
|         xmlACatalogDump(catal, out);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_FILE_ptr(n_out, out, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_out);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogRemove(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * value; /* the value to remove */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
| 
 | |
|         ret_val = xmlACatalogRemove(catal, (const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogRemove",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogResolve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * pubID; /* the public ID string */
 | |
|     int n_pubID;
 | |
|     xmlChar * sysID; /* the system ID string */
 | |
|     int n_sysID;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
 | |
|     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
 | |
|         sysID = gen_const_xmlChar_ptr(n_sysID, 2);
 | |
| 
 | |
|         ret_val = xmlACatalogResolve(catal, (const xmlChar *)pubID, (const xmlChar *)sysID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
 | |
|         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogResolve",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_pubID);
 | |
|             printf(" %d", n_sysID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogResolvePublic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * pubID; /* the public ID string */
 | |
|     int n_pubID;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
 | |
| 
 | |
|         ret_val = xmlACatalogResolvePublic(catal, (const xmlChar *)pubID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogResolvePublic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_pubID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogResolveSystem(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * sysID; /* the system ID string */
 | |
|     int n_sysID;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         sysID = gen_const_xmlChar_ptr(n_sysID, 1);
 | |
| 
 | |
|         ret_val = xmlACatalogResolveSystem(catal, (const xmlChar *)sysID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogResolveSystem",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_sysID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlACatalogResolveURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlCatalogPtr catal; /* a Catalog */
 | |
|     int n_catal;
 | |
|     xmlChar * URI; /* the URI */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 1);
 | |
| 
 | |
|         ret_val = xmlACatalogResolveURI(catal, (const xmlChar *)URI);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlACatalogResolveURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogAdd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * type; /* the type of record to add to the catalog */
 | |
|     int n_type;
 | |
|     xmlChar * orig; /* the system, public or prefix to match */
 | |
|     int n_orig;
 | |
|     xmlChar * replace; /* the replacement value for the match */
 | |
|     int n_replace;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
 | |
|     for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
 | |
|     for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_const_xmlChar_ptr(n_type, 0);
 | |
|         orig = gen_const_xmlChar_ptr(n_orig, 1);
 | |
|         replace = gen_const_xmlChar_ptr(n_replace, 2);
 | |
| 
 | |
|         ret_val = xmlCatalogAdd((const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 0);
 | |
|         des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 1);
 | |
|         des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogAdd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_orig);
 | |
|             printf(" %d", n_replace);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
| 
 | |
| 
 | |
|         xmlCatalogCleanup();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogConvert(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int ret_val;
 | |
| 
 | |
| 
 | |
|         ret_val = xmlCatalogConvert();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * out; /* the file. */
 | |
|     int n_out;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_FILE_ptr(n_out, 0);
 | |
| 
 | |
|         xmlCatalogDump(out);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_out, out, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogGetDefaults(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlCatalogAllow ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlCatalogGetDefaults();
 | |
|         desret_xmlCatalogAllow(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogGetDefaults",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogIsEmpty(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCatalogPtr catal; /* should this create an SGML catalog */
 | |
|     int n_catal;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogIsEmpty(catal);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogIsEmpty",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogLocalResolve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     void * catalogs; /* a document's list of catalogs */
 | |
|     int n_catalogs;
 | |
|     xmlChar * pubID; /* the public ID string */
 | |
|     int n_pubID;
 | |
|     xmlChar * sysID; /* the system ID string */
 | |
|     int n_sysID;
 | |
| 
 | |
|     for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
 | |
|     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
 | |
|     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catalogs = gen_void_ptr(n_catalogs, 0);
 | |
|         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
 | |
|         sysID = gen_const_xmlChar_ptr(n_sysID, 2);
 | |
| 
 | |
|         ret_val = xmlCatalogLocalResolve(catalogs, (const xmlChar *)pubID, (const xmlChar *)sysID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_catalogs, catalogs, 0);
 | |
|         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
 | |
|         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogLocalResolve",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catalogs);
 | |
|             printf(" %d", n_pubID);
 | |
|             printf(" %d", n_sysID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogLocalResolveURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     void * catalogs; /* a document's list of catalogs */
 | |
|     int n_catalogs;
 | |
|     xmlChar * URI; /* the URI */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catalogs = gen_void_ptr(n_catalogs, 0);
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 1);
 | |
| 
 | |
|         ret_val = xmlCatalogLocalResolveURI(catalogs, (const xmlChar *)URI);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_catalogs, catalogs, 0);
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogLocalResolveURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catalogs);
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogRemove(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* the value to remove */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogRemove((const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogResolve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * pubID; /* the public ID string */
 | |
|     int n_pubID;
 | |
|     xmlChar * sysID; /* the system ID string */
 | |
|     int n_sysID;
 | |
| 
 | |
|     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
 | |
|     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
 | |
|         pubID = gen_const_xmlChar_ptr(n_pubID, 0);
 | |
|         sysID = gen_const_xmlChar_ptr(n_sysID, 1);
 | |
| 
 | |
|         ret_val = xmlCatalogResolve((const xmlChar *)pubID, (const xmlChar *)sysID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
 | |
|         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogResolvePublic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * pubID; /* the public ID string */
 | |
|     int n_pubID;
 | |
| 
 | |
|     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         pubID = gen_const_xmlChar_ptr(n_pubID, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogResolvePublic((const xmlChar *)pubID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogResolvePublic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_pubID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogResolveSystem(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * sysID; /* the system ID string */
 | |
|     int n_sysID;
 | |
| 
 | |
|     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sysID = gen_const_xmlChar_ptr(n_sysID, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogResolveSystem((const xmlChar *)sysID);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogResolveSystem",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sysID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogResolveURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * URI; /* the URI */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogResolveURI((const xmlChar *)URI);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogResolveURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogSetDefaultPrefer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlCatalogPrefer ret_val;
 | |
|     xmlCatalogPrefer prefer; /* the default preference for delegation */
 | |
|     int n_prefer;
 | |
| 
 | |
|     for (n_prefer = 0;n_prefer < gen_nb_xmlCatalogPrefer;n_prefer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         prefer = gen_xmlCatalogPrefer(n_prefer, 0);
 | |
| 
 | |
|         ret_val = xmlCatalogSetDefaultPrefer(prefer);
 | |
|         desret_xmlCatalogPrefer(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPrefer(n_prefer, prefer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogSetDefaultPrefer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_prefer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCatalogSetDefaults(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlCatalogAllow allow; /* what catalogs should be accepted */
 | |
|     int n_allow;
 | |
| 
 | |
|     for (n_allow = 0;n_allow < gen_nb_xmlCatalogAllow;n_allow++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         allow = gen_xmlCatalogAllow(n_allow, 0);
 | |
| 
 | |
|         xmlCatalogSetDefaults(allow);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogAllow(n_allow, allow, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCatalogSetDefaults",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_allow);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlConvertSGMLCatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCatalogPtr catal; /* the catalog */
 | |
|     int n_catal;
 | |
| 
 | |
|     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         catal = gen_xmlCatalogPtr(n_catal, 0);
 | |
| 
 | |
|         ret_val = xmlConvertSGMLCatalog(catal);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCatalogPtr(n_catal, catal, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlConvertSGMLCatalog",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_catal);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitializeCatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlInitializeCatalog();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlInitializeCatalog",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLoadACatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLoadCatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int ret_val;
 | |
|     const char * filename; /* a file path */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlLoadCatalog(filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLoadCatalogs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     char * pathss; /* a list of directories separated by a colon or a space. */
 | |
|     int n_pathss;
 | |
| 
 | |
|     for (n_pathss = 0;n_pathss < gen_nb_const_char_ptr;n_pathss++) {
 | |
|         pathss = gen_const_char_ptr(n_pathss, 0);
 | |
| 
 | |
|         xmlLoadCatalogs((const char *)pathss);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_pathss, (const char *)pathss, 0);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLoadSGMLSuperCatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewCatalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseCatalogFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_CATALOG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlParseCatalogFile(filename);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseCatalogFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_catalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing catalog : 27 of 36 functions ...\n");
 | |
|     test_ret += test_xmlACatalogAdd();
 | |
|     test_ret += test_xmlACatalogDump();
 | |
|     test_ret += test_xmlACatalogRemove();
 | |
|     test_ret += test_xmlACatalogResolve();
 | |
|     test_ret += test_xmlACatalogResolvePublic();
 | |
|     test_ret += test_xmlACatalogResolveSystem();
 | |
|     test_ret += test_xmlACatalogResolveURI();
 | |
|     test_ret += test_xmlCatalogAdd();
 | |
|     test_ret += test_xmlCatalogCleanup();
 | |
|     test_ret += test_xmlCatalogConvert();
 | |
|     test_ret += test_xmlCatalogDump();
 | |
|     test_ret += test_xmlCatalogGetDefaults();
 | |
|     test_ret += test_xmlCatalogIsEmpty();
 | |
|     test_ret += test_xmlCatalogLocalResolve();
 | |
|     test_ret += test_xmlCatalogLocalResolveURI();
 | |
|     test_ret += test_xmlCatalogRemove();
 | |
|     test_ret += test_xmlCatalogResolve();
 | |
|     test_ret += test_xmlCatalogResolvePublic();
 | |
|     test_ret += test_xmlCatalogResolveSystem();
 | |
|     test_ret += test_xmlCatalogResolveURI();
 | |
|     test_ret += test_xmlCatalogSetDefaultPrefer();
 | |
|     test_ret += test_xmlCatalogSetDefaults();
 | |
|     test_ret += test_xmlConvertSGMLCatalog();
 | |
|     test_ret += test_xmlInitializeCatalog();
 | |
|     test_ret += test_xmlLoadACatalog();
 | |
|     test_ret += test_xmlLoadCatalog();
 | |
|     test_ret += test_xmlLoadCatalogs();
 | |
|     test_ret += test_xmlLoadSGMLSuperCatalog();
 | |
|     test_ret += test_xmlNewCatalog();
 | |
|     test_ret += test_xmlParseCatalogFile();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module catalog: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #define gen_nb_const_xmlChRangeGroup_ptr 1
 | |
| #define gen_const_xmlChRangeGroup_ptr(no, nr) NULL
 | |
| #define des_const_xmlChRangeGroup_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlCharInRange(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int val; /* character to be validated */
 | |
|     int n_val;
 | |
|     xmlChRangeGroup * rptr; /* pointer to range to be used to validate */
 | |
|     int n_rptr;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_unsigned_int;n_val++) {
 | |
|     for (n_rptr = 0;n_rptr < gen_nb_const_xmlChRangeGroup_ptr;n_rptr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_unsigned_int(n_val, 0);
 | |
|         rptr = gen_const_xmlChRangeGroup_ptr(n_rptr, 1);
 | |
| 
 | |
|         ret_val = xmlCharInRange(val, (const xmlChRangeGroup *)rptr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_val, val, 0);
 | |
|         des_const_xmlChRangeGroup_ptr(n_rptr, (const xmlChRangeGroup *)rptr, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharInRange",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_rptr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsBaseChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsBaseChar(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsBaseChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsBlank(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsBlank(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsBlank",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsChar(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsCombining(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsCombining(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsCombining",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsDigit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsDigit(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsDigit",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsExtender(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsExtender(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsExtender",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsIdeographic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsIdeographic(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsIdeographic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsPubidChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned int ch; /* character to validate */
 | |
|     int n_ch;
 | |
| 
 | |
|     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ch = gen_unsigned_int(n_ch, 0);
 | |
| 
 | |
|         ret_val = xmlIsPubidChar(ch);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_int(n_ch, ch, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsPubidChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ch);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_chvalid(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing chvalid : 9 of 9 functions ...\n");
 | |
|     test_ret += test_xmlCharInRange();
 | |
|     test_ret += test_xmlIsBaseChar();
 | |
|     test_ret += test_xmlIsBlank();
 | |
|     test_ret += test_xmlIsChar();
 | |
|     test_ret += test_xmlIsCombining();
 | |
|     test_ret += test_xmlIsDigit();
 | |
|     test_ret += test_xmlIsExtender();
 | |
|     test_ret += test_xmlIsIdeographic();
 | |
|     test_ret += test_xmlIsPubidChar();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module chvalid: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlBoolToText(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     int boolval; /* a bool to turn into text */
 | |
|     int n_boolval;
 | |
| 
 | |
|     for (n_boolval = 0;n_boolval < gen_nb_int;n_boolval++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         boolval = gen_int(n_boolval, 0);
 | |
| 
 | |
|         ret_val = xmlBoolToText(boolval);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_boolval, boolval, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBoolToText",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_boolval);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugCheckDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlDebugCheckDocument(output, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugCheckDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpAttr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlAttrPtr attr; /* the attribute */
 | |
|     int n_attr;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlDebugDumpAttr(output, attr, depth);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlAttrPtr(n_attr, attr, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpAttr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_attr);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpAttrList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlAttrPtr attr; /* the attribute list */
 | |
|     int n_attr;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlDebugDumpAttrList(output, attr, depth);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlAttrPtr(n_attr, attr, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpAttrList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_attr);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlDtdPtr dtd; /* the DTD */
 | |
|     int n_dtd;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 1);
 | |
| 
 | |
|         xmlDebugDumpDTD(output, dtd);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_dtd);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         xmlDebugDumpDocument(output, doc);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpDocumentHead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         xmlDebugDumpDocumentHead(output, doc);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpDocumentHead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpEntities(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         xmlDebugDumpEntities(output, doc);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpEntities",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlDebugDumpNode(output, node, depth);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlNodePtr node; /* the node list */
 | |
|     int n_node;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlDebugDumpNodeList(output, node, depth);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpOneNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlDebugDumpOneNode(output, node, depth);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpOneNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDebugDumpString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlChar * str; /* the string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
| 
 | |
|         xmlDebugDumpString(output, (const xmlChar *)str);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDebugDumpString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLsCountNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node; /* the node to count */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlLsCountNode(node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLsCountNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLsOneNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlNodePtr node; /* the node to dump */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_debug_FILE_ptr(n_output, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         xmlLsOneNode(output, node);
 | |
|         call_tests++;
 | |
|         des_debug_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLsOneNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShell(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_char_ptr 1
 | |
| #define gen_char_ptr(no, nr) NULL
 | |
| #define des_char_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlShellBase(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * arg; /* unused */
 | |
|     int n_arg;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         arg = gen_char_ptr(n_arg, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellBase(ctxt, arg, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_arg, arg, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellBase",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_arg);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellCat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * arg; /* unused */
 | |
|     int n_arg;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         arg = gen_char_ptr(n_arg, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellCat(ctxt, arg, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_arg, arg, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellCat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_arg);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellDir(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * arg; /* unused */
 | |
|     int n_arg;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         arg = gen_char_ptr(n_arg, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellDir(ctxt, arg, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_arg, arg, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellDir",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_arg);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellDu(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * arg; /* unused */
 | |
|     int n_arg;
 | |
|     xmlNodePtr tree; /* a node defining a subtree */
 | |
|     int n_tree;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         arg = gen_char_ptr(n_arg, 1);
 | |
|         tree = gen_xmlNodePtr(n_tree, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellDu(ctxt, arg, tree, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_arg, arg, 1);
 | |
|         des_xmlNodePtr(n_tree, tree, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellDu",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_arg);
 | |
|             printf(" %d", n_tree);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * arg; /* unused */
 | |
|     int n_arg;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         arg = gen_char_ptr(n_arg, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellList(ctxt, arg, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_arg, arg, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_arg);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellLoad(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * filename; /* the file name */
 | |
|     int n_filename;
 | |
|     xmlNodePtr node; /* unused */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_char_ptr(n_filename, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellLoad(ctxt, filename, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_filename, filename, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellLoad",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellPrintXPathResult(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr list; /* a valid result generated by an xpath evaluation */
 | |
|     int n_list;
 | |
| 
 | |
|     for (n_list = 0;n_list < gen_nb_xmlXPathObjectPtr;n_list++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         list = gen_xmlXPathObjectPtr(n_list, 0);
 | |
| 
 | |
|         xmlShellPrintXPathResult(list);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_list, list, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellPrintXPathResult",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_list);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellPwd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * buffer; /* the output buffer */
 | |
|     int n_buffer;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         buffer = gen_char_ptr(n_buffer, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellPwd(ctxt, buffer, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_buffer, buffer, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellPwd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellSave(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * filename; /* the file name (optional) */
 | |
|     int n_filename;
 | |
|     xmlNodePtr node; /* unused */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_char_ptr(n_filename, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellSave(ctxt, filename, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_filename, filename, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellSave",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellValidate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * dtd; /* the DTD URI (optional) */
 | |
|     int n_dtd;
 | |
|     xmlNodePtr node; /* unused */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_char_ptr;n_dtd++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         dtd = gen_char_ptr(n_dtd, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellValidate(ctxt, dtd, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_dtd, dtd, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellValidate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlShellWrite(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlShellCtxtPtr ctxt; /* the shell context */
 | |
|     int n_ctxt;
 | |
|     char * filename; /* the file name */
 | |
|     int n_filename;
 | |
|     xmlNodePtr node; /* a node in the tree */
 | |
|     int n_node;
 | |
|     xmlNodePtr node2; /* unused */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_char_ptr(n_filename, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 3);
 | |
| 
 | |
|         ret_val = xmlShellWrite(ctxt, filename, node, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_char_ptr(n_filename, filename, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr(n_node2, node2, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlShellWrite",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_debugXML(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing debugXML : 25 of 28 functions ...\n");
 | |
|     test_ret += test_xmlBoolToText();
 | |
|     test_ret += test_xmlDebugCheckDocument();
 | |
|     test_ret += test_xmlDebugDumpAttr();
 | |
|     test_ret += test_xmlDebugDumpAttrList();
 | |
|     test_ret += test_xmlDebugDumpDTD();
 | |
|     test_ret += test_xmlDebugDumpDocument();
 | |
|     test_ret += test_xmlDebugDumpDocumentHead();
 | |
|     test_ret += test_xmlDebugDumpEntities();
 | |
|     test_ret += test_xmlDebugDumpNode();
 | |
|     test_ret += test_xmlDebugDumpNodeList();
 | |
|     test_ret += test_xmlDebugDumpOneNode();
 | |
|     test_ret += test_xmlDebugDumpString();
 | |
|     test_ret += test_xmlLsCountNode();
 | |
|     test_ret += test_xmlLsOneNode();
 | |
|     test_ret += test_xmlShell();
 | |
|     test_ret += test_xmlShellBase();
 | |
|     test_ret += test_xmlShellCat();
 | |
|     test_ret += test_xmlShellDir();
 | |
|     test_ret += test_xmlShellDu();
 | |
|     test_ret += test_xmlShellList();
 | |
|     test_ret += test_xmlShellLoad();
 | |
|     test_ret += test_xmlShellPrintXPathResult();
 | |
|     test_ret += test_xmlShellPwd();
 | |
|     test_ret += test_xmlShellSave();
 | |
|     test_ret += test_xmlShellValidate();
 | |
|     test_ret += test_xmlShellWrite();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module debugXML: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlDictCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlDictCleanup();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictCleanup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictCreate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDictPtr ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlDictCreate();
 | |
|         desret_xmlDictPtr(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictCreate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictCreateSub(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDictPtr ret_val;
 | |
|     xmlDictPtr sub; /* an existing dictionary */
 | |
|     int n_sub;
 | |
| 
 | |
|     for (n_sub = 0;n_sub < gen_nb_xmlDictPtr;n_sub++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sub = gen_xmlDictPtr(n_sub, 0);
 | |
| 
 | |
|         ret_val = xmlDictCreateSub(sub);
 | |
|         desret_xmlDictPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_sub, sub, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictCreateSub",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sub);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictExists(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     int len; /* the length of the name, if -1 it is recomputed */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((name != NULL) &&
 | |
|             (len > (int) strlen((const char *) name) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictExists",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictGetUsage(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     int len; /* the length of the name, if -1 it is recomputed */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((name != NULL) &&
 | |
|             (len > (int) strlen((const char *) name) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictOwns(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
|     xmlChar * str; /* the string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlDictOwns(dict, (const xmlChar *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictOwns",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictQLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
|     xmlChar * prefix; /* the prefix */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* the name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
| 
 | |
|         ret_val = xmlDictQLookup(dict, (const xmlChar *)prefix, (const xmlChar *)name);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictQLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictReference(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
| 
 | |
|         ret_val = xmlDictReference(dict);
 | |
|         xmlDictFree(dict);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictReference",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictSetLimit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDictSize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDictPtr dict; /* the dictionary */
 | |
|     int n_dict;
 | |
| 
 | |
|     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dict = gen_xmlDictPtr(n_dict, 0);
 | |
| 
 | |
|         ret_val = xmlDictSize(dict);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDictPtr(n_dict, dict, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDictSize",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dict);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitializeDict(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlInitializeDict();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlInitializeDict",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_dict(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing dict : 10 of 13 functions ...\n");
 | |
|     test_ret += test_xmlDictCleanup();
 | |
|     test_ret += test_xmlDictCreate();
 | |
|     test_ret += test_xmlDictCreateSub();
 | |
|     test_ret += test_xmlDictExists();
 | |
|     test_ret += test_xmlDictGetUsage();
 | |
|     test_ret += test_xmlDictLookup();
 | |
|     test_ret += test_xmlDictOwns();
 | |
|     test_ret += test_xmlDictQLookup();
 | |
|     test_ret += test_xmlDictReference();
 | |
|     test_ret += test_xmlDictSetLimit();
 | |
|     test_ret += test_xmlDictSize();
 | |
|     test_ret += test_xmlInitializeDict();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module dict: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_UTF8Toisolat1(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * out; /* a pointer to an array of bytes to store the result */
 | |
|     int n_out;
 | |
|     int * outlen; /* the length of @out */
 | |
|     int n_outlen;
 | |
|     unsigned char * in; /* a pointer to an array of UTF-8 chars */
 | |
|     int n_in;
 | |
|     int * inlen; /* the length of @in */
 | |
|     int n_inlen;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
 | |
|     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
 | |
|     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
 | |
|     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_unsigned_char_ptr(n_out, 0);
 | |
|         outlen = gen_int_ptr(n_outlen, 1);
 | |
|         in = gen_const_unsigned_char_ptr(n_in, 2);
 | |
|         inlen = gen_int_ptr(n_inlen, 3);
 | |
| 
 | |
|         ret_val = UTF8Toisolat1(out, outlen, (const unsigned char *)in, inlen);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_char_ptr(n_out, out, 0);
 | |
|         des_int_ptr(n_outlen, outlen, 1);
 | |
|         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
 | |
|         des_int_ptr(n_inlen, inlen, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in UTF8Toisolat1",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_outlen);
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_inlen);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_isolat1ToUTF8(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * out; /* a pointer to an array of bytes to store the result */
 | |
|     int n_out;
 | |
|     int * outlen; /* the length of @out */
 | |
|     int n_outlen;
 | |
|     unsigned char * in; /* a pointer to an array of ISO Latin 1 chars */
 | |
|     int n_in;
 | |
|     int * inlen; /* the length of @in */
 | |
|     int n_inlen;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
 | |
|     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
 | |
|     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
 | |
|     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_unsigned_char_ptr(n_out, 0);
 | |
|         outlen = gen_int_ptr(n_outlen, 1);
 | |
|         in = gen_const_unsigned_char_ptr(n_in, 2);
 | |
|         inlen = gen_int_ptr(n_inlen, 3);
 | |
| 
 | |
|         ret_val = isolat1ToUTF8(out, outlen, (const unsigned char *)in, inlen);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_unsigned_char_ptr(n_out, out, 0);
 | |
|         des_int_ptr(n_outlen, outlen, 1);
 | |
|         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
 | |
|         des_int_ptr(n_inlen, inlen, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in isolat1ToUTF8",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_outlen);
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_inlen);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddEncodingAlias(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int ret_val;
 | |
|     char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
 | |
|     int n_name;
 | |
|     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
 | |
|     int n_alias;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
 | |
|     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
 | |
|         name = gen_const_char_ptr(n_name, 0);
 | |
|         alias = gen_const_char_ptr(n_alias, 1);
 | |
| 
 | |
|         ret_val = xmlAddEncodingAlias((const char *)name, (const char *)alias);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_name, (const char *)name, 0);
 | |
|         des_const_char_ptr(n_alias, (const char *)alias, 1);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlCharEncodingHandler_ptr 1
 | |
| #define gen_xmlCharEncodingHandler_ptr(no, nr) NULL
 | |
| #define des_xmlCharEncodingHandler_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlCharEncCloseFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
 | |
|     int n_handler;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
 | |
| 
 | |
|         ret_val = xmlCharEncCloseFunc(handler);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharEncCloseFunc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCharEncFirstLine(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
 | |
|     int n_handler;
 | |
|     xmlBufferPtr out; /* an xmlBuffer for the output. */
 | |
|     int n_out;
 | |
|     xmlBufferPtr in; /* an xmlBuffer for the input */
 | |
|     int n_in;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
 | |
|     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
 | |
|     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
 | |
|         out = gen_xmlBufferPtr(n_out, 1);
 | |
|         in = gen_xmlBufferPtr(n_in, 2);
 | |
| 
 | |
|         ret_val = xmlCharEncFirstLine(handler, out, in);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
 | |
|         des_xmlBufferPtr(n_out, out, 1);
 | |
|         des_xmlBufferPtr(n_in, in, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharEncFirstLine",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_in);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCharEncInFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
 | |
|     int n_handler;
 | |
|     xmlBufferPtr out; /* an xmlBuffer for the output. */
 | |
|     int n_out;
 | |
|     xmlBufferPtr in; /* an xmlBuffer for the input */
 | |
|     int n_in;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
 | |
|     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
 | |
|     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
 | |
|         out = gen_xmlBufferPtr(n_out, 1);
 | |
|         in = gen_xmlBufferPtr(n_in, 2);
 | |
| 
 | |
|         ret_val = xmlCharEncInFunc(handler, out, in);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
 | |
|         des_xmlBufferPtr(n_out, out, 1);
 | |
|         des_xmlBufferPtr(n_in, in, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharEncInFunc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_in);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCharEncOutFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
 | |
|     int n_handler;
 | |
|     xmlBufferPtr out; /* an xmlBuffer for the output. */
 | |
|     int n_out;
 | |
|     xmlBufferPtr in; /* an xmlBuffer for the input */
 | |
|     int n_in;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
 | |
|     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
 | |
|     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
 | |
|         out = gen_xmlBufferPtr(n_out, 1);
 | |
|         in = gen_xmlBufferPtr(n_in, 2);
 | |
| 
 | |
|         ret_val = xmlCharEncOutFunc(handler, out, in);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
 | |
|         des_xmlBufferPtr(n_out, out, 1);
 | |
|         des_xmlBufferPtr(n_in, in, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharEncOutFunc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_in);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCleanupCharEncodingHandlers(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
| 
 | |
|         xmlCleanupCharEncodingHandlers();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCleanupEncodingAliases(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlCleanupEncodingAliases();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCleanupEncodingAliases",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDelEncodingAlias(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
 | |
|     int n_alias;
 | |
| 
 | |
|     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         alias = gen_const_char_ptr(n_alias, 0);
 | |
| 
 | |
|         ret_val = xmlDelEncodingAlias((const char *)alias);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_alias, (const char *)alias, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDelEncodingAlias",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_alias);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDetectCharEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlCharEncoding ret_val;
 | |
|     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). */
 | |
|     int n_in;
 | |
|     int len; /* pointer to the length of the buffer */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_const_unsigned_char_ptr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlDetectCharEncoding((const unsigned char *)in, len);
 | |
|         desret_xmlCharEncoding(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDetectCharEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFindCharEncodingHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetCharEncodingHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetCharEncodingName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     xmlCharEncoding enc; /* the encoding */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         enc = gen_xmlCharEncoding(n_enc, 0);
 | |
| 
 | |
|         ret_val = xmlGetCharEncodingName(enc);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncoding(n_enc, enc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetCharEncodingName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetEncodingAlias(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
 | |
|     int n_alias;
 | |
| 
 | |
|     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         alias = gen_const_char_ptr(n_alias, 0);
 | |
| 
 | |
|         ret_val = xmlGetEncodingAlias((const char *)alias);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_alias, (const char *)alias, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetEncodingAlias",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_alias);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitCharEncodingHandlers(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
| 
 | |
|         xmlInitCharEncodingHandlers();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewCharEncodingHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseCharEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlCharEncoding ret_val;
 | |
|     char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_char_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = xmlParseCharEncoding((const char *)name);
 | |
|         desret_xmlCharEncoding(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_name, (const char *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseCharEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlCharEncodingHandlerPtr 1
 | |
| #define gen_xmlCharEncodingHandlerPtr(no, nr) NULL
 | |
| #define des_xmlCharEncodingHandlerPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlRegisterCharEncodingHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlCharEncodingHandlerPtr handler; /* the xmlCharEncodingHandlerPtr handler block */
 | |
|     int n_handler;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 0);
 | |
| 
 | |
|         xmlRegisterCharEncodingHandler(handler);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandlerPtr(n_handler, handler, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegisterCharEncodingHandler",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_encoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing encoding : 16 of 19 functions ...\n");
 | |
|     test_ret += test_UTF8Toisolat1();
 | |
|     test_ret += test_isolat1ToUTF8();
 | |
|     test_ret += test_xmlAddEncodingAlias();
 | |
|     test_ret += test_xmlCharEncCloseFunc();
 | |
|     test_ret += test_xmlCharEncFirstLine();
 | |
|     test_ret += test_xmlCharEncInFunc();
 | |
|     test_ret += test_xmlCharEncOutFunc();
 | |
|     test_ret += test_xmlCleanupCharEncodingHandlers();
 | |
|     test_ret += test_xmlCleanupEncodingAliases();
 | |
|     test_ret += test_xmlDelEncodingAlias();
 | |
|     test_ret += test_xmlDetectCharEncoding();
 | |
|     test_ret += test_xmlFindCharEncodingHandler();
 | |
|     test_ret += test_xmlGetCharEncodingHandler();
 | |
|     test_ret += test_xmlGetCharEncodingName();
 | |
|     test_ret += test_xmlGetEncodingAlias();
 | |
|     test_ret += test_xmlInitCharEncodingHandlers();
 | |
|     test_ret += test_xmlNewCharEncodingHandler();
 | |
|     test_ret += test_xmlParseCharEncoding();
 | |
|     test_ret += test_xmlRegisterCharEncodingHandler();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module encoding: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlAddDocEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
|     int type; /* the entity type XML_xxx_yyy_ENTITY */
 | |
|     int n_type;
 | |
|     xmlChar * ExternalID; /* the entity external ID if available */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the entity system ID if available */
 | |
|     int n_SystemID;
 | |
|     xmlChar * content; /* the entity content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_int(n_type, 2);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 5);
 | |
| 
 | |
|         ret_val = xmlAddDocEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_type, type, 2);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddDocEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddDtdEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
|     int type; /* the entity type XML_xxx_yyy_ENTITY */
 | |
|     int n_type;
 | |
|     xmlChar * ExternalID; /* the entity external ID if available */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the entity system ID if available */
 | |
|     int n_SystemID;
 | |
|     xmlChar * content; /* the entity content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_int(n_type, 2);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 5);
 | |
| 
 | |
|         ret_val = xmlAddDtdEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_type, type, 2);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddDtdEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyEntitiesTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateEntitiesTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlEntitiesTablePtr 1
 | |
| #define gen_xmlEntitiesTablePtr(no, nr) NULL
 | |
| #define des_xmlEntitiesTablePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpEntitiesTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* An XML buffer. */
 | |
|     int n_buf;
 | |
|     xmlEntitiesTablePtr table; /* An entity table */
 | |
|     int n_table;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_table = 0;n_table < gen_nb_xmlEntitiesTablePtr;n_table++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         table = gen_xmlEntitiesTablePtr(n_table, 1);
 | |
| 
 | |
|         xmlDumpEntitiesTable(buf, table);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlEntitiesTablePtr(n_table, table, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpEntitiesTable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_table);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlEntityPtr 1
 | |
| #define gen_xmlEntityPtr(no, nr) NULL
 | |
| #define des_xmlEntityPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpEntityDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* An XML buffer. */
 | |
|     int n_buf;
 | |
|     xmlEntityPtr ent; /* An entity table */
 | |
|     int n_ent;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_ent = 0;n_ent < gen_nb_xmlEntityPtr;n_ent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         ent = gen_xmlEntityPtr(n_ent, 1);
 | |
| 
 | |
|         xmlDumpEntityDecl(buf, ent);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlEntityPtr(n_ent, ent, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpEntityDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_ent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlEncodeEntitiesReentrant(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDocPtr doc; /* the document containing the string */
 | |
|     int n_doc;
 | |
|     xmlChar * input; /* A string to convert to XML. */
 | |
|     int n_input;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         input = gen_const_xmlChar_ptr(n_input, 1);
 | |
| 
 | |
|         ret_val = xmlEncodeEntitiesReentrant(doc, (const xmlChar *)input);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlEncodeEntitiesReentrant",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_input);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlDoc_ptr 1
 | |
| #define gen_const_xmlDoc_ptr(no, nr) NULL
 | |
| #define des_const_xmlDoc_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlEncodeSpecialChars(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDoc * doc; /* the document containing the string */
 | |
|     int n_doc;
 | |
|     xmlChar * input; /* A string to convert to XML. */
 | |
|     int n_input;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         input = gen_const_xmlChar_ptr(n_input, 1);
 | |
| 
 | |
|         ret_val = xmlEncodeSpecialChars((const xmlDoc *)doc, (const xmlChar *)input);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlEncodeSpecialChars",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_input);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDocEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDoc * doc; /* the document referencing the entity */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetDocEntity((const xmlDoc *)doc, (const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDocEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document referencing the entity */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetDtdEntity(doc, (const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDtdEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetParameterEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document referencing the entity */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetParameterEntity(doc, (const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetParameterEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetPredefinedEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = xmlGetPredefinedEntity((const xmlChar *)name);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetPredefinedEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlEntityPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
|     int type; /* the entity type XML_xxx_yyy_ENTITY */
 | |
|     int n_type;
 | |
|     xmlChar * ExternalID; /* the entity external ID if available */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the entity system ID if available */
 | |
|     int n_SystemID;
 | |
|     xmlChar * content; /* the entity content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_int;n_type++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_int(n_type, 2);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 5);
 | |
| 
 | |
|         ret_val = xmlNewEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
 | |
|         desret_xmlEntityPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_int(n_type, type, 2);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_entities(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing entities : 11 of 17 functions ...\n");
 | |
|     test_ret += test_xmlAddDocEntity();
 | |
|     test_ret += test_xmlAddDtdEntity();
 | |
|     test_ret += test_xmlCopyEntitiesTable();
 | |
|     test_ret += test_xmlCreateEntitiesTable();
 | |
|     test_ret += test_xmlDumpEntitiesTable();
 | |
|     test_ret += test_xmlDumpEntityDecl();
 | |
|     test_ret += test_xmlEncodeEntitiesReentrant();
 | |
|     test_ret += test_xmlEncodeSpecialChars();
 | |
|     test_ret += test_xmlGetDocEntity();
 | |
|     test_ret += test_xmlGetDtdEntity();
 | |
|     test_ret += test_xmlGetParameterEntity();
 | |
|     test_ret += test_xmlGetPredefinedEntity();
 | |
|     test_ret += test_xmlNewEntity();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module entities: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlHashAddEntry(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         userdata = gen_userdata(n_userdata, 2);
 | |
| 
 | |
|         ret_val = xmlHashAddEntry(table, (const xmlChar *)name, userdata);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_userdata(n_userdata, userdata, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashAddEntry",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashAddEntry2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         userdata = gen_userdata(n_userdata, 3);
 | |
| 
 | |
|         ret_val = xmlHashAddEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_userdata(n_userdata, userdata, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashAddEntry2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashAddEntry3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlChar * name3; /* a third name of the userdata */
 | |
|     int n_name3;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         name3 = gen_const_xmlChar_ptr(n_name3, 3);
 | |
|         userdata = gen_userdata(n_userdata, 4);
 | |
| 
 | |
|         ret_val = xmlHashAddEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
 | |
|         des_userdata(n_userdata, userdata, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashAddEntry3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_name3);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashCopy(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashCreate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashCreateDict(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashDefaultDeallocator(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * entry; /* the hash table entry */
 | |
|     int n_entry;
 | |
|     xmlChar * name; /* the entry's name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_entry = 0;n_entry < gen_nb_void_ptr;n_entry++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         entry = gen_void_ptr(n_entry, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         xmlHashDefaultDeallocator(entry, (const xmlChar *)name);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_entry, entry, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashDefaultDeallocator",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_entry);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlHashLookup(table, (const xmlChar *)name);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashLookup2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
| 
 | |
|         ret_val = xmlHashLookup2(table, (const xmlChar *)name, (const xmlChar *)name2);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashLookup2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashLookup3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlChar * name3; /* a third name of the userdata */
 | |
|     int n_name3;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         name3 = gen_const_xmlChar_ptr(n_name3, 3);
 | |
| 
 | |
|         ret_val = xmlHashLookup3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashLookup3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_name3);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashQLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * prefix; /* the prefix of the userdata */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
| 
 | |
|         ret_val = xmlHashQLookup(table, (const xmlChar *)prefix, (const xmlChar *)name);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashQLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashQLookup2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * prefix; /* the prefix of the userdata */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * prefix2; /* the second prefix of the userdata */
 | |
|     int n_prefix2;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 4);
 | |
| 
 | |
|         ret_val = xmlHashQLookup2(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashQLookup2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix2);
 | |
|             printf(" %d", n_name2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashQLookup3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * prefix; /* the prefix of the userdata */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * prefix2; /* the second prefix of the userdata */
 | |
|     int n_prefix2;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlChar * prefix3; /* the third prefix of the userdata */
 | |
|     int n_prefix3;
 | |
|     xmlChar * name3; /* a third name of the userdata */
 | |
|     int n_name3;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_prefix3 = 0;n_prefix3 < gen_nb_const_xmlChar_ptr;n_prefix3++) {
 | |
|     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 4);
 | |
|         prefix3 = gen_const_xmlChar_ptr(n_prefix3, 5);
 | |
|         name3 = gen_const_xmlChar_ptr(n_name3, 6);
 | |
| 
 | |
|         ret_val = xmlHashQLookup3(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2, (const xmlChar *)prefix3, (const xmlChar *)name3);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
 | |
|         des_const_xmlChar_ptr(n_prefix3, (const xmlChar *)prefix3, 5);
 | |
|         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashQLookup3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix2);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_prefix3);
 | |
|             printf(" %d", n_name3);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashRemoveEntry(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         f = gen_xmlHashDeallocator(n_f, 2);
 | |
| 
 | |
|         ret_val = xmlHashRemoveEntry(table, (const xmlChar *)name, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_xmlHashDeallocator(n_f, f, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashRemoveEntry",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashRemoveEntry2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         f = gen_xmlHashDeallocator(n_f, 3);
 | |
| 
 | |
|         ret_val = xmlHashRemoveEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_xmlHashDeallocator(n_f, f, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashRemoveEntry2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashRemoveEntry3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlChar * name3; /* a third name of the userdata */
 | |
|     int n_name3;
 | |
|     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         name3 = gen_const_xmlChar_ptr(n_name3, 3);
 | |
|         f = gen_xmlHashDeallocator(n_f, 4);
 | |
| 
 | |
|         ret_val = xmlHashRemoveEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
 | |
|         des_xmlHashDeallocator(n_f, f, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashRemoveEntry3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_name3);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashScan(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashScan3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashScanFull(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashScanFull3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashSize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
| 
 | |
|         ret_val = xmlHashSize(table);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashSize",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashUpdateEntry(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
|     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         userdata = gen_userdata(n_userdata, 2);
 | |
|         f = gen_xmlHashDeallocator(n_f, 3);
 | |
| 
 | |
|         ret_val = xmlHashUpdateEntry(table, (const xmlChar *)name, userdata, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_userdata(n_userdata, userdata, 2);
 | |
|         des_xmlHashDeallocator(n_f, f, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashUpdateEntry",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashUpdateEntry2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
|     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         userdata = gen_userdata(n_userdata, 3);
 | |
|         f = gen_xmlHashDeallocator(n_f, 4);
 | |
| 
 | |
|         ret_val = xmlHashUpdateEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_userdata(n_userdata, userdata, 3);
 | |
|         des_xmlHashDeallocator(n_f, f, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashUpdateEntry2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHashUpdateEntry3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlHashTablePtr table; /* the hash table */
 | |
|     int n_table;
 | |
|     xmlChar * name; /* the name of the userdata */
 | |
|     int n_name;
 | |
|     xmlChar * name2; /* a second name of the userdata */
 | |
|     int n_name2;
 | |
|     xmlChar * name3; /* a third name of the userdata */
 | |
|     int n_name3;
 | |
|     void * userdata; /* a pointer to the userdata */
 | |
|     int n_userdata;
 | |
|     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
 | |
|     int n_f;
 | |
| 
 | |
|     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
 | |
|     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
 | |
|     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         table = gen_xmlHashTablePtr(n_table, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         name2 = gen_const_xmlChar_ptr(n_name2, 2);
 | |
|         name3 = gen_const_xmlChar_ptr(n_name3, 3);
 | |
|         userdata = gen_userdata(n_userdata, 4);
 | |
|         f = gen_xmlHashDeallocator(n_f, 5);
 | |
| 
 | |
|         ret_val = xmlHashUpdateEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata, f);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlHashTablePtr(n_table, table, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
 | |
|         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
 | |
|         des_userdata(n_userdata, userdata, 4);
 | |
|         des_xmlHashDeallocator(n_f, f, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHashUpdateEntry3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_table);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_name2);
 | |
|             printf(" %d", n_name3);
 | |
|             printf(" %d", n_userdata);
 | |
|             printf(" %d", n_f);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_hash(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing hash : 17 of 25 functions ...\n");
 | |
|     test_ret += test_xmlHashAddEntry();
 | |
|     test_ret += test_xmlHashAddEntry2();
 | |
|     test_ret += test_xmlHashAddEntry3();
 | |
|     test_ret += test_xmlHashCopy();
 | |
|     test_ret += test_xmlHashCreate();
 | |
|     test_ret += test_xmlHashCreateDict();
 | |
|     test_ret += test_xmlHashDefaultDeallocator();
 | |
|     test_ret += test_xmlHashLookup();
 | |
|     test_ret += test_xmlHashLookup2();
 | |
|     test_ret += test_xmlHashLookup3();
 | |
|     test_ret += test_xmlHashQLookup();
 | |
|     test_ret += test_xmlHashQLookup2();
 | |
|     test_ret += test_xmlHashQLookup3();
 | |
|     test_ret += test_xmlHashRemoveEntry();
 | |
|     test_ret += test_xmlHashRemoveEntry2();
 | |
|     test_ret += test_xmlHashRemoveEntry3();
 | |
|     test_ret += test_xmlHashScan();
 | |
|     test_ret += test_xmlHashScan3();
 | |
|     test_ret += test_xmlHashScanFull();
 | |
|     test_ret += test_xmlHashScanFull3();
 | |
|     test_ret += test_xmlHashSize();
 | |
|     test_ret += test_xmlHashUpdateEntry();
 | |
|     test_ret += test_xmlHashUpdateEntry2();
 | |
|     test_ret += test_xmlHashUpdateEntry3();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module hash: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlLinkPtr 1
 | |
| #define gen_xmlLinkPtr(no, nr) NULL
 | |
| #define des_xmlLinkPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlLinkGetData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlLinkPtr lk; /* a link */
 | |
|     int n_lk;
 | |
| 
 | |
|     for (n_lk = 0;n_lk < gen_nb_xmlLinkPtr;n_lk++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         lk = gen_xmlLinkPtr(n_lk, 0);
 | |
| 
 | |
|         ret_val = xmlLinkGetData(lk);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlLinkPtr(n_lk, lk, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLinkGetData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_lk);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListAppend(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* the data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListAppend(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListAppend",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListClear(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         xmlListClear(l);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListClear",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlListPtr 1
 | |
| #define gen_const_xmlListPtr(no, nr) NULL
 | |
| #define des_const_xmlListPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlListCopy(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr cur; /* the new list */
 | |
|     int n_cur;
 | |
|     xmlListPtr old; /* the old list */
 | |
|     int n_old;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlListPtr;n_cur++) {
 | |
|     for (n_old = 0;n_old < gen_nb_const_xmlListPtr;n_old++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlListPtr(n_cur, 0);
 | |
|         old = gen_const_xmlListPtr(n_old, 1);
 | |
| 
 | |
|         ret_val = xmlListCopy(cur, (const xmlListPtr)old);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_cur, cur, 0);
 | |
|         des_const_xmlListPtr(n_old, (const xmlListPtr)old, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListCopy",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_old);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListCreate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListDup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListEmpty(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         ret_val = xmlListEmpty(l);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListEmpty",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListEnd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListFront(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListInsert(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* the data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListInsert(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListInsert",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListMerge(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l1; /* the original list */
 | |
|     int n_l1;
 | |
|     xmlListPtr l2; /* the new list */
 | |
|     int n_l2;
 | |
| 
 | |
|     for (n_l1 = 0;n_l1 < gen_nb_xmlListPtr;n_l1++) {
 | |
|     for (n_l2 = 0;n_l2 < gen_nb_xmlListPtr;n_l2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l1 = gen_xmlListPtr(n_l1, 0);
 | |
|         l2 = gen_xmlListPtr(n_l2, 1);
 | |
| 
 | |
|         xmlListMerge(l1, l2);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l1, l1, 0);
 | |
|         des_xmlListPtr(n_l2, l2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListMerge",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l1);
 | |
|             printf(" %d", n_l2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListPopBack(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         xmlListPopBack(l);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListPopBack",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListPopFront(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         xmlListPopFront(l);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListPopFront",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListPushBack(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* new data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListPushBack(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListPushBack",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListPushFront(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* new data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListPushFront(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListPushFront",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListRemoveAll(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* list data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListRemoveAll(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListRemoveAll",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListRemoveFirst(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* list data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListRemoveFirst(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListRemoveFirst",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListRemoveLast(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* list data */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListRemoveLast(l, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListRemoveLast",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListReverse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         xmlListReverse(l);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListReverse",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListReverseSearch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* a search value */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListReverseSearch(l, data);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListReverseSearch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListReverseWalk(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListSearch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
|     void * data; /* a search value */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
|         data = gen_userdata(n_data, 1);
 | |
| 
 | |
|         ret_val = xmlListSearch(l, data);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         des_userdata(n_data, data, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListSearch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListSize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         ret_val = xmlListSize(l);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListSize",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListSort(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlListPtr l; /* a list */
 | |
|     int n_l;
 | |
| 
 | |
|     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         l = gen_xmlListPtr(n_l, 0);
 | |
| 
 | |
|         xmlListSort(l);
 | |
|         call_tests++;
 | |
|         des_xmlListPtr(n_l, l, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlListSort",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_l);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlListWalk(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_list(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing list : 19 of 26 functions ...\n");
 | |
|     test_ret += test_xmlLinkGetData();
 | |
|     test_ret += test_xmlListAppend();
 | |
|     test_ret += test_xmlListClear();
 | |
|     test_ret += test_xmlListCopy();
 | |
|     test_ret += test_xmlListCreate();
 | |
|     test_ret += test_xmlListDup();
 | |
|     test_ret += test_xmlListEmpty();
 | |
|     test_ret += test_xmlListEnd();
 | |
|     test_ret += test_xmlListFront();
 | |
|     test_ret += test_xmlListInsert();
 | |
|     test_ret += test_xmlListMerge();
 | |
|     test_ret += test_xmlListPopBack();
 | |
|     test_ret += test_xmlListPopFront();
 | |
|     test_ret += test_xmlListPushBack();
 | |
|     test_ret += test_xmlListPushFront();
 | |
|     test_ret += test_xmlListRemoveAll();
 | |
|     test_ret += test_xmlListRemoveFirst();
 | |
|     test_ret += test_xmlListRemoveLast();
 | |
|     test_ret += test_xmlListReverse();
 | |
|     test_ret += test_xmlListReverseSearch();
 | |
|     test_ret += test_xmlListReverseWalk();
 | |
|     test_ret += test_xmlListSearch();
 | |
|     test_ret += test_xmlListSize();
 | |
|     test_ret += test_xmlListSort();
 | |
|     test_ret += test_xmlListWalk();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module list: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPAuthHeader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPAuthHeader(ctx);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPAuthHeader",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlNanoHTTPCleanup();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPCleanup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPContentLength(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPContentLength(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPContentLength",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPEncoding(ctx);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_char_ptr_ptr 1
 | |
| #define gen_char_ptr_ptr(no, nr) NULL
 | |
| #define des_char_ptr_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPFetch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * URL; /* The URL to load */
 | |
|     int n_URL;
 | |
|     const char * filename; /* the filename where the content should be saved */
 | |
|     int n_filename;
 | |
|     char ** contentType; /* if available the Content-Type information will be returned at that location */
 | |
|     int n_contentType;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_fileoutput;n_URL++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_fileoutput(n_URL, 0);
 | |
|         filename = gen_fileoutput(n_filename, 1);
 | |
|         contentType = gen_char_ptr_ptr(n_contentType, 2);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPFetch(URL, filename, contentType);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_URL, URL, 0);
 | |
|         des_fileoutput(n_filename, filename, 1);
 | |
|         des_char_ptr_ptr(n_contentType, contentType, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPFetch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_contentType);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPInit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlNanoHTTPInit();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPInit",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPMimeType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     const char * ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPMimeType(ctx);
 | |
|         desret_const_char_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPMimeType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPOpen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     const char * URL; /* The URL to load */
 | |
|     int n_URL;
 | |
|     char ** contentType; /* if available the Content-Type information will be returned at that location */
 | |
|     int n_contentType;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_filepath(n_URL, 0);
 | |
|         contentType = gen_char_ptr_ptr(n_contentType, 1);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPOpen(URL, contentType);
 | |
|         desret_xmlNanoHTTPCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URL, URL, 0);
 | |
|         des_char_ptr_ptr(n_contentType, contentType, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPOpen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_contentType);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPOpenRedir(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     const char * URL; /* The URL to load */
 | |
|     int n_URL;
 | |
|     char ** contentType; /* if available the Content-Type information will be returned at that location */
 | |
|     int n_contentType;
 | |
|     char ** redir; /* if available the redirected URL will be returned */
 | |
|     int n_redir;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
 | |
|     for (n_redir = 0;n_redir < gen_nb_char_ptr_ptr;n_redir++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_filepath(n_URL, 0);
 | |
|         contentType = gen_char_ptr_ptr(n_contentType, 1);
 | |
|         redir = gen_char_ptr_ptr(n_redir, 2);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPOpenRedir(URL, contentType, redir);
 | |
|         desret_xmlNanoHTTPCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URL, URL, 0);
 | |
|         des_char_ptr_ptr(n_contentType, contentType, 1);
 | |
|         des_char_ptr_ptr(n_redir, redir, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPOpenRedir",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_contentType);
 | |
|             printf(" %d", n_redir);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
|     void * dest; /* a buffer */
 | |
|     int n_dest;
 | |
|     int len; /* the buffer length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|     for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
|         dest = gen_void_ptr(n_dest, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPRead(ctx, dest, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         des_void_ptr(n_dest, dest, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_dest);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPRedir(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPReturnCode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctx; /* the HTTP context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPReturnCode(ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPReturnCode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPSave(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * ctxt; /* the HTTP context */
 | |
|     int n_ctxt;
 | |
|     const char * filename; /* the filename where the content should be saved */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_void_ptr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_void_ptr(n_ctxt, 0);
 | |
|         filename = gen_fileoutput(n_filename, 1);
 | |
| 
 | |
|         ret_val = xmlNanoHTTPSave(ctxt, filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctxt, ctxt, 0);
 | |
|         des_fileoutput(n_filename, filename, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNanoHTTPSave",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNanoHTTPScanProxy(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     const char * URL; /* The proxy URL used to initialize the proxy context */
 | |
|     int n_URL;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|         URL = gen_filepath(n_URL, 0);
 | |
| 
 | |
|         xmlNanoHTTPScanProxy(URL);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URL, URL, 0);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_nanohttp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing nanohttp : 13 of 17 functions ...\n");
 | |
|     test_ret += test_xmlNanoHTTPAuthHeader();
 | |
|     test_ret += test_xmlNanoHTTPCleanup();
 | |
|     test_ret += test_xmlNanoHTTPContentLength();
 | |
|     test_ret += test_xmlNanoHTTPEncoding();
 | |
|     test_ret += test_xmlNanoHTTPFetch();
 | |
|     test_ret += test_xmlNanoHTTPInit();
 | |
|     test_ret += test_xmlNanoHTTPMimeType();
 | |
|     test_ret += test_xmlNanoHTTPOpen();
 | |
|     test_ret += test_xmlNanoHTTPOpenRedir();
 | |
|     test_ret += test_xmlNanoHTTPRead();
 | |
|     test_ret += test_xmlNanoHTTPRedir();
 | |
|     test_ret += test_xmlNanoHTTPReturnCode();
 | |
|     test_ret += test_xmlNanoHTTPSave();
 | |
|     test_ret += test_xmlNanoHTTPScanProxy();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module nanohttp: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlByteConsumed(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlByteConsumed(ctxt);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlByteConsumed",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlClearNodeInfoSeq(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
 | |
|     int n_seq;
 | |
| 
 | |
|     for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
 | |
| 
 | |
|         xmlClearNodeInfoSeq(seq);
 | |
|         call_tests++;
 | |
|         des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlClearNodeInfoSeq",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_seq);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlClearParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlClearParserCtxt(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlClearParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateDocParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlCreateDocParserCtxt((const xmlChar *)cur);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateDocParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreatePushParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PUSH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* a SAX handler */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks */
 | |
|     int n_user_data;
 | |
|     char * chunk; /* a pointer to an array of chars */
 | |
|     int n_chunk;
 | |
|     int size; /* number of chars in the array */
 | |
|     int n_size;
 | |
|     const char * filename; /* an optional file name or URI */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         user_data = gen_userdata(n_user_data, 1);
 | |
|         chunk = gen_const_char_ptr(n_chunk, 2);
 | |
|         size = gen_int(n_size, 3);
 | |
|         filename = gen_fileoutput(n_filename, 4);
 | |
|         if ((chunk != NULL) &&
 | |
|             (size > (int) strlen((const char *) chunk) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_userdata(n_user_data, user_data, 1);
 | |
|         des_const_char_ptr(n_chunk, (const char *)chunk, 2);
 | |
|         des_int(n_size, size, 3);
 | |
|         des_fileoutput(n_filename, filename, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreatePushParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_chunk);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtReadDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_parseroptions(n_options, 4);
 | |
| 
 | |
|         ret_val = xmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_parseroptions(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtReadDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtReadFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_parseroptions(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_parseroptions(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtReadFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtReadMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         URL = gen_filepath(n_URL, 3);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 4);
 | |
|         options = gen_parseroptions(n_options, 5);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_filepath(n_URL, URL, 3);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
 | |
|         des_parseroptions(n_options, options, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtReadMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtReset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlCtxtReset(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtReset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtResetPush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     char * chunk; /* a pointer to an array of chars */
 | |
|     int n_chunk;
 | |
|     int size; /* number of chars in the array */
 | |
|     int n_size;
 | |
|     const char * filename; /* an optional file name or URI */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         chunk = gen_const_char_ptr(n_chunk, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         filename = gen_filepath(n_filename, 3);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 4);
 | |
|         if ((chunk != NULL) &&
 | |
|             (size > (int) strlen((const char *) chunk) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_filepath(n_filename, filename, 3);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtResetPush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_chunk);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtUseOptions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         options = gen_parseroptions(n_options, 1);
 | |
| 
 | |
|         ret_val = xmlCtxtUseOptions(ctxt, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_parseroptions(n_options, options, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtUseOptions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetExternalEntityLoader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHasFeature(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlFeature feature; /* the feature to be examined */
 | |
|     int n_feature;
 | |
| 
 | |
|     for (n_feature = 0;n_feature < gen_nb_xmlFeature;n_feature++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         feature = gen_xmlFeature(n_feature, 0);
 | |
| 
 | |
|         ret_val = xmlHasFeature(feature);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlFeature(n_feature, feature, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHasFeature",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_feature);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOParseDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block or NULL */
 | |
|     int n_sax;
 | |
|     xmlParserInputBufferPtr input; /* an Input Buffer */
 | |
|     int n_input;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         input = gen_xmlParserInputBufferPtr(n_input, 1);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 2);
 | |
| 
 | |
|         ret_val = xmlIOParseDTD(sax, input, enc);
 | |
|         input = NULL;
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_xmlParserInputBufferPtr(n_input, input, 1);
 | |
|         des_xmlCharEncoding(n_enc, enc, 2);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitNodeInfoSeq(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
 | |
|     int n_seq;
 | |
| 
 | |
|     for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
 | |
| 
 | |
|         xmlInitNodeInfoSeq(seq);
 | |
|         call_tests++;
 | |
|         des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlInitNodeInfoSeq",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_seq);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitParser(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlInitParser();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlInitParser",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlInitParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlInitParserCtxt(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlInitParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlKeepBlanksDefault(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int val; /* int 0 or 1 */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlKeepBlanksDefault(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlKeepBlanksDefault",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLineNumbersDefault(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int val; /* int 0 or 1 */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlLineNumbersDefault(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLineNumbersDefault",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLoadExternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     const char * URL; /* the URL for the entity to load */
 | |
|     int n_URL;
 | |
|     char * ID; /* the Public ID for the entity to load */
 | |
|     int n_ID;
 | |
|     xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_filepath(n_URL, 0);
 | |
|         ID = gen_const_char_ptr(n_ID, 1);
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
 | |
| 
 | |
|         ret_val = xmlLoadExternalEntity(URL, (const char *)ID, ctxt);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URL, URL, 0);
 | |
|         des_const_char_ptr(n_ID, (const char *)ID, 1);
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLoadExternalEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_ID);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewIOInputStream(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputBufferPtr input; /* an I/O Input */
 | |
|     int n_input;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         input = gen_xmlParserInputBufferPtr(n_input, 1);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 2);
 | |
| 
 | |
|         ret_val = xmlNewIOInputStream(ctxt, input, enc);
 | |
|         if (ret_val != NULL) input = NULL;
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputBufferPtr(n_input, input, 1);
 | |
|         des_xmlCharEncoding(n_enc, enc, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewIOInputStream",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_input);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlNewParserCtxt();
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlNodePtr_ptr 1
 | |
| #define gen_xmlNodePtr_ptr(no, nr) NULL
 | |
| #define des_xmlNodePtr_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParseBalancedChunkMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document the chunk pertains to (must not be NULL) */
 | |
|     int n_doc;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
 | |
|     int n_user_data;
 | |
|     int depth; /* Used for loop detection, use 0 */
 | |
|     int n_depth;
 | |
|     xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
 | |
|     int n_string;
 | |
|     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
 | |
|     int n_lst;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
 | |
|     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
 | |
|         user_data = gen_userdata(n_user_data, 2);
 | |
|         depth = gen_int(n_depth, 3);
 | |
|         string = gen_const_xmlChar_ptr(n_string, 4);
 | |
|         lst = gen_xmlNodePtr_ptr(n_lst, 5);
 | |
|         
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
 | |
| #endif
 | |
| 
 | |
| 
 | |
|         ret_val = xmlParseBalancedChunkMemory(doc, sax, user_data, depth, (const xmlChar *)string, lst);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 1);
 | |
|         des_userdata(n_user_data, user_data, 2);
 | |
|         des_int(n_depth, depth, 3);
 | |
|         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
 | |
|         des_xmlNodePtr_ptr(n_lst, lst, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseBalancedChunkMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_depth);
 | |
|             printf(" %d", n_string);
 | |
|             printf(" %d", n_lst);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseBalancedChunkMemoryRecover(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document the chunk pertains to (must not be NULL) */
 | |
|     int n_doc;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
 | |
|     int n_user_data;
 | |
|     int depth; /* Used for loop detection, use 0 */
 | |
|     int n_depth;
 | |
|     xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
 | |
|     int n_string;
 | |
|     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
 | |
|     int n_lst;
 | |
|     int recover; /* return nodes even if the data is broken (use 0) */
 | |
|     int n_recover;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
 | |
|     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
 | |
|     for (n_recover = 0;n_recover < gen_nb_int;n_recover++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
 | |
|         user_data = gen_userdata(n_user_data, 2);
 | |
|         depth = gen_int(n_depth, 3);
 | |
|         string = gen_const_xmlChar_ptr(n_string, 4);
 | |
|         lst = gen_xmlNodePtr_ptr(n_lst, 5);
 | |
|         recover = gen_int(n_recover, 6);
 | |
|         
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
 | |
| #endif
 | |
| 
 | |
| 
 | |
|         ret_val = xmlParseBalancedChunkMemoryRecover(doc, sax, user_data, depth, (const xmlChar *)string, lst, recover);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 1);
 | |
|         des_userdata(n_user_data, user_data, 2);
 | |
|         des_int(n_depth, depth, 3);
 | |
|         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
 | |
|         des_xmlNodePtr_ptr(n_lst, lst, 5);
 | |
|         des_int(n_recover, recover, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseBalancedChunkMemoryRecover",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_depth);
 | |
|             printf(" %d", n_string);
 | |
|             printf(" %d", n_lst);
 | |
|             printf(" %d", n_recover);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseChunk(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PUSH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     char * chunk; /* an char array */
 | |
|     int n_chunk;
 | |
|     int size; /* the size in byte of the chunk */
 | |
|     int n_size;
 | |
|     int terminate; /* last chunk indicator */
 | |
|     int n_terminate;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         chunk = gen_const_char_ptr(n_chunk, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         terminate = gen_int(n_terminate, 3);
 | |
|         if ((chunk != NULL) &&
 | |
|             (size > (int) strlen((const char *) chunk) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_int(n_terminate, terminate, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseChunk",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_chunk);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_terminate);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseCtxtExternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctx; /* the existing parsing context */
 | |
|     int n_ctx;
 | |
|     xmlChar * URL; /* the URL for the entity to load */
 | |
|     int n_URL;
 | |
|     xmlChar * ID; /* the System ID for the entity to load */
 | |
|     int n_ID;
 | |
|     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
 | |
|     int n_lst;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlParserCtxtPtr;n_ctx++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
 | |
|     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_xmlParserCtxtPtr(n_ctx, 0);
 | |
|         URL = gen_const_xmlChar_ptr(n_URL, 1);
 | |
|         ID = gen_const_xmlChar_ptr(n_ID, 2);
 | |
|         lst = gen_xmlNodePtr_ptr(n_lst, 3);
 | |
| 
 | |
|         ret_val = xmlParseCtxtExternalEntity(ctx, (const xmlChar *)URL, (const xmlChar *)ID, lst);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctx, ctx, 0);
 | |
|         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 1);
 | |
|         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 2);
 | |
|         des_xmlNodePtr_ptr(n_lst, lst, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseCtxtExternalEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_ID);
 | |
|             printf(" %d", n_lst);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 0);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 1);
 | |
| 
 | |
|         ret_val = xmlParseDTD((const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 0);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlParseDoc((const xmlChar *)cur);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlParseDocument(ctxt);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlParseEntity(filename);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseExtParsedEnt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlParseExtParsedEnt(ctxt);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseExtParsedEnt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseExternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document the chunk pertains to */
 | |
|     int n_doc;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
 | |
|     int n_user_data;
 | |
|     int depth; /* Used for loop detection, use 0 */
 | |
|     int n_depth;
 | |
|     xmlChar * URL; /* the URL for the entity to load */
 | |
|     int n_URL;
 | |
|     xmlChar * ID; /* the System ID for the entity to load */
 | |
|     int n_ID;
 | |
|     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
 | |
|     int n_lst;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
 | |
|     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
 | |
|         user_data = gen_userdata(n_user_data, 2);
 | |
|         depth = gen_int(n_depth, 3);
 | |
|         URL = gen_const_xmlChar_ptr(n_URL, 4);
 | |
|         ID = gen_const_xmlChar_ptr(n_ID, 5);
 | |
|         lst = gen_xmlNodePtr_ptr(n_lst, 6);
 | |
| 
 | |
|         ret_val = xmlParseExternalEntity(doc, sax, user_data, depth, (const xmlChar *)URL, (const xmlChar *)ID, lst);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 1);
 | |
|         des_userdata(n_user_data, user_data, 2);
 | |
|         des_int(n_depth, depth, 3);
 | |
|         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 4);
 | |
|         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 5);
 | |
|         des_xmlNodePtr_ptr(n_lst, lst, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseExternalEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_depth);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_ID);
 | |
|             printf(" %d", n_lst);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlParseFile(filename);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseInNodeContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserErrors ret_val;
 | |
|     xmlNodePtr node; /* the context node */
 | |
|     int n_node;
 | |
|     char * data; /* the input string */
 | |
|     int n_data;
 | |
|     int datalen; /* the input string length in bytes */
 | |
|     int n_datalen;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
|     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
 | |
|     int n_lst;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
 | |
|     for (n_datalen = 0;n_datalen < gen_nb_int;n_datalen++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         data = gen_const_char_ptr(n_data, 1);
 | |
|         datalen = gen_int(n_datalen, 2);
 | |
|         options = gen_parseroptions(n_options, 3);
 | |
|         lst = gen_xmlNodePtr_ptr(n_lst, 4);
 | |
| 
 | |
|         ret_val = xmlParseInNodeContext(node, (const char *)data, datalen, options, lst);
 | |
|         desret_xmlParserErrors(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_char_ptr(n_data, (const char *)data, 1);
 | |
|         des_int(n_datalen, datalen, 2);
 | |
|         des_parseroptions(n_options, options, 3);
 | |
|         des_xmlNodePtr_ptr(n_lst, lst, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseInNodeContext",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_data);
 | |
|             printf(" %d", n_datalen);
 | |
|             printf(" %d", n_options);
 | |
|             printf(" %d", n_lst);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     char * buffer; /* an pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlParseMemory((const char *)buffer, size);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlParserNodeInfoPtr 1
 | |
| #define gen_const_xmlParserNodeInfoPtr(no, nr) NULL
 | |
| #define des_const_xmlParserNodeInfoPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParserAddNodeInfo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserNodeInfoPtr info; /* a node info sequence pointer */
 | |
|     int n_info;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_info = 0;n_info < gen_nb_const_xmlParserNodeInfoPtr;n_info++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         info = gen_const_xmlParserNodeInfoPtr(n_info, 1);
 | |
| 
 | |
|         xmlParserAddNodeInfo(ctxt, (const xmlParserNodeInfoPtr)info);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlParserNodeInfoPtr(n_info, (const xmlParserNodeInfoPtr)info, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserAddNodeInfo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_info);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlParserCtxtPtr 1
 | |
| #define gen_const_xmlParserCtxtPtr(no, nr) NULL
 | |
| #define des_const_xmlParserCtxtPtr(no, val, nr)
 | |
| 
 | |
| #define gen_nb_const_xmlNodePtr 1
 | |
| #define gen_const_xmlNodePtr(no, nr) NULL
 | |
| #define des_const_xmlNodePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParserFindNodeInfo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlParserNodeInfo * ret_val;
 | |
|     xmlParserCtxtPtr ctx; /* an XML parser context */
 | |
|     int n_ctx;
 | |
|     xmlNodePtr node; /* an XML node within the tree */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_const_xmlParserCtxtPtr;n_ctx++) {
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_const_xmlParserCtxtPtr(n_ctx, 0);
 | |
|         node = gen_const_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlParserFindNodeInfo((const xmlParserCtxtPtr)ctx, (const xmlNodePtr)node);
 | |
|         desret_const_xmlParserNodeInfo_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlParserCtxtPtr(n_ctx, (const xmlParserCtxtPtr)ctx, 0);
 | |
|         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserFindNodeInfo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlParserNodeInfoSeqPtr 1
 | |
| #define gen_const_xmlParserNodeInfoSeqPtr(no, nr) NULL
 | |
| #define des_const_xmlParserNodeInfoSeqPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParserFindNodeInfoIndex(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     unsigned long ret_val;
 | |
|     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
 | |
|     int n_seq;
 | |
|     xmlNodePtr node; /* an XML node pointer */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_seq = 0;n_seq < gen_nb_const_xmlParserNodeInfoSeqPtr;n_seq++) {
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         seq = gen_const_xmlParserNodeInfoSeqPtr(n_seq, 0);
 | |
|         node = gen_const_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlParserFindNodeInfoIndex((const xmlParserNodeInfoSeqPtr)seq, (const xmlNodePtr)node);
 | |
|         desret_unsigned_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlParserNodeInfoSeqPtr(n_seq, (const xmlParserNodeInfoSeqPtr)seq, 0);
 | |
|         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserFindNodeInfoIndex",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_seq);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlParserInputPtr 1
 | |
| #define gen_xmlParserInputPtr(no, nr) NULL
 | |
| #define des_xmlParserInputPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputGrow(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserInputPtr in; /* an XML parser input */
 | |
|     int n_in;
 | |
|     int len; /* an indicative size for the lookahead */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputPtr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputGrow(in, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputPtr(n_in, in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputGrow",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserInputPtr in; /* an XML parser input */
 | |
|     int n_in;
 | |
|     int len; /* an indicative size for the lookahead */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputPtr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputRead(in, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputPtr(n_in, in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPedanticParserDefault(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int val; /* int 0 or 1 */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlPedanticParserDefault(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPedanticParserDefault",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReadDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         URL = gen_filepath(n_URL, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_parseroptions(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_filepath(n_URL, URL, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_parseroptions(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReadDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReadFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
|         options = gen_parseroptions(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlReadFile(filename, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         des_parseroptions(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReadFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReadMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_parseroptions(n_options, 4);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_parseroptions(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReadMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRecoverDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlRecoverDoc((const xmlChar *)cur);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRecoverDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRecoverFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlRecoverFile(filename);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRecoverFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRecoverMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     char * buffer; /* an pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlRecoverMemory((const char *)buffer, size);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRecoverMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 2);
 | |
| 
 | |
|         ret_val = xmlSAXParseDTD(sax, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     xmlChar * cur; /* a pointer to an array of xmlChar */
 | |
|     int n_cur;
 | |
|     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
 | |
|     int n_recovery;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 1);
 | |
|         recovery = gen_int(n_recovery, 2);
 | |
| 
 | |
|         ret_val = xmlSAXParseDoc(sax, (const xmlChar *)cur, recovery);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
 | |
|         des_int(n_recovery, recovery, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_recovery);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
| 
 | |
|         ret_val = xmlSAXParseEntity(sax, filename);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
 | |
|     int n_recovery;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         recovery = gen_int(n_recovery, 2);
 | |
| 
 | |
|         ret_val = xmlSAXParseFile(sax, filename, recovery);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_int(n_recovery, recovery, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_recovery);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseFileWithData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
 | |
|     int n_recovery;
 | |
|     void * data; /* the userdata */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         recovery = gen_int(n_recovery, 2);
 | |
|         data = gen_userdata(n_data, 3);
 | |
| 
 | |
|         ret_val = xmlSAXParseFileWithData(sax, filename, recovery, data);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_int(n_recovery, recovery, 2);
 | |
|         des_userdata(n_data, data, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseFileWithData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_recovery);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     char * buffer; /* an pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     int recovery; /* work in recovery mode, i.e. tries to read not Well Formed documents */
 | |
|     int n_recovery;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         recovery = gen_int(n_recovery, 3);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_int(n_recovery, recovery, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_recovery);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXParseMemoryWithData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* the SAX handler block */
 | |
|     int n_sax;
 | |
|     char * buffer; /* an pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
 | |
|     int n_recovery;
 | |
|     void * data; /* the userdata */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         recovery = gen_int(n_recovery, 3);
 | |
|         data = gen_userdata(n_data, 4);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_int(n_recovery, recovery, 3);
 | |
|         des_userdata(n_data, data, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXParseMemoryWithData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_recovery);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXUserParseFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* a SAX handler */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks */
 | |
|     int n_user_data;
 | |
|     const char * filename; /* a file name */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         user_data = gen_userdata(n_user_data, 1);
 | |
|         filename = gen_filepath(n_filename, 2);
 | |
|         
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
 | |
| #endif
 | |
| 
 | |
| 
 | |
|         ret_val = xmlSAXUserParseFile(sax, user_data, filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_userdata(n_user_data, user_data, 1);
 | |
|         des_filepath(n_filename, filename, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXUserParseFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSAXUserParseMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSAXHandlerPtr sax; /* a SAX handler */
 | |
|     int n_sax;
 | |
|     void * user_data; /* The user data returned on SAX callbacks */
 | |
|     int n_user_data;
 | |
|     char * buffer; /* an in-memory XML document input */
 | |
|     int n_buffer;
 | |
|     int size; /* the length of the XML document in bytes */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
 | |
|         user_data = gen_userdata(n_user_data, 1);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 2);
 | |
|         size = gen_int(n_size, 3);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
|         
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
 | |
| #endif
 | |
| 
 | |
| 
 | |
|         ret_val = xmlSAXUserParseMemory(sax, user_data, (const char *)buffer, size);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 0);
 | |
|         des_userdata(n_user_data, user_data, 1);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 2);
 | |
|         des_int(n_size, size, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSAXUserParseMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetExternalEntityLoader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetupParserForBuffer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SAX1_ENABLED)
 | |
| #ifdef LIBXML_SAX1_ENABLED
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * buffer; /* a xmlChar * buffer */
 | |
|     int n_buffer;
 | |
|     const char * filename; /* a file name */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         buffer = gen_const_xmlChar_ptr(n_buffer, 1);
 | |
|         filename = gen_filepath(n_filename, 2);
 | |
| 
 | |
|         xmlSetupParserForBuffer(ctxt, (const xmlChar *)buffer, filename);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
 | |
|         des_filepath(n_filename, filename, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetupParserForBuffer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStopParser(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #ifdef LIBXML_PUSH_ENABLED
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlStopParser(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStopParser",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSubstituteEntitiesDefault(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int val; /* int 0 or 1 */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlSubstituteEntitiesDefault(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSubstituteEntitiesDefault",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_parser(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing parser : 58 of 70 functions ...\n");
 | |
|     test_ret += test_xmlByteConsumed();
 | |
|     test_ret += test_xmlClearNodeInfoSeq();
 | |
|     test_ret += test_xmlClearParserCtxt();
 | |
|     test_ret += test_xmlCreateDocParserCtxt();
 | |
|     test_ret += test_xmlCreatePushParserCtxt();
 | |
|     test_ret += test_xmlCtxtReadDoc();
 | |
|     test_ret += test_xmlCtxtReadFile();
 | |
|     test_ret += test_xmlCtxtReadMemory();
 | |
|     test_ret += test_xmlCtxtReset();
 | |
|     test_ret += test_xmlCtxtResetPush();
 | |
|     test_ret += test_xmlCtxtUseOptions();
 | |
|     test_ret += test_xmlGetExternalEntityLoader();
 | |
|     test_ret += test_xmlHasFeature();
 | |
|     test_ret += test_xmlIOParseDTD();
 | |
|     test_ret += test_xmlInitNodeInfoSeq();
 | |
|     test_ret += test_xmlInitParser();
 | |
|     test_ret += test_xmlInitParserCtxt();
 | |
|     test_ret += test_xmlKeepBlanksDefault();
 | |
|     test_ret += test_xmlLineNumbersDefault();
 | |
|     test_ret += test_xmlLoadExternalEntity();
 | |
|     test_ret += test_xmlNewIOInputStream();
 | |
|     test_ret += test_xmlNewParserCtxt();
 | |
|     test_ret += test_xmlParseBalancedChunkMemory();
 | |
|     test_ret += test_xmlParseBalancedChunkMemoryRecover();
 | |
|     test_ret += test_xmlParseChunk();
 | |
|     test_ret += test_xmlParseCtxtExternalEntity();
 | |
|     test_ret += test_xmlParseDTD();
 | |
|     test_ret += test_xmlParseDoc();
 | |
|     test_ret += test_xmlParseDocument();
 | |
|     test_ret += test_xmlParseEntity();
 | |
|     test_ret += test_xmlParseExtParsedEnt();
 | |
|     test_ret += test_xmlParseExternalEntity();
 | |
|     test_ret += test_xmlParseFile();
 | |
|     test_ret += test_xmlParseInNodeContext();
 | |
|     test_ret += test_xmlParseMemory();
 | |
|     test_ret += test_xmlParserAddNodeInfo();
 | |
|     test_ret += test_xmlParserFindNodeInfo();
 | |
|     test_ret += test_xmlParserFindNodeInfoIndex();
 | |
|     test_ret += test_xmlParserInputGrow();
 | |
|     test_ret += test_xmlParserInputRead();
 | |
|     test_ret += test_xmlPedanticParserDefault();
 | |
|     test_ret += test_xmlReadDoc();
 | |
|     test_ret += test_xmlReadFile();
 | |
|     test_ret += test_xmlReadMemory();
 | |
|     test_ret += test_xmlRecoverDoc();
 | |
|     test_ret += test_xmlRecoverFile();
 | |
|     test_ret += test_xmlRecoverMemory();
 | |
|     test_ret += test_xmlSAXParseDTD();
 | |
|     test_ret += test_xmlSAXParseDoc();
 | |
|     test_ret += test_xmlSAXParseEntity();
 | |
|     test_ret += test_xmlSAXParseFile();
 | |
|     test_ret += test_xmlSAXParseFileWithData();
 | |
|     test_ret += test_xmlSAXParseMemory();
 | |
|     test_ret += test_xmlSAXParseMemoryWithData();
 | |
|     test_ret += test_xmlSAXUserParseFile();
 | |
|     test_ret += test_xmlSAXUserParseMemory();
 | |
|     test_ret += test_xmlSetExternalEntityLoader();
 | |
|     test_ret += test_xmlSetupParserForBuffer();
 | |
|     test_ret += test_xmlStopParser();
 | |
|     test_ret += test_xmlSubstituteEntitiesDefault();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module parser: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_htmlCreateFileParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     htmlParserCtxtPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
|     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
| 
 | |
|         ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
 | |
|         desret_htmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_htmlInitAutoClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         htmlInitAutoClose();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in htmlInitAutoClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_inputPop(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = inputPop(ctxt);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in inputPop",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_inputPush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputPtr value; /* the parser input */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_value = 0;n_value < gen_nb_xmlParserInputPtr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         value = gen_xmlParserInputPtr(n_value, 1);
 | |
| 
 | |
|         ret_val = inputPush(ctxt, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputPtr(n_value, value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in inputPush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_namePop(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = namePop(ctxt);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in namePop",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_namePush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * value; /* the element name */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
| 
 | |
|         ret_val = namePush(ctxt, (const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in namePush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_nodePop(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = nodePop(ctxt);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in nodePop",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_nodePush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr value; /* the element node */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_value = 0;n_value < gen_nb_xmlNodePtr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         value = gen_xmlNodePtr(n_value, 1);
 | |
| 
 | |
|         ret_val = nodePush(ctxt, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_value, value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in nodePush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCheckLanguageID(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * lang; /* pointer to the string value */
 | |
|     int n_lang;
 | |
| 
 | |
|     for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         lang = gen_const_xmlChar_ptr(n_lang, 0);
 | |
| 
 | |
|         ret_val = xmlCheckLanguageID((const xmlChar *)lang);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCheckLanguageID",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_lang);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int len; /* Ignored, compatibility */
 | |
|     int n_len;
 | |
|     xmlChar * out; /* pointer to an array of xmlChar */
 | |
|     int n_out;
 | |
|     int val; /* the char value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|     for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         len = gen_int(n_len, 0);
 | |
|         out = gen_xmlChar_ptr(n_out, 1);
 | |
|         val = gen_int(n_val, 2);
 | |
| 
 | |
|         ret_val = xmlCopyChar(len, out, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_len, len, 0);
 | |
|         des_xmlChar_ptr(n_out, out, 1);
 | |
|         des_int(n_val, val, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_len);
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyCharMultiByte(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * out; /* pointer to an array of xmlChar */
 | |
|     int n_out;
 | |
|     int val; /* the char value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlChar_ptr(n_out, 0);
 | |
|         val = gen_int(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlCopyCharMultiByte(out, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlChar_ptr(n_out, out, 0);
 | |
|         des_int(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyCharMultiByte",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateEntityParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     xmlChar * URL; /* the entity URL */
 | |
|     int n_URL;
 | |
|     xmlChar * ID; /* the entity PUBLIC ID */
 | |
|     int n_ID;
 | |
|     xmlChar * base; /* a possible base for the target URI */
 | |
|     int n_base;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
 | |
|     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_const_xmlChar_ptr(n_URL, 0);
 | |
|         ID = gen_const_xmlChar_ptr(n_ID, 1);
 | |
|         base = gen_const_xmlChar_ptr(n_base, 2);
 | |
| 
 | |
|         ret_val = xmlCreateEntityParserCtxt((const xmlChar *)URL, (const xmlChar *)ID, (const xmlChar *)base);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 0);
 | |
|         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
 | |
|         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateEntityParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_ID);
 | |
|             printf(" %d", n_base);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateFileParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     const char * filename; /* the filename */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlCreateFileParserCtxt(filename);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateFileParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateMemoryParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateMemoryParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateURLParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     const char * filename; /* the filename or URL */
 | |
|     int n_filename;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         options = gen_int(n_options, 1);
 | |
| 
 | |
|         ret_val = xmlCreateURLParserCtxt(filename, options);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_int(n_options, options, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateURLParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCurrentChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the XML parser context */
 | |
|     int n_ctxt;
 | |
|     int * len; /* pointer to the length of the char read */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         len = gen_int_ptr(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlCurrentChar(ctxt, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int_ptr(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCurrentChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlErrMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     char * extra; /* extra information */
 | |
|     int n_extra;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         extra = gen_const_char_ptr(n_extra, 1);
 | |
| 
 | |
|         xmlErrMemory(ctxt, (const char *)extra);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_char_ptr(n_extra, (const char *)extra, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlErrMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_extra);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsLetter(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int c; /* an unicode character (int) */
 | |
|     int n_c;
 | |
| 
 | |
|     for (n_c = 0;n_c < gen_nb_int;n_c++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         c = gen_int(n_c, 0);
 | |
| 
 | |
|         ret_val = xmlIsLetter(c);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_c, c, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsLetter",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_c);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewEntityInputStream(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlEntityPtr entity; /* an Entity pointer */
 | |
|     int n_entity;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_entity = 0;n_entity < gen_nb_xmlEntityPtr;n_entity++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         entity = gen_xmlEntityPtr(n_entity, 1);
 | |
| 
 | |
|         ret_val = xmlNewEntityInputStream(ctxt, entity);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlEntityPtr(n_entity, entity, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewEntityInputStream",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_entity);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewInputFromFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     const char * filename; /* the filename to use as entity */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
| 
 | |
|         ret_val = xmlNewInputFromFile(ctxt, filename);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewInputFromFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewInputStream(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlNewInputStream(ctxt);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewInputStream",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewStringInputStream(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * buffer; /* an memory buffer */
 | |
|     int n_buffer;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         buffer = gen_const_xmlChar_ptr(n_buffer, 1);
 | |
| 
 | |
|         ret_val = xmlNewStringInputStream(ctxt, (const xmlChar *)buffer);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewStringInputStream",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNextChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ctxt; /* the XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlNextChar(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNextChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputShrink(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr in; /* an XML parser input */
 | |
|     int n_in;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputPtr(n_in, 0);
 | |
| 
 | |
|         xmlParserInputShrink(in);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputPtr(n_in, in, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputShrink",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPopInput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlPopInput(ctxt);
 | |
|         desret_xmlChar(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPopInput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPushInput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputPtr input; /* an XML parser input fragment (entity, XML fragment ...). */
 | |
|     int n_input;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         input = gen_xmlParserInputPtr(n_input, 1);
 | |
| 
 | |
|         ret_val = xmlPushInput(ctxt, input);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputPtr(n_input, input, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPushInput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_input);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetEntityReferenceFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSplitQName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * name; /* an XML parser context */
 | |
|     int n_name;
 | |
|     xmlChar ** prefix; /* a xmlChar ** */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         prefix = gen_xmlChar_ptr_ptr(n_prefix, 2);
 | |
| 
 | |
|         ret_val = xmlSplitQName(ctxt, (const xmlChar *)name, prefix);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_xmlChar_ptr_ptr(n_prefix, prefix, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSplitQName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStringCurrentChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * cur; /* pointer to the beginning of the char */
 | |
|     int n_cur;
 | |
|     int * len; /* pointer to the length of the char read */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 1);
 | |
|         len = gen_int_ptr(n_len, 2);
 | |
| 
 | |
|         ret_val = xmlStringCurrentChar(ctxt, (const xmlChar *)cur, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
 | |
|         des_int_ptr(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStringCurrentChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStringDecodeEntities(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * str; /* the input string */
 | |
|     int n_str;
 | |
|     int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
 | |
|     int n_what;
 | |
|     xmlChar end; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end;
 | |
|     xmlChar end2; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end2;
 | |
|     xmlChar end3; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end3;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_what = 0;n_what < gen_nb_int;n_what++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
 | |
|     for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
 | |
|     for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
|         what = gen_int(n_what, 2);
 | |
|         end = gen_xmlChar(n_end, 3);
 | |
|         end2 = gen_xmlChar(n_end2, 4);
 | |
|         end3 = gen_xmlChar(n_end3, 5);
 | |
| 
 | |
|         ret_val = xmlStringDecodeEntities(ctxt, (const xmlChar *)str, what, end, end2, end3);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         des_int(n_what, what, 2);
 | |
|         des_xmlChar(n_end, end, 3);
 | |
|         des_xmlChar(n_end2, end2, 4);
 | |
|         des_xmlChar(n_end3, end3, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStringDecodeEntities",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_what);
 | |
|             printf(" %d", n_end);
 | |
|             printf(" %d", n_end2);
 | |
|             printf(" %d", n_end3);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStringLenDecodeEntities(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the parser context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * str; /* the input string */
 | |
|     int n_str;
 | |
|     int len; /* the string length */
 | |
|     int n_len;
 | |
|     int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
 | |
|     int n_what;
 | |
|     xmlChar end; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end;
 | |
|     xmlChar end2; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end2;
 | |
|     xmlChar end3; /* an end marker xmlChar, 0 if none */
 | |
|     int n_end3;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|     for (n_what = 0;n_what < gen_nb_int;n_what++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
 | |
|     for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
 | |
|     for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         what = gen_int(n_what, 3);
 | |
|         end = gen_xmlChar(n_end, 4);
 | |
|         end2 = gen_xmlChar(n_end2, 5);
 | |
|         end3 = gen_xmlChar(n_end3, 6);
 | |
|         if ((str != NULL) &&
 | |
|             (len > (int) strlen((const char *) str) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         des_int(n_what, what, 3);
 | |
|         des_xmlChar(n_end, end, 4);
 | |
|         des_xmlChar(n_end2, end2, 5);
 | |
|         des_xmlChar(n_end3, end3, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStringLenDecodeEntities",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_len);
 | |
|             printf(" %d", n_what);
 | |
|             printf(" %d", n_end);
 | |
|             printf(" %d", n_end2);
 | |
|             printf(" %d", n_end3);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSwitchEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the parser context */
 | |
|     int n_ctxt;
 | |
|     xmlCharEncoding enc; /* the encoding value (number) */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 1);
 | |
| 
 | |
|         ret_val = xmlSwitchEncoding(ctxt, enc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlCharEncoding(n_enc, enc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSwitchEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSwitchInputEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputPtr input; /* the input stream */
 | |
|     int n_input;
 | |
|     xmlCharEncodingHandlerPtr handler; /* the encoding handler */
 | |
|     int n_handler;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         input = gen_xmlParserInputPtr(n_input, 1);
 | |
|         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 2);
 | |
| 
 | |
|         ret_val = xmlSwitchInputEncoding(ctxt, input, handler);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputPtr(n_input, input, 1);
 | |
|         des_xmlCharEncodingHandlerPtr(n_handler, handler, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSwitchInputEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_input);
 | |
|             printf(" %d", n_handler);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSwitchToEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* the parser context */
 | |
|     int n_ctxt;
 | |
|     xmlCharEncodingHandlerPtr handler; /* the encoding handler */
 | |
|     int n_handler;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 1);
 | |
| 
 | |
|         ret_val = xmlSwitchToEncoding(ctxt, handler);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlCharEncodingHandlerPtr(n_handler, handler, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSwitchToEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_handler);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_parserInternals(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n");
 | |
|     test_ret += test_htmlCreateFileParserCtxt();
 | |
|     test_ret += test_htmlInitAutoClose();
 | |
|     test_ret += test_inputPop();
 | |
|     test_ret += test_inputPush();
 | |
|     test_ret += test_namePop();
 | |
|     test_ret += test_namePush();
 | |
|     test_ret += test_nodePop();
 | |
|     test_ret += test_nodePush();
 | |
|     test_ret += test_xmlCheckLanguageID();
 | |
|     test_ret += test_xmlCopyChar();
 | |
|     test_ret += test_xmlCopyCharMultiByte();
 | |
|     test_ret += test_xmlCreateEntityParserCtxt();
 | |
|     test_ret += test_xmlCreateFileParserCtxt();
 | |
|     test_ret += test_xmlCreateMemoryParserCtxt();
 | |
|     test_ret += test_xmlCreateURLParserCtxt();
 | |
|     test_ret += test_xmlCurrentChar();
 | |
|     test_ret += test_xmlErrMemory();
 | |
|     test_ret += test_xmlIsLetter();
 | |
|     test_ret += test_xmlNewEntityInputStream();
 | |
|     test_ret += test_xmlNewInputFromFile();
 | |
|     test_ret += test_xmlNewInputStream();
 | |
|     test_ret += test_xmlNewStringInputStream();
 | |
|     test_ret += test_xmlNextChar();
 | |
|     test_ret += test_xmlParserInputShrink();
 | |
|     test_ret += test_xmlPopInput();
 | |
|     test_ret += test_xmlPushInput();
 | |
|     test_ret += test_xmlSetEntityReferenceFunc();
 | |
|     test_ret += test_xmlSplitQName();
 | |
|     test_ret += test_xmlStringCurrentChar();
 | |
|     test_ret += test_xmlStringDecodeEntities();
 | |
|     test_ret += test_xmlStringLenDecodeEntities();
 | |
|     test_ret += test_xmlSwitchEncoding();
 | |
|     test_ret += test_xmlSwitchInputEncoding();
 | |
|     test_ret += test_xmlSwitchToEncoding();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module parserInternals: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlPatternFromRoot(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlPatternPtr comp; /* the precompiled pattern */
 | |
|     int n_comp;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlPatternPtr(n_comp, 0);
 | |
| 
 | |
|         ret_val = xmlPatternFromRoot(comp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlPatternPtr(n_comp, comp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPatternFromRoot",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatternGetStreamCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatternMatch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlPatternPtr comp; /* the precompiled pattern */
 | |
|     int n_comp;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlPatternPtr(n_comp, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlPatternMatch(comp, node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlPatternPtr(n_comp, comp, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPatternMatch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatternMaxDepth(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlPatternPtr comp; /* the precompiled pattern */
 | |
|     int n_comp;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlPatternPtr(n_comp, 0);
 | |
| 
 | |
|         ret_val = xmlPatternMaxDepth(comp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlPatternPtr(n_comp, comp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPatternMaxDepth",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatternMinDepth(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlPatternPtr comp; /* the precompiled pattern */
 | |
|     int n_comp;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlPatternPtr(n_comp, 0);
 | |
| 
 | |
|         ret_val = xmlPatternMinDepth(comp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlPatternPtr(n_comp, comp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPatternMinDepth",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatternStreamable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlPatternPtr comp; /* the precompiled pattern */
 | |
|     int n_comp;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlPatternPtr(n_comp, 0);
 | |
| 
 | |
|         ret_val = xmlPatternStreamable(comp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlPatternPtr(n_comp, comp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPatternStreamable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPatterncompile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_PATTERN_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlStreamCtxtPtr 1
 | |
| #define gen_xmlStreamCtxtPtr(no, nr) NULL
 | |
| #define des_xmlStreamCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStreamPop(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlStreamCtxtPtr stream; /* the stream context */
 | |
|     int n_stream;
 | |
| 
 | |
|     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
 | |
| 
 | |
|         ret_val = xmlStreamPop(stream);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlStreamCtxtPtr(n_stream, stream, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStreamPop",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_stream);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStreamPush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlStreamCtxtPtr stream; /* the stream context */
 | |
|     int n_stream;
 | |
|     xmlChar * name; /* the current name */
 | |
|     int n_name;
 | |
|     xmlChar * ns; /* the namespace name */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ns = gen_const_xmlChar_ptr(n_ns, 2);
 | |
| 
 | |
|         ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlStreamCtxtPtr(n_stream, stream, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStreamPush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_stream);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStreamPushAttr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlStreamCtxtPtr stream; /* the stream context */
 | |
|     int n_stream;
 | |
|     xmlChar * name; /* the current name */
 | |
|     int n_name;
 | |
|     xmlChar * ns; /* the namespace name */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ns = gen_const_xmlChar_ptr(n_ns, 2);
 | |
| 
 | |
|         ret_val = xmlStreamPushAttr(stream, (const xmlChar *)name, (const xmlChar *)ns);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlStreamCtxtPtr(n_stream, stream, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStreamPushAttr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_stream);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStreamPushNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlStreamCtxtPtr stream; /* the stream context */
 | |
|     int n_stream;
 | |
|     xmlChar * name; /* the current name */
 | |
|     int n_name;
 | |
|     xmlChar * ns; /* the namespace name */
 | |
|     int n_ns;
 | |
|     int nodeType; /* the type of the node being pushed */
 | |
|     int n_nodeType;
 | |
| 
 | |
|     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
 | |
|     for (n_nodeType = 0;n_nodeType < gen_nb_int;n_nodeType++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ns = gen_const_xmlChar_ptr(n_ns, 2);
 | |
|         nodeType = gen_int(n_nodeType, 3);
 | |
| 
 | |
|         ret_val = xmlStreamPushNode(stream, (const xmlChar *)name, (const xmlChar *)ns, nodeType);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlStreamCtxtPtr(n_stream, stream, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
 | |
|         des_int(n_nodeType, nodeType, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStreamPushNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_stream);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_nodeType);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStreamWantsAnyNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_PATTERN_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlStreamCtxtPtr streamCtxt; /* the stream context */
 | |
|     int n_streamCtxt;
 | |
| 
 | |
|     for (n_streamCtxt = 0;n_streamCtxt < gen_nb_xmlStreamCtxtPtr;n_streamCtxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         streamCtxt = gen_xmlStreamCtxtPtr(n_streamCtxt, 0);
 | |
| 
 | |
|         ret_val = xmlStreamWantsAnyNode(streamCtxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlStreamCtxtPtr(n_streamCtxt, streamCtxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStreamWantsAnyNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_streamCtxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_pattern(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing pattern : 10 of 15 functions ...\n");
 | |
|     test_ret += test_xmlPatternFromRoot();
 | |
|     test_ret += test_xmlPatternGetStreamCtxt();
 | |
|     test_ret += test_xmlPatternMatch();
 | |
|     test_ret += test_xmlPatternMaxDepth();
 | |
|     test_ret += test_xmlPatternMinDepth();
 | |
|     test_ret += test_xmlPatternStreamable();
 | |
|     test_ret += test_xmlPatterncompile();
 | |
|     test_ret += test_xmlStreamPop();
 | |
|     test_ret += test_xmlStreamPush();
 | |
|     test_ret += test_xmlStreamPushAttr();
 | |
|     test_ret += test_xmlStreamPushNode();
 | |
|     test_ret += test_xmlStreamWantsAnyNode();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module pattern: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRelaxNGPtr 1
 | |
| #define gen_xmlRelaxNGPtr(no, nr) NULL
 | |
| #define des_xmlRelaxNGPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the file output */
 | |
|     int n_output;
 | |
|     xmlRelaxNGPtr schema; /* a schema structure */
 | |
|     int n_schema;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         schema = gen_xmlRelaxNGPtr(n_schema, 1);
 | |
| 
 | |
|         xmlRelaxNGDump(output, schema);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlRelaxNGPtr(n_schema, schema, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_schema);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGDumpTree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the file output */
 | |
|     int n_output;
 | |
|     xmlRelaxNGPtr schema; /* a schema structure */
 | |
|     int n_schema;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         schema = gen_xmlRelaxNGPtr(n_schema, 1);
 | |
| 
 | |
|         xmlRelaxNGDumpTree(output, schema);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlRelaxNGPtr(n_schema, schema, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGDumpTree",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_schema);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRelaxNGParserCtxtPtr 1
 | |
| #define gen_xmlRelaxNGParserCtxtPtr(no, nr) NULL
 | |
| #define des_xmlRelaxNGParserCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1
 | |
| #define gen_xmlRelaxNGValidityErrorFunc_ptr(no, nr) NULL
 | |
| #define des_xmlRelaxNGValidityErrorFunc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1
 | |
| #define gen_xmlRelaxNGValidityWarningFunc_ptr(no, nr) NULL
 | |
| #define des_xmlRelaxNGValidityWarningFunc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGGetParserErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGParserCtxtPtr ctxt; /* a Relax-NG validation context */
 | |
|     int n_ctxt;
 | |
|     xmlRelaxNGValidityErrorFunc * err; /* the error callback result */
 | |
|     int n_err;
 | |
|     xmlRelaxNGValidityWarningFunc * warn; /* the warning callback result */
 | |
|     int n_warn;
 | |
|     void ** ctx; /* contextual data for the callbacks result */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
 | |
|     for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
 | |
|         err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
 | |
|         warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
 | |
|         ctx = gen_void_ptr_ptr(n_ctx, 3);
 | |
| 
 | |
|         ret_val = xmlRelaxNGGetParserErrors(ctxt, err, warn, ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
 | |
|         des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
 | |
|         des_void_ptr_ptr(n_ctx, ctx, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGGetParserErrors",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_err);
 | |
|             printf(" %d", n_warn);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRelaxNGValidCtxtPtr 1
 | |
| #define gen_xmlRelaxNGValidCtxtPtr(no, nr) NULL
 | |
| #define des_xmlRelaxNGValidCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGGetValidErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
 | |
|     int n_ctxt;
 | |
|     xmlRelaxNGValidityErrorFunc * err; /* the error function result */
 | |
|     int n_err;
 | |
|     xmlRelaxNGValidityWarningFunc * warn; /* the warning function result */
 | |
|     int n_warn;
 | |
|     void ** ctx; /* the functions context result */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
 | |
|     for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
 | |
|         warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
 | |
|         ctx = gen_void_ptr_ptr(n_ctx, 3);
 | |
| 
 | |
|         ret_val = xmlRelaxNGGetValidErrors(ctxt, err, warn, ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
 | |
|         des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
 | |
|         des_void_ptr_ptr(n_ctx, ctx, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGGetValidErrors",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_err);
 | |
|             printf(" %d", n_warn);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGInitTypes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlRelaxNGInitTypes();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGInitTypes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGNewDocParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlRelaxNGParserCtxtPtr ret_val;
 | |
|     xmlDocPtr doc; /* a preparsed document tree */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlRelaxNGNewDocParserCtxt(doc);
 | |
|         desret_xmlRelaxNGParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGNewDocParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGNewMemParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlRelaxNGParserCtxtPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array containing the schemas */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
 | |
|         desret_xmlRelaxNGParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGNewMemParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGNewParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlRelaxNGParserCtxtPtr ret_val;
 | |
|     char * URL; /* the location of the schema */
 | |
|     int n_URL;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_const_char_ptr(n_URL, 0);
 | |
| 
 | |
|         ret_val = xmlRelaxNGNewParserCtxt((const char *)URL);
 | |
|         desret_xmlRelaxNGParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_URL, (const char *)URL, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGNewParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGNewValidCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGParse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGSetParserErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGSetParserStructuredErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGSetValidErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGSetValidStructuredErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGValidateDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a parsed document tree */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlRelaxNGValidateDoc(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGValidateDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGValidateFullElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlRelaxNGValidateFullElement(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGValidateFullElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGValidatePopElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlRelaxNGValidatePopElement(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGValidatePopElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGValidatePushCData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * data; /* some character data read */
 | |
|     int n_data;
 | |
|     int len; /* the length of the data */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         data = gen_const_xmlChar_ptr(n_data, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((data != NULL) &&
 | |
|             (len > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGValidatePushCData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_data);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxNGValidatePushElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlRelaxNGValidatePushElement(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxNGValidatePushElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRelaxParserSetFlag(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRelaxNGParserCtxtPtr ctxt; /* a RelaxNG parser context */
 | |
|     int n_ctxt;
 | |
|     int flags; /* a set of flags values */
 | |
|     int n_flags;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
| 
 | |
|         ret_val = xmlRelaxParserSetFlag(ctxt, flags);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRelaxParserSetFlag",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_flags);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_relaxng(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing relaxng : 14 of 24 functions ...\n");
 | |
|     test_ret += test_xmlRelaxNGDump();
 | |
|     test_ret += test_xmlRelaxNGDumpTree();
 | |
|     test_ret += test_xmlRelaxNGGetParserErrors();
 | |
|     test_ret += test_xmlRelaxNGGetValidErrors();
 | |
|     test_ret += test_xmlRelaxNGInitTypes();
 | |
|     test_ret += test_xmlRelaxNGNewDocParserCtxt();
 | |
|     test_ret += test_xmlRelaxNGNewMemParserCtxt();
 | |
|     test_ret += test_xmlRelaxNGNewParserCtxt();
 | |
|     test_ret += test_xmlRelaxNGNewValidCtxt();
 | |
|     test_ret += test_xmlRelaxNGParse();
 | |
|     test_ret += test_xmlRelaxNGSetParserErrors();
 | |
|     test_ret += test_xmlRelaxNGSetParserStructuredErrors();
 | |
|     test_ret += test_xmlRelaxNGSetValidErrors();
 | |
|     test_ret += test_xmlRelaxNGSetValidStructuredErrors();
 | |
|     test_ret += test_xmlRelaxNGValidateDoc();
 | |
|     test_ret += test_xmlRelaxNGValidateFullElement();
 | |
|     test_ret += test_xmlRelaxNGValidatePopElement();
 | |
|     test_ret += test_xmlRelaxNGValidatePushCData();
 | |
|     test_ret += test_xmlRelaxNGValidatePushElement();
 | |
|     test_ret += test_xmlRelaxParserSetFlag();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module relaxng: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| static int
 | |
| test_schemasInternals(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing schemasInternals : 0 of 2 functions ...\n");
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module schemasInternals: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronNewDocParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronNewMemParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronNewParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronNewValidCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronParse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronSetValidStructuredErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMATRON_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchematronValidCtxtPtr 1
 | |
| #define gen_xmlSchematronValidCtxtPtr(no, nr) NULL
 | |
| #define des_xmlSchematronValidCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchematronValidateDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMATRON_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr instance; /* the document instance tree */
 | |
|     int n_instance;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_instance = 0;n_instance < gen_nb_xmlDocPtr;n_instance++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchematronValidCtxtPtr(n_ctxt, 0);
 | |
|         instance = gen_xmlDocPtr(n_instance, 1);
 | |
| 
 | |
|         ret_val = xmlSchematronValidateDoc(ctxt, instance);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchematronValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_instance, instance, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchematronValidateDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_instance);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_schematron(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing schematron : 1 of 10 functions ...\n");
 | |
|     test_ret += test_xmlSchematronNewDocParserCtxt();
 | |
|     test_ret += test_xmlSchematronNewMemParserCtxt();
 | |
|     test_ret += test_xmlSchematronNewParserCtxt();
 | |
|     test_ret += test_xmlSchematronNewValidCtxt();
 | |
|     test_ret += test_xmlSchematronParse();
 | |
|     test_ret += test_xmlSchematronSetValidStructuredErrors();
 | |
|     test_ret += test_xmlSchematronValidateDoc();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module schematron: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlAddChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
|     xmlNodePtr cur; /* the child node */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
|         cur = gen_xmlNodePtr_in(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlAddChild(parent, cur);
 | |
|         if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         des_xmlNodePtr_in(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddChildList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
|     xmlNodePtr cur; /* the first node in the list */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
|         cur = gen_xmlNodePtr_in(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlAddChildList(parent, cur);
 | |
|         if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         des_xmlNodePtr_in(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddChildList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddNextSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr cur; /* the child node */
 | |
|     int n_cur;
 | |
|     xmlNodePtr elem; /* the new node */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         elem = gen_xmlNodePtr_in(n_elem, 1);
 | |
| 
 | |
|         ret_val = xmlAddNextSibling(cur, elem);
 | |
|         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr_in(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddNextSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddPrevSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr cur; /* the child node */
 | |
|     int n_cur;
 | |
|     xmlNodePtr elem; /* the new node */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         elem = gen_xmlNodePtr_in(n_elem, 1);
 | |
| 
 | |
|         ret_val = xmlAddPrevSibling(cur, elem);
 | |
|         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr_in(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddPrevSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr cur; /* the child node */
 | |
|     int n_cur;
 | |
|     xmlNodePtr elem; /* the new node */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         elem = gen_xmlNodePtr_in(n_elem, 1);
 | |
| 
 | |
|         ret_val = xmlAddSibling(cur, elem);
 | |
|         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr_in(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAttrSerializeTxtContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlAttrPtr attr; /* the attribute node */
 | |
|     int n_attr;
 | |
|     xmlChar * string; /* the text content */
 | |
|     int n_string;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 2);
 | |
|         string = gen_const_xmlChar_ptr(n_string, 3);
 | |
| 
 | |
|         xmlAttrSerializeTxtContent(buf, doc, attr, (const xmlChar *)string);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlAttrPtr(n_attr, attr, 2);
 | |
|         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAttrSerializeTxtContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_attr);
 | |
|             printf(" %d", n_string);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlBuf_ptr 1
 | |
| #define gen_const_xmlBuf_ptr(no, nr) NULL
 | |
| #define des_const_xmlBuf_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlBufContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlBuf * buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_const_xmlBuf_ptr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_const_xmlBuf_ptr(n_buf, 0);
 | |
| 
 | |
|         ret_val = xmlBufContent((const xmlBuf *)buf);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlBuf_ptr(n_buf, (const xmlBuf *)buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlBufPtr 1
 | |
| #define gen_xmlBufPtr(no, nr) NULL
 | |
| #define des_xmlBufPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlBufEnd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlBufPtr buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufPtr(n_buf, 0);
 | |
| 
 | |
|         ret_val = xmlBufEnd(buf);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufPtr(n_buf, buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufEnd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlNode_ptr 1
 | |
| #define gen_const_xmlNode_ptr(no, nr) NULL
 | |
| #define des_const_xmlNode_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlBufGetNodeContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufPtr buf; /* a buffer xmlBufPtr */
 | |
|     int n_buf;
 | |
|     xmlNode * cur; /* the node being read */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufPtr(n_buf, 0);
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlBufGetNodeContent(buf, (const xmlNode *)cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufPtr(n_buf, buf, 0);
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufGetNodeContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufNodeDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufShrink(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufUse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferAdd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer to dump */
 | |
|     int n_buf;
 | |
|     xmlChar * str; /* the #xmlChar string */
 | |
|     int n_str;
 | |
|     int len; /* the number of #xmlChar to add */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str != NULL) &&
 | |
|             (len > (int) strlen((const char *) str) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferAdd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferAddHead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer */
 | |
|     int n_buf;
 | |
|     xmlChar * str; /* the #xmlChar string */
 | |
|     int n_str;
 | |
|     int len; /* the number of #xmlChar to add */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str != NULL) &&
 | |
|             (len > (int) strlen((const char *) str) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferAddHead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferCCat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer to dump */
 | |
|     int n_buf;
 | |
|     char * str; /* the C char string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         str = gen_const_char_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlBufferCCat(buf, (const char *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_char_ptr(n_str, (const char *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferCCat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferCat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer to add to */
 | |
|     int n_buf;
 | |
|     xmlChar * str; /* the #xmlChar string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlBufferCat(buf, (const xmlChar *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferCat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_const_xmlBuffer_ptr 1
 | |
| #define gen_const_xmlBuffer_ptr(no, nr) NULL
 | |
| #define des_const_xmlBuffer_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlBufferContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlBuffer * buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_const_xmlBuffer_ptr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_const_xmlBuffer_ptr(n_buf, 0);
 | |
| 
 | |
|         ret_val = xmlBufferContent((const xmlBuffer *)buf);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlBuffer_ptr(n_buf, (const xmlBuffer *)buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferCreate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlBufferCreate();
 | |
|         desret_xmlBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferCreate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferCreateSize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferCreateStatic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferDetach(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
| 
 | |
|         ret_val = xmlBufferDetach(buf);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferDetach",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferEmpty(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
| 
 | |
|         xmlBufferEmpty(buf);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferEmpty",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferGrow(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer */
 | |
|     int n_buf;
 | |
|     unsigned int len; /* the minimum free size to allocate */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         len = gen_unsigned_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlBufferGrow(buf, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_unsigned_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferGrow",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferLength(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBuffer * buf; /* the buffer */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_const_xmlBuffer_ptr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_const_xmlBuffer_ptr(n_buf, 0);
 | |
| 
 | |
|         ret_val = xmlBufferLength((const xmlBuffer *)buf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlBuffer_ptr(n_buf, (const xmlBuffer *)buf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferLength",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferResize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer to resize */
 | |
|     int n_buf;
 | |
|     unsigned int size; /* the desired size */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_size = 0;n_size < gen_nb_unsigned_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         size = gen_unsigned_int(n_size, 1);
 | |
| 
 | |
|         ret_val = xmlBufferResize(buf, size);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_unsigned_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferResize",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferSetAllocationScheme(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the buffer to tune */
 | |
|     int n_buf;
 | |
|     xmlBufferAllocationScheme scheme; /* allocation scheme to use */
 | |
|     int n_scheme;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         scheme = gen_xmlBufferAllocationScheme(n_scheme, 1);
 | |
| 
 | |
|         xmlBufferSetAllocationScheme(buf, scheme);
 | |
|         if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlBufferAllocationScheme(n_scheme, scheme, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferSetAllocationScheme",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_scheme);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferShrink(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the buffer to dump */
 | |
|     int n_buf;
 | |
|     unsigned int len; /* the number of xmlChar to remove */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         len = gen_unsigned_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlBufferShrink(buf, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_unsigned_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferShrink",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferWriteCHAR(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer */
 | |
|     int n_buf;
 | |
|     xmlChar * string; /* the string to add */
 | |
|     int n_string;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         string = gen_const_xmlChar_ptr(n_string, 1);
 | |
| 
 | |
|         xmlBufferWriteCHAR(buf, (const xmlChar *)string);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferWriteCHAR",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_string);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferWriteChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     char * string; /* the string to add */
 | |
|     int n_string;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_char_ptr;n_string++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         string = gen_const_char_ptr(n_string, 1);
 | |
| 
 | |
|         xmlBufferWriteChar(buf, (const char *)string);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_char_ptr(n_string, (const char *)string, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferWriteChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_string);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBufferWriteQuotedString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlChar * string; /* the string to add */
 | |
|     int n_string;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         string = gen_const_xmlChar_ptr(n_string, 1);
 | |
| 
 | |
|         xmlBufferWriteQuotedString(buf, (const xmlChar *)string);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBufferWriteQuotedString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_string);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBuildQName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * ncname; /* the Name */
 | |
|     int n_ncname;
 | |
|     xmlChar * prefix; /* the prefix */
 | |
|     int n_prefix;
 | |
|     xmlChar * memory; /* preallocated memory */
 | |
|     int n_memory;
 | |
|     int len; /* preallocated memory length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ncname = 0;n_ncname < gen_nb_const_xmlChar_ptr;n_ncname++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_memory = 0;n_memory < gen_nb_xmlChar_ptr;n_memory++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ncname = gen_const_xmlChar_ptr(n_ncname, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         memory = gen_xmlChar_ptr(n_memory, 2);
 | |
|         len = gen_int(n_len, 3);
 | |
|         if ((prefix != NULL) &&
 | |
|             (len > (int) strlen((const char *) prefix) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
 | |
|         if ((ret_val != NULL) && (ret_val != ncname) &&
 | |
|               (ret_val != prefix) && (ret_val != memory))
 | |
|               xmlFree(ret_val);
 | |
| 	  ret_val = NULL;
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_ncname, (const xmlChar *)ncname, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_xmlChar_ptr(n_memory, memory, 2);
 | |
|         des_int(n_len, len, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBuildQName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ncname);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_memory);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlChildElementCount(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     unsigned long ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
| 
 | |
|         ret_val = xmlChildElementCount(parent);
 | |
|         desret_unsigned_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlChildElementCount",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     int recursive; /* if not zero do a recursive copy. */
 | |
|     int n_recursive;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_recursive = 0;n_recursive < gen_nb_int;n_recursive++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         recursive = gen_int(n_recursive, 1);
 | |
| 
 | |
|         ret_val = xmlCopyDoc(doc, recursive);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_int(n_recursive, recursive, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_recursive);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyDtd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlDtdPtr dtd; /* the dtd */
 | |
|     int n_dtd;
 | |
| 
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 0);
 | |
| 
 | |
|         ret_val = xmlCopyDtd(dtd);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyDtd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dtd);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyNamespace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNsPtr ret_val;
 | |
|     xmlNsPtr cur; /* the namespace */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNsPtr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlCopyNamespace(cur);
 | |
|         if (ret_val != NULL) xmlFreeNs(ret_val);
 | |
|         desret_xmlNsPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNsPtr(n_cur, cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyNamespace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyNamespaceList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNsPtr ret_val;
 | |
|     xmlNsPtr cur; /* the first namespace */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNsPtr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlCopyNamespaceList(cur);
 | |
|         if (ret_val != NULL) xmlFreeNsList(ret_val);
 | |
|         desret_xmlNsPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNsPtr(n_cur, cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyNamespaceList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
 | |
|     int n_extended;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         extended = gen_int(n_extended, 1);
 | |
| 
 | |
|         ret_val = xmlCopyNode(node, extended);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_int(n_extended, extended, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_extended);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr node; /* the first node in the list. */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlCopyNodeList(node);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr target; /* the element where the attribute will be grafted */
 | |
|     int n_target;
 | |
|     xmlAttrPtr cur; /* the attribute */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         target = gen_xmlNodePtr(n_target, 0);
 | |
|         cur = gen_xmlAttrPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlCopyProp(target, cur);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_target, target, 0);
 | |
|         des_xmlAttrPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_target);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyPropList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr target; /* the element where the attributes will be grafted */
 | |
|     int n_target;
 | |
|     xmlAttrPtr cur; /* the first attribute */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         target = gen_xmlNodePtr(n_target, 0);
 | |
|         cur = gen_xmlAttrPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlCopyPropList(target, cur);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_target, target, 0);
 | |
|         des_xmlAttrPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyPropList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_target);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateIntSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document pointer */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the DTD name */
 | |
|     int n_name;
 | |
|     xmlChar * ExternalID; /* the external (PUBLIC) ID */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the system ID */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
 | |
| 
 | |
|         ret_val = xmlCreateIntSubset(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCreateIntSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlDOMWrapCtxtPtr 1
 | |
| #define gen_xmlDOMWrapCtxtPtr(no, nr) NULL
 | |
| #define des_xmlDOMWrapCtxtPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDOMWrapAdoptNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr sourceDoc; /* the optional sourceDoc */
 | |
|     int n_sourceDoc;
 | |
|     xmlNodePtr node; /* the node to start with */
 | |
|     int n_node;
 | |
|     xmlDocPtr destDoc; /* the destination doc */
 | |
|     int n_destDoc;
 | |
|     xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
 | |
|     int n_destParent;
 | |
|     int options; /* option flags */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
 | |
|     for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
 | |
|     for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
 | |
|         sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         destDoc = gen_xmlDocPtr(n_destDoc, 3);
 | |
|         destParent = gen_xmlNodePtr(n_destParent, 4);
 | |
|         options = gen_int(n_options, 5);
 | |
| 
 | |
|         ret_val = xmlDOMWrapAdoptNode(ctxt, sourceDoc, node, destDoc, destParent, options);
 | |
|         if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlDocPtr(n_destDoc, destDoc, 3);
 | |
|         des_xmlNodePtr(n_destParent, destParent, 4);
 | |
|         des_int(n_options, options, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDOMWrapAdoptNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_sourceDoc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_destDoc);
 | |
|             printf(" %d", n_destParent);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDOMWrapCloneNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr sourceDoc; /* the optional sourceDoc */
 | |
|     int n_sourceDoc;
 | |
|     xmlNodePtr node; /* the node to start with */
 | |
|     int n_node;
 | |
|     xmlNodePtr * resNode; /* the clone of the given @node */
 | |
|     int n_resNode;
 | |
|     xmlDocPtr destDoc; /* the destination doc */
 | |
|     int n_destDoc;
 | |
|     xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
 | |
|     int n_destParent;
 | |
|     int deep; /* descend into child if set */
 | |
|     int n_deep;
 | |
|     int options; /* option flags */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
 | |
|     for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_resNode = 0;n_resNode < gen_nb_xmlNodePtr_ptr;n_resNode++) {
 | |
|     for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
 | |
|     for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
 | |
|     for (n_deep = 0;n_deep < gen_nb_int;n_deep++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
 | |
|         sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         resNode = gen_xmlNodePtr_ptr(n_resNode, 3);
 | |
|         destDoc = gen_xmlDocPtr(n_destDoc, 4);
 | |
|         destParent = gen_xmlNodePtr(n_destParent, 5);
 | |
|         deep = gen_int(n_deep, 6);
 | |
|         options = gen_int(n_options, 7);
 | |
| 
 | |
|         ret_val = xmlDOMWrapCloneNode(ctxt, sourceDoc, node, resNode, destDoc, destParent, deep, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_xmlNodePtr_ptr(n_resNode, resNode, 3);
 | |
|         des_xmlDocPtr(n_destDoc, destDoc, 4);
 | |
|         des_xmlNodePtr(n_destParent, destParent, 5);
 | |
|         des_int(n_deep, deep, 6);
 | |
|         des_int(n_options, options, 7);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDOMWrapCloneNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_sourceDoc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_resNode);
 | |
|             printf(" %d", n_destDoc);
 | |
|             printf(" %d", n_destParent);
 | |
|             printf(" %d", n_deep);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDOMWrapNewCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDOMWrapReconcileNamespaces(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDOMWrapCtxtPtr ctxt; /* DOM wrapper context, unused at the moment */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr elem; /* the element-node */
 | |
|     int n_elem;
 | |
|     int options; /* option flags */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
 | |
|         elem = gen_xmlNodePtr(n_elem, 1);
 | |
|         options = gen_int(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlDOMWrapReconcileNamespaces(ctxt, elem, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_elem, elem, 1);
 | |
|         des_int(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDOMWrapReconcileNamespaces",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDOMWrapRemoveNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDOMWrapCtxtPtr ctxt; /* a DOM wrapper context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* the doc */
 | |
|     int n_doc;
 | |
|     xmlNodePtr node; /* the node to be removed. */
 | |
|     int n_node;
 | |
|     int options; /* set of options, unused at the moment */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         node = gen_xmlNodePtr(n_node, 2);
 | |
|         options = gen_int(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlDOMWrapRemoveNode(ctxt, doc, node, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_node, node, 2);
 | |
|         des_int(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDOMWrapRemoveNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocCopyNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
 | |
|     int n_extended;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         extended = gen_int(n_extended, 2);
 | |
| 
 | |
|         ret_val = xmlDocCopyNode(node, doc, extended);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_int(n_extended, extended, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocCopyNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_extended);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocCopyNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the target document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr node; /* the first node in the list. */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlDocCopyNodeList(doc, node);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocCopyNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     FILE * f; /* the FILE* */
 | |
|     int n_f;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         f = gen_FILE_ptr(n_f, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlDocDump(f, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_f, f, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_f);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocDumpFormatMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     xmlChar ** mem; /* OUT: the memory pointer */
 | |
|     int n_mem;
 | |
|     int * size; /* OUT: the memory length */
 | |
|     int n_size;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlDocPtr(n_cur, 0);
 | |
|         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
 | |
|         size = gen_int_ptr(n_size, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         xmlDocDumpFormatMemory(cur, mem, size, format);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_cur, cur, 0);
 | |
|         des_xmlChar_ptr_ptr(n_mem, mem, 1);
 | |
|         des_int_ptr(n_size, size, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocDumpFormatMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocDumpFormatMemoryEnc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr out_doc; /* Document to generate XML text from */
 | |
|     int n_out_doc;
 | |
|     xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
 | |
|     int n_doc_txt_ptr;
 | |
|     int * doc_txt_len; /* Length of the generated XML text */
 | |
|     int n_doc_txt_len;
 | |
|     char * txt_encoding; /* Character encoding to use when generating XML text */
 | |
|     int n_txt_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
 | |
|     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
 | |
|     for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
 | |
|     for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out_doc = gen_xmlDocPtr(n_out_doc, 0);
 | |
|         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
 | |
|         doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
 | |
|         txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
 | |
|         format = gen_int(n_format, 4);
 | |
| 
 | |
|         xmlDocDumpFormatMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding, format);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_out_doc, out_doc, 0);
 | |
|         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
 | |
|         des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
 | |
|         des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
 | |
|         des_int(n_format, format, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocDumpFormatMemoryEnc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out_doc);
 | |
|             printf(" %d", n_doc_txt_ptr);
 | |
|             printf(" %d", n_doc_txt_len);
 | |
|             printf(" %d", n_txt_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocDumpMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     xmlChar ** mem; /* OUT: the memory pointer */
 | |
|     int n_mem;
 | |
|     int * size; /* OUT: the memory length */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlDocPtr(n_cur, 0);
 | |
|         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
 | |
|         size = gen_int_ptr(n_size, 2);
 | |
| 
 | |
|         xmlDocDumpMemory(cur, mem, size);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_cur, cur, 0);
 | |
|         des_xmlChar_ptr_ptr(n_mem, mem, 1);
 | |
|         des_int_ptr(n_size, size, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocDumpMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocDumpMemoryEnc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr out_doc; /* Document to generate XML text from */
 | |
|     int n_out_doc;
 | |
|     xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
 | |
|     int n_doc_txt_ptr;
 | |
|     int * doc_txt_len; /* Length of the generated XML text */
 | |
|     int n_doc_txt_len;
 | |
|     char * txt_encoding; /* Character encoding to use when generating XML text */
 | |
|     int n_txt_encoding;
 | |
| 
 | |
|     for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
 | |
|     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
 | |
|     for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
 | |
|     for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out_doc = gen_xmlDocPtr(n_out_doc, 0);
 | |
|         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
 | |
|         doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
 | |
|         txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
 | |
| 
 | |
|         xmlDocDumpMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_out_doc, out_doc, 0);
 | |
|         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
 | |
|         des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
 | |
|         des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocDumpMemoryEnc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out_doc);
 | |
|             printf(" %d", n_doc_txt_ptr);
 | |
|             printf(" %d", n_doc_txt_len);
 | |
|             printf(" %d", n_txt_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocFormatDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     FILE * f; /* the FILE* */
 | |
|     int n_f;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         f = gen_FILE_ptr(n_f, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         format = gen_int(n_format, 2);
 | |
| 
 | |
|         ret_val = xmlDocFormatDump(f, cur, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_f, f, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_int(n_format, format, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocFormatDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_f);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocGetRootElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlDocGetRootElement((const xmlDoc *)doc);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocGetRootElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlDocSetRootElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     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. */
 | |
|     int n_root;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_root = 0;n_root < gen_nb_xmlNodePtr_in;n_root++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         root = gen_xmlNodePtr_in(n_root, 1);
 | |
| 
 | |
|         ret_val = xmlDocSetRootElement(doc, root);
 | |
|         if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr_in(n_root, root, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDocSetRootElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_root);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlElemDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * f; /* the FILE * for the output */
 | |
|     int n_f;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         f = gen_FILE_ptr(n_f, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
| 
 | |
|         xmlElemDump(f, doc, cur);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_f, f, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlElemDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_f);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFirstElementChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
| 
 | |
|         ret_val = xmlFirstElementChild(parent);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlFirstElementChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetBufferAllocationScheme(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferAllocationScheme ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlGetBufferAllocationScheme();
 | |
|         desret_xmlBufferAllocationScheme(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetBufferAllocationScheme",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetCompressMode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlGetCompressMode();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetCompressMode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDocCompressMode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlGetDocCompressMode((const xmlDoc *)doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDocCompressMode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetIntSubset(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlDoc * doc; /* the document pointer */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlGetIntSubset((const xmlDoc *)doc);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetIntSubset",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetLastChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNode * parent; /* the parent node */
 | |
|     int n_parent;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_const_xmlNode_ptr;n_parent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_const_xmlNode_ptr(n_parent, 0);
 | |
| 
 | |
|         ret_val = xmlGetLastChild((const xmlNode *)parent);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_parent, (const xmlNode *)parent, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetLastChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetLineNo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlNode * node; /* valid node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlGetLineNo((const xmlNode *)node);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetLineNo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetNoNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetNoNsProp((const xmlNode *)node, (const xmlChar *)name);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetNoNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetNodePath(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlGetNodePath((const xmlNode *)node);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetNodePath",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetNsList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * nameSpace; /* the URI of the namespace */
 | |
|     int n_nameSpace;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
 | |
| 
 | |
|         ret_val = xmlGetNsProp((const xmlNode *)node, (const xmlChar *)name, (const xmlChar *)nameSpace);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_nameSpace);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetProp((const xmlNode *)node, (const xmlChar *)name);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHasNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * nameSpace; /* the URI of the namespace */
 | |
|     int n_nameSpace;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
 | |
| 
 | |
|         ret_val = xmlHasNsProp((const xmlNode *)node, (const xmlChar *)name, (const xmlChar *)nameSpace);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHasNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_nameSpace);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlHasProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlHasProp((const xmlNode *)node, (const xmlChar *)name);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlHasProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsBlankNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlIsBlankNode((const xmlNode *)node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsBlankNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsXHTML(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * systemID; /* the system identifier */
 | |
|     int n_systemID;
 | |
|     xmlChar * publicID; /* the public identifier */
 | |
|     int n_publicID;
 | |
| 
 | |
|     for (n_systemID = 0;n_systemID < gen_nb_const_xmlChar_ptr;n_systemID++) {
 | |
|     for (n_publicID = 0;n_publicID < gen_nb_const_xmlChar_ptr;n_publicID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         systemID = gen_const_xmlChar_ptr(n_systemID, 0);
 | |
|         publicID = gen_const_xmlChar_ptr(n_publicID, 1);
 | |
| 
 | |
|         ret_val = xmlIsXHTML((const xmlChar *)systemID, (const xmlChar *)publicID);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_systemID, (const xmlChar *)systemID, 0);
 | |
|         des_const_xmlChar_ptr(n_publicID, (const xmlChar *)publicID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsXHTML",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_systemID);
 | |
|             printf(" %d", n_publicID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlLastElementChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
| 
 | |
|         ret_val = xmlLastElementChild(parent);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlLastElementChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewCDataBlock(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * content; /* the CDATA block content content */
 | |
|     int n_content;
 | |
|     int len; /* the length of the block */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewCDataBlock",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewCharRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the char ref string, starting with # or "&# ... ;" */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlNewCharRef(doc, (const xmlChar *)name);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewCharRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
|     xmlNsPtr ns; /* a namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the name of the child */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the XML content of the child if any. */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlNewChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlChar * content; /* the comment content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         content = gen_const_xmlChar_ptr(n_content, 0);
 | |
| 
 | |
|         ret_val = xmlNewComment((const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewComment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlChar * version; /* xmlChar string giving the version of XML "1.0" */
 | |
|     int n_version;
 | |
| 
 | |
|     for (n_version = 0;n_version < gen_nb_const_xmlChar_ptr;n_version++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         version = gen_const_xmlChar_ptr(n_version, 0);
 | |
| 
 | |
|         ret_val = xmlNewDoc((const xmlChar *)version);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_version, (const xmlChar *)version, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_version);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * content; /* the comment content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlNewDocComment(doc, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocComment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocFragment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document owning the fragment */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlNewDocFragment(doc);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocFragment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNsPtr ns; /* namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the node name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the XML text content if any */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlNewDocNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocNodeEatName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNsPtr ns; /* namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the node name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the XML text content if any */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_eaten_name(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlNewDocNodeEatName(doc, ns, name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_eaten_name(n_name, name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocNodeEatName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the target document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the processing instruction name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the PI content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlNewDocPI(doc, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocPI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the name of the attribute */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the value of the attribute */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
| 
 | |
|         ret_val = xmlNewDocProp(doc, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocRawNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNsPtr ns; /* namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the node name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the text content if any */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlNewDocRawNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocRawNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocText(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * content; /* the text content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlNewDocText((const xmlDoc *)doc, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocText",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocTextLen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * content; /* the text content */
 | |
|     int n_content;
 | |
|     int len; /* the text len. */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocTextLen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDtd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDtdPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document pointer */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the DTD name */
 | |
|     int n_name;
 | |
|     xmlChar * ExternalID; /* the external ID */
 | |
|     int n_ExternalID;
 | |
|     xmlChar * SystemID; /* the system ID */
 | |
|     int n_SystemID;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
 | |
|     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
 | |
|         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
 | |
| 
 | |
|         ret_val = xmlNewDtd(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
 | |
|         desret_xmlDtdPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
 | |
|         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDtd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ExternalID);
 | |
|             printf(" %d", n_SystemID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNsPtr ns; /* namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the node name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ns = gen_xmlNsPtr(n_ns, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlNewNode(ns, (const xmlChar *)name);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNsPtr(n_ns, ns, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewNodeEatName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNsPtr ns; /* namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the node name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ns = gen_xmlNsPtr(n_ns, 0);
 | |
|         name = gen_eaten_name(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlNewNodeEatName(ns, name);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNsPtr(n_ns, ns, 0);
 | |
|         des_eaten_name(n_name, name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewNodeEatName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNsPtr ret_val;
 | |
|     xmlNodePtr node; /* the element carrying the namespace */
 | |
|     int n_node;
 | |
|     xmlChar * href; /* the URI associated */
 | |
|     int n_href;
 | |
|     xmlChar * prefix; /* the prefix for the namespace */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         href = gen_const_xmlChar_ptr(n_href, 1);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
 | |
| 
 | |
|         ret_val = xmlNewNs(node, (const xmlChar *)href, (const xmlChar *)prefix);
 | |
|         if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val);
 | |
|         desret_xmlNsPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 1);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_href);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr node; /* the holding node */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* the namespace */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the name of the attribute */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the value of the attribute */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 3);
 | |
| 
 | |
|         ret_val = xmlNewNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewNsPropEatName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr node; /* the holding node */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* the namespace */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the name of the attribute */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the value of the attribute */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_eaten_name(n_name, 2);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 3);
 | |
| 
 | |
|         ret_val = xmlNewNsPropEatName(node, ns, name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_eaten_name(n_name, name, 2);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewNsPropEatName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlChar * name; /* the processing instruction name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the PI content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlNewPI((const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewPI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr node; /* the holding node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the name of the attribute */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the value of the attribute */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
| 
 | |
|         ret_val = xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewReference(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the reference name, or the reference string with & and ; */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlNewReference((const xmlDoc *)doc, (const xmlChar *)name);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewReference",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewText(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlChar * content; /* the text content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         content = gen_const_xmlChar_ptr(n_content, 0);
 | |
| 
 | |
|         ret_val = xmlNewText((const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewText",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr parent; /* the parent node */
 | |
|     int n_parent;
 | |
|     xmlNsPtr ns; /* a namespace if any */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the name of the child */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* the text content of the child if any. */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         parent = gen_xmlNodePtr(n_parent, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlNewTextChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_parent, parent, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_parent);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextLen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlChar * content; /* the text content */
 | |
|     int n_content;
 | |
|     int len; /* the text len. */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         content = gen_const_xmlChar_ptr(n_content, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlNewTextLen((const xmlChar *)content, len);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextLen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNextElementSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr node; /* the current node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlNextElementSibling(node);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNextElementSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeAddContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being modified */
 | |
|     int n_cur;
 | |
|     xmlChar * content; /* extra content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         xmlNodeAddContent(cur, (const xmlChar *)content);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeAddContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeAddContentLen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being modified */
 | |
|     int n_cur;
 | |
|     xmlChar * content; /* extra content */
 | |
|     int n_content;
 | |
|     int len; /* the size of @content */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeAddContentLen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeBufGetContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buffer; /* a buffer */
 | |
|     int n_buffer;
 | |
|     xmlNode * cur; /* the node being read */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_xmlBufferPtr(n_buffer, 0);
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlNodeBufGetContent(buffer, (const xmlNode *)cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buffer, buffer, 0);
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeBufGetContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
|     int level; /* the imbrication level for indenting */
 | |
|     int n_level;
 | |
|     int format; /* is formatting allowed */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_level = 0;n_level < gen_nb_int;n_level++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
|         level = gen_int(n_level, 3);
 | |
|         format = gen_int(n_format, 4);
 | |
| 
 | |
|         ret_val = xmlNodeDump(buf, doc, cur, level, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         des_int(n_level, level, 3);
 | |
|         des_int(n_format, format, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_level);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeDumpOutput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr cur; /* the current node */
 | |
|     int n_cur;
 | |
|     int level; /* the imbrication level for indenting */
 | |
|     int n_level;
 | |
|     int format; /* is formatting allowed */
 | |
|     int n_format;
 | |
|     char * encoding; /* an optional encoding string */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_level = 0;n_level < gen_nb_int;n_level++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         cur = gen_xmlNodePtr(n_cur, 2);
 | |
|         level = gen_int(n_level, 3);
 | |
|         format = gen_int(n_format, 4);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 5);
 | |
| 
 | |
|         xmlNodeDumpOutput(buf, doc, cur, level, format, (const char *)encoding);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_cur, cur, 2);
 | |
|         des_int(n_level, level, 3);
 | |
|         des_int(n_format, format, 4);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeDumpOutput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_level);
 | |
|             printf(" %d", n_format);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeGetBase(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDoc * doc; /* the document the node pertains to */
 | |
|     int n_doc;
 | |
|     xmlNode * cur; /* the node being checked */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlNodeGetBase((const xmlDoc *)doc, (const xmlNode *)cur);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeGetBase",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeGetContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * cur; /* the node being read */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlNodeGetContent((const xmlNode *)cur);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeGetContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeGetLang(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNode * cur; /* the node being checked */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlNodeGetLang((const xmlNode *)cur);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeGetLang",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeGetSpacePreserve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNode * cur; /* the node being checked */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlNode_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlNode_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlNodeGetSpacePreserve((const xmlNode *)cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_cur, (const xmlNode *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeGetSpacePreserve",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeIsText(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNode * node; /* the node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_const_xmlNode_ptr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_const_xmlNode_ptr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlNodeIsText((const xmlNode *)node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlNode_ptr(n_node, (const xmlNode *)node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeIsText",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeListGetRawString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNode * list; /* a Node list */
 | |
|     int n_list;
 | |
|     int inLine; /* should we replace entity contents or show their external form */
 | |
|     int n_inLine;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_list = 0;n_list < gen_nb_const_xmlNode_ptr;n_list++) {
 | |
|     for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         list = gen_const_xmlNode_ptr(n_list, 1);
 | |
|         inLine = gen_int(n_inLine, 2);
 | |
| 
 | |
|         ret_val = xmlNodeListGetRawString((const xmlDoc *)doc, (const xmlNode *)list, inLine);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlNode_ptr(n_list, (const xmlNode *)list, 1);
 | |
|         des_int(n_inLine, inLine, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeListGetRawString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_list);
 | |
|             printf(" %d", n_inLine);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeListGetString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNode * list; /* a Node list */
 | |
|     int n_list;
 | |
|     int inLine; /* should we replace entity contents or show their external form */
 | |
|     int n_inLine;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_list = 0;n_list < gen_nb_const_xmlNode_ptr;n_list++) {
 | |
|     for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         list = gen_const_xmlNode_ptr(n_list, 1);
 | |
|         inLine = gen_int(n_inLine, 2);
 | |
| 
 | |
|         ret_val = xmlNodeListGetString(doc, (const xmlNode *)list, inLine);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlNode_ptr(n_list, (const xmlNode *)list, 1);
 | |
|         des_int(n_inLine, inLine, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeListGetString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_list);
 | |
|             printf(" %d", n_inLine);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetBase(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being changed */
 | |
|     int n_cur;
 | |
|     xmlChar * uri; /* the new base URI */
 | |
|     int n_uri;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_uri = 0;n_uri < gen_nb_const_xmlChar_ptr;n_uri++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         uri = gen_const_xmlChar_ptr(n_uri, 1);
 | |
| 
 | |
|         xmlNodeSetBase(cur, (const xmlChar *)uri);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_uri, (const xmlChar *)uri, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetBase",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_uri);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being modified */
 | |
|     int n_cur;
 | |
|     xmlChar * content; /* the new value of the content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         xmlNodeSetContent(cur, (const xmlChar *)content);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetContentLen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being modified */
 | |
|     int n_cur;
 | |
|     xmlChar * content; /* the new value of the content */
 | |
|     int n_content;
 | |
|     int len; /* the size of @content */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetContentLen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetLang(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being changed */
 | |
|     int n_cur;
 | |
|     xmlChar * lang; /* the language description */
 | |
|     int n_lang;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         lang = gen_const_xmlChar_ptr(n_lang, 1);
 | |
| 
 | |
|         xmlNodeSetLang(cur, (const xmlChar *)lang);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetLang",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_lang);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being changed */
 | |
|     int n_cur;
 | |
|     xmlChar * name; /* the new tag name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         xmlNodeSetName(cur, (const xmlChar *)name);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNodeSetSpacePreserve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr cur; /* the node being changed */
 | |
|     int n_cur;
 | |
|     int val; /* the xml:space value ("0": default, 1: "preserve") */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodePtr(n_cur, 0);
 | |
|         val = gen_int(n_val, 1);
 | |
| 
 | |
|         xmlNodeSetSpacePreserve(cur, val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_cur, cur, 0);
 | |
|         des_int(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNodeSetSpacePreserve",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPreviousElementSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr node; /* the current node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlPreviousElementSibling(node);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPreviousElementSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReconciliateNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr tree; /* a node defining the subtree to reconciliate */
 | |
|     int n_tree;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         tree = gen_xmlNodePtr(n_tree, 1);
 | |
| 
 | |
|         ret_val = xmlReconciliateNs(doc, tree);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_tree, tree, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReconciliateNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_tree);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRemoveProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlAttrPtr cur; /* an attribute */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlAttrPtr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlRemoveProp(cur);
 | |
|         cur = NULL;
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlAttrPtr(n_cur, cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRemoveProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReplaceNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr old; /* the old node */
 | |
|     int n_old;
 | |
|     xmlNodePtr cur; /* the node */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_old = 0;n_old < gen_nb_xmlNodePtr;n_old++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         old = gen_xmlNodePtr(n_old, 0);
 | |
|         cur = gen_xmlNodePtr_in(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlReplaceNode(old, cur);
 | |
|         if (cur != NULL) {
 | |
|               xmlUnlinkNode(cur);
 | |
|               xmlFreeNode(cur) ; cur = NULL ; }
 | |
|           if (old != NULL) {
 | |
|               xmlUnlinkNode(old);
 | |
|               xmlFreeNode(old) ; old = NULL ; }
 | |
| 	  ret_val = NULL;
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_old, old, 0);
 | |
|         des_xmlNodePtr_in(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReplaceNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_old);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename (or URL) */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlSaveFile(filename, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFileEnc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename (or URL) */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the name of an encoding (or NULL) */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
| 
 | |
|         ret_val = xmlSaveFileEnc(filename, cur, (const char *)encoding);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFileEnc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFileTo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlOutputBufferPtr buf; /* an output I/O buffer */
 | |
|     int n_buf;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */
 | |
|     int n_encoding;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
| 
 | |
|         ret_val = xmlSaveFileTo(buf, cur, (const char *)encoding);
 | |
|         buf = NULL;
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFileTo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFormatFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename (or URL) */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         format = gen_int(n_format, 2);
 | |
| 
 | |
|         ret_val = xmlSaveFormatFile(filename, cur, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_int(n_format, format, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFormatFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFormatFileEnc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the filename or URL to output */
 | |
|     int n_filename;
 | |
|     xmlDocPtr cur; /* the document being saved */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the name of the encoding to use or NULL. */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces be added. */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_fileoutput(n_filename, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         ret_val = xmlSaveFormatFileEnc(filename, cur, (const char *)encoding, format);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_filename, filename, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFormatFileEnc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFormatFileTo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlOutputBufferPtr buf; /* an output I/O buffer */
 | |
|     int n_buf;
 | |
|     xmlDocPtr cur; /* the document */
 | |
|     int n_cur;
 | |
|     char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */
 | |
|     int n_encoding;
 | |
|     int format; /* should formatting spaces been added */
 | |
|     int n_format;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_format = 0;n_format < gen_nb_int;n_format++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlOutputBufferPtr(n_buf, 0);
 | |
|         cur = gen_xmlDocPtr(n_cur, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         format = gen_int(n_format, 3);
 | |
| 
 | |
|         ret_val = xmlSaveFormatFileTo(buf, cur, (const char *)encoding, format);
 | |
|         buf = NULL;
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlDocPtr(n_cur, cur, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_int(n_format, format, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFormatFileTo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_format);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSearchNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNsPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr node; /* the current node */
 | |
|     int n_node;
 | |
|     xmlChar * nameSpace; /* the namespace prefix */
 | |
|     int n_nameSpace;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
 | |
| 
 | |
|         ret_val = xmlSearchNs(doc, node, (const xmlChar *)nameSpace);
 | |
|         desret_xmlNsPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSearchNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_nameSpace);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSearchNsByHref(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNsPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr node; /* the current node */
 | |
|     int n_node;
 | |
|     xmlChar * href; /* the namespace value */
 | |
|     int n_href;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         href = gen_const_xmlChar_ptr(n_href, 2);
 | |
| 
 | |
|         ret_val = xmlSearchNsByHref(doc, node, (const xmlChar *)href);
 | |
|         desret_xmlNsPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSearchNsByHref",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_href);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetBufferAllocationScheme(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlBufferAllocationScheme scheme; /* allocation method to use */
 | |
|     int n_scheme;
 | |
| 
 | |
|     for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         scheme = gen_xmlBufferAllocationScheme(n_scheme, 0);
 | |
| 
 | |
|         xmlSetBufferAllocationScheme(scheme);
 | |
|         call_tests++;
 | |
|         des_xmlBufferAllocationScheme(n_scheme, scheme, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetBufferAllocationScheme",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_scheme);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetCompressMode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int mode; /* the compression ratio */
 | |
|     int n_mode;
 | |
| 
 | |
|     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         mode = gen_int(n_mode, 0);
 | |
| 
 | |
|         xmlSetCompressMode(mode);
 | |
|         call_tests++;
 | |
|         des_int(n_mode, mode, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetCompressMode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_mode);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetDocCompressMode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     int mode; /* the compression ratio */
 | |
|     int n_mode;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         mode = gen_int(n_mode, 1);
 | |
| 
 | |
|         xmlSetDocCompressMode(doc, mode);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_int(n_mode, mode, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetDocCompressMode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_mode);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr node; /* a node in the document */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* a namespace pointer */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
| 
 | |
|         xmlSetNs(node, ns);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* the namespace definition */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the attribute value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 3);
 | |
| 
 | |
|         ret_val = xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name (a QName) */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the attribute value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
| 
 | |
|         ret_val = xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSetProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSplitQName2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * name; /* the full QName */
 | |
|     int n_name;
 | |
|     xmlChar ** prefix; /* a xmlChar ** */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
|         prefix = gen_xmlChar_ptr_ptr(n_prefix, 1);
 | |
| 
 | |
|         ret_val = xmlSplitQName2((const xmlChar *)name, prefix);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         des_xmlChar_ptr_ptr(n_prefix, prefix, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSplitQName2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSplitQName3(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlChar * name; /* the full QName */
 | |
|     int n_name;
 | |
|     int * len; /* an int * */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
|         len = gen_int_ptr(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlSplitQName3((const xmlChar *)name, len);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         des_int_ptr(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSplitQName3",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStringGetNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * value; /* the value of the attribute */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
| 
 | |
|         ret_val = xmlStringGetNodeList((const xmlDoc *)doc, (const xmlChar *)value);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStringGetNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStringLenGetNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlDoc * doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * value; /* the value of the text */
 | |
|     int n_value;
 | |
|     int len; /* the length of the string value */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_const_xmlDoc_ptr;n_doc++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_const_xmlDoc_ptr(n_doc, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((value != NULL) &&
 | |
|             (len > (int) strlen((const char *) value) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStringLenGetNodeList((const xmlDoc *)doc, (const xmlChar *)value, len);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlDoc_ptr(n_doc, (const xmlDoc *)doc, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStringLenGetNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextConcat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * content; /* the content */
 | |
|     int n_content;
 | |
|     int len; /* @content length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextConcat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextMerge(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlNodePtr first; /* the first text node */
 | |
|     int n_first;
 | |
|     xmlNodePtr second; /* the second text node being merged */
 | |
|     int n_second;
 | |
| 
 | |
|     for (n_first = 0;n_first < gen_nb_xmlNodePtr_in;n_first++) {
 | |
|     for (n_second = 0;n_second < gen_nb_xmlNodePtr_in;n_second++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         first = gen_xmlNodePtr_in(n_first, 0);
 | |
|         second = gen_xmlNodePtr_in(n_second, 1);
 | |
| 
 | |
|         ret_val = xmlTextMerge(first, second);
 | |
|         if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
 | |
|               xmlUnlinkNode(second);
 | |
|               xmlFreeNode(second) ; second = NULL ; }
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr_in(n_first, first, 0);
 | |
|         des_xmlNodePtr_in(n_second, second, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextMerge",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_first);
 | |
|             printf(" %d", n_second);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUnsetNsProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* the namespace definition */
 | |
|     int n_ns;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ns = gen_xmlNsPtr(n_ns, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
| 
 | |
|         ret_val = xmlUnsetNsProp(node, ns, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlNsPtr(n_ns, ns, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUnsetNsProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUnsetProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node; /* the node */
 | |
|     int n_node;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlUnsetProp(node, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUnsetProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNCName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #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_LEGACY_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     int space; /* allow spaces in front and end of the string */
 | |
|     int n_space;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_space = 0;n_space < gen_nb_int;n_space++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
|         space = gen_int(n_space, 1);
 | |
| 
 | |
|         ret_val = xmlValidateNCName((const xmlChar *)value, space);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         des_int(n_space, space, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNCName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_space);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNMToken(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     int space; /* allow spaces in front and end of the string */
 | |
|     int n_space;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_space = 0;n_space < gen_nb_int;n_space++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
|         space = gen_int(n_space, 1);
 | |
| 
 | |
|         ret_val = xmlValidateNMToken((const xmlChar *)value, space);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         des_int(n_space, space, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNMToken",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_space);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     int space; /* allow spaces in front and end of the string */
 | |
|     int n_space;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_space = 0;n_space < gen_nb_int;n_space++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
|         space = gen_int(n_space, 1);
 | |
| 
 | |
|         ret_val = xmlValidateName((const xmlChar *)value, space);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         des_int(n_space, space, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_space);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateQName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
| #ifdef LIBXML_TREE_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     int space; /* allow spaces in front and end of the string */
 | |
|     int n_space;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_space = 0;n_space < gen_nb_int;n_space++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
|         space = gen_int(n_space, 1);
 | |
| 
 | |
|         ret_val = xmlValidateQName((const xmlChar *)value, space);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         des_int(n_space, space, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateQName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_space);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_tree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing tree : 142 of 164 functions ...\n");
 | |
|     test_ret += test_xmlAddChild();
 | |
|     test_ret += test_xmlAddChildList();
 | |
|     test_ret += test_xmlAddNextSibling();
 | |
|     test_ret += test_xmlAddPrevSibling();
 | |
|     test_ret += test_xmlAddSibling();
 | |
|     test_ret += test_xmlAttrSerializeTxtContent();
 | |
|     test_ret += test_xmlBufContent();
 | |
|     test_ret += test_xmlBufEnd();
 | |
|     test_ret += test_xmlBufGetNodeContent();
 | |
|     test_ret += test_xmlBufNodeDump();
 | |
|     test_ret += test_xmlBufShrink();
 | |
|     test_ret += test_xmlBufUse();
 | |
|     test_ret += test_xmlBufferAdd();
 | |
|     test_ret += test_xmlBufferAddHead();
 | |
|     test_ret += test_xmlBufferCCat();
 | |
|     test_ret += test_xmlBufferCat();
 | |
|     test_ret += test_xmlBufferContent();
 | |
|     test_ret += test_xmlBufferCreate();
 | |
|     test_ret += test_xmlBufferCreateSize();
 | |
|     test_ret += test_xmlBufferCreateStatic();
 | |
|     test_ret += test_xmlBufferDetach();
 | |
|     test_ret += test_xmlBufferEmpty();
 | |
|     test_ret += test_xmlBufferGrow();
 | |
|     test_ret += test_xmlBufferLength();
 | |
|     test_ret += test_xmlBufferResize();
 | |
|     test_ret += test_xmlBufferSetAllocationScheme();
 | |
|     test_ret += test_xmlBufferShrink();
 | |
|     test_ret += test_xmlBufferWriteCHAR();
 | |
|     test_ret += test_xmlBufferWriteChar();
 | |
|     test_ret += test_xmlBufferWriteQuotedString();
 | |
|     test_ret += test_xmlBuildQName();
 | |
|     test_ret += test_xmlChildElementCount();
 | |
|     test_ret += test_xmlCopyDoc();
 | |
|     test_ret += test_xmlCopyDtd();
 | |
|     test_ret += test_xmlCopyNamespace();
 | |
|     test_ret += test_xmlCopyNamespaceList();
 | |
|     test_ret += test_xmlCopyNode();
 | |
|     test_ret += test_xmlCopyNodeList();
 | |
|     test_ret += test_xmlCopyProp();
 | |
|     test_ret += test_xmlCopyPropList();
 | |
|     test_ret += test_xmlCreateIntSubset();
 | |
|     test_ret += test_xmlDOMWrapAdoptNode();
 | |
|     test_ret += test_xmlDOMWrapCloneNode();
 | |
|     test_ret += test_xmlDOMWrapNewCtxt();
 | |
|     test_ret += test_xmlDOMWrapReconcileNamespaces();
 | |
|     test_ret += test_xmlDOMWrapRemoveNode();
 | |
|     test_ret += test_xmlDocCopyNode();
 | |
|     test_ret += test_xmlDocCopyNodeList();
 | |
|     test_ret += test_xmlDocDump();
 | |
|     test_ret += test_xmlDocDumpFormatMemory();
 | |
|     test_ret += test_xmlDocDumpFormatMemoryEnc();
 | |
|     test_ret += test_xmlDocDumpMemory();
 | |
|     test_ret += test_xmlDocDumpMemoryEnc();
 | |
|     test_ret += test_xmlDocFormatDump();
 | |
|     test_ret += test_xmlDocGetRootElement();
 | |
|     test_ret += test_xmlDocSetRootElement();
 | |
|     test_ret += test_xmlElemDump();
 | |
|     test_ret += test_xmlFirstElementChild();
 | |
|     test_ret += test_xmlGetBufferAllocationScheme();
 | |
|     test_ret += test_xmlGetCompressMode();
 | |
|     test_ret += test_xmlGetDocCompressMode();
 | |
|     test_ret += test_xmlGetIntSubset();
 | |
|     test_ret += test_xmlGetLastChild();
 | |
|     test_ret += test_xmlGetLineNo();
 | |
|     test_ret += test_xmlGetNoNsProp();
 | |
|     test_ret += test_xmlGetNodePath();
 | |
|     test_ret += test_xmlGetNsList();
 | |
|     test_ret += test_xmlGetNsProp();
 | |
|     test_ret += test_xmlGetProp();
 | |
|     test_ret += test_xmlHasNsProp();
 | |
|     test_ret += test_xmlHasProp();
 | |
|     test_ret += test_xmlIsBlankNode();
 | |
|     test_ret += test_xmlIsXHTML();
 | |
|     test_ret += test_xmlLastElementChild();
 | |
|     test_ret += test_xmlNewCDataBlock();
 | |
|     test_ret += test_xmlNewCharRef();
 | |
|     test_ret += test_xmlNewChild();
 | |
|     test_ret += test_xmlNewComment();
 | |
|     test_ret += test_xmlNewDoc();
 | |
|     test_ret += test_xmlNewDocComment();
 | |
|     test_ret += test_xmlNewDocFragment();
 | |
|     test_ret += test_xmlNewDocNode();
 | |
|     test_ret += test_xmlNewDocNodeEatName();
 | |
|     test_ret += test_xmlNewDocPI();
 | |
|     test_ret += test_xmlNewDocProp();
 | |
|     test_ret += test_xmlNewDocRawNode();
 | |
|     test_ret += test_xmlNewDocText();
 | |
|     test_ret += test_xmlNewDocTextLen();
 | |
|     test_ret += test_xmlNewDtd();
 | |
|     test_ret += test_xmlNewNode();
 | |
|     test_ret += test_xmlNewNodeEatName();
 | |
|     test_ret += test_xmlNewNs();
 | |
|     test_ret += test_xmlNewNsProp();
 | |
|     test_ret += test_xmlNewNsPropEatName();
 | |
|     test_ret += test_xmlNewPI();
 | |
|     test_ret += test_xmlNewProp();
 | |
|     test_ret += test_xmlNewReference();
 | |
|     test_ret += test_xmlNewText();
 | |
|     test_ret += test_xmlNewTextChild();
 | |
|     test_ret += test_xmlNewTextLen();
 | |
|     test_ret += test_xmlNextElementSibling();
 | |
|     test_ret += test_xmlNodeAddContent();
 | |
|     test_ret += test_xmlNodeAddContentLen();
 | |
|     test_ret += test_xmlNodeBufGetContent();
 | |
|     test_ret += test_xmlNodeDump();
 | |
|     test_ret += test_xmlNodeDumpOutput();
 | |
|     test_ret += test_xmlNodeGetBase();
 | |
|     test_ret += test_xmlNodeGetContent();
 | |
|     test_ret += test_xmlNodeGetLang();
 | |
|     test_ret += test_xmlNodeGetSpacePreserve();
 | |
|     test_ret += test_xmlNodeIsText();
 | |
|     test_ret += test_xmlNodeListGetRawString();
 | |
|     test_ret += test_xmlNodeListGetString();
 | |
|     test_ret += test_xmlNodeSetBase();
 | |
|     test_ret += test_xmlNodeSetContent();
 | |
|     test_ret += test_xmlNodeSetContentLen();
 | |
|     test_ret += test_xmlNodeSetLang();
 | |
|     test_ret += test_xmlNodeSetName();
 | |
|     test_ret += test_xmlNodeSetSpacePreserve();
 | |
|     test_ret += test_xmlPreviousElementSibling();
 | |
|     test_ret += test_xmlReconciliateNs();
 | |
|     test_ret += test_xmlRemoveProp();
 | |
|     test_ret += test_xmlReplaceNode();
 | |
|     test_ret += test_xmlSaveFile();
 | |
|     test_ret += test_xmlSaveFileEnc();
 | |
|     test_ret += test_xmlSaveFileTo();
 | |
|     test_ret += test_xmlSaveFormatFile();
 | |
|     test_ret += test_xmlSaveFormatFileEnc();
 | |
|     test_ret += test_xmlSaveFormatFileTo();
 | |
|     test_ret += test_xmlSearchNs();
 | |
|     test_ret += test_xmlSearchNsByHref();
 | |
|     test_ret += test_xmlSetBufferAllocationScheme();
 | |
|     test_ret += test_xmlSetCompressMode();
 | |
|     test_ret += test_xmlSetDocCompressMode();
 | |
|     test_ret += test_xmlSetNs();
 | |
|     test_ret += test_xmlSetNsProp();
 | |
|     test_ret += test_xmlSetProp();
 | |
|     test_ret += test_xmlSplitQName2();
 | |
|     test_ret += test_xmlSplitQName3();
 | |
|     test_ret += test_xmlStringGetNodeList();
 | |
|     test_ret += test_xmlStringLenGetNodeList();
 | |
|     test_ret += test_xmlTextConcat();
 | |
|     test_ret += test_xmlTextMerge();
 | |
|     test_ret += test_xmlUnsetNsProp();
 | |
|     test_ret += test_xmlUnsetProp();
 | |
|     test_ret += test_xmlValidateNCName();
 | |
|     test_ret += test_xmlValidateNMToken();
 | |
|     test_ret += test_xmlValidateName();
 | |
|     test_ret += test_xmlValidateQName();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module tree: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlBuildRelativeURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * URI; /* the URI reference under consideration */
 | |
|     int n_URI;
 | |
|     xmlChar * base; /* the base value */
 | |
|     int n_base;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 0);
 | |
|         base = gen_const_xmlChar_ptr(n_base, 1);
 | |
| 
 | |
|         ret_val = xmlBuildRelativeURI((const xmlChar *)URI, (const xmlChar *)base);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
 | |
|         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBuildRelativeURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_base);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlBuildURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * URI; /* the URI instance found in the document */
 | |
|     int n_URI;
 | |
|     xmlChar * base; /* the base value */
 | |
|     int n_base;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
 | |
|     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_const_xmlChar_ptr(n_URI, 0);
 | |
|         base = gen_const_xmlChar_ptr(n_base, 1);
 | |
| 
 | |
|         ret_val = xmlBuildURI((const xmlChar *)URI, (const xmlChar *)base);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
 | |
|         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlBuildURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_base);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCanonicPath(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * path; /* the resource locator in a filesystem notation */
 | |
|     int n_path;
 | |
| 
 | |
|     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         path = gen_const_xmlChar_ptr(n_path, 0);
 | |
| 
 | |
|         ret_val = xmlCanonicPath((const xmlChar *)path);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCanonicPath",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_path);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNormalizeURIPath(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     char * path; /* pointer to the path string */
 | |
|     int n_path;
 | |
| 
 | |
|     for (n_path = 0;n_path < gen_nb_char_ptr;n_path++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         path = gen_char_ptr(n_path, 0);
 | |
| 
 | |
|         ret_val = xmlNormalizeURIPath(path);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_char_ptr(n_path, path, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNormalizeURIPath",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_path);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParseURIRaw(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlURIPtr 1
 | |
| #define gen_xmlURIPtr(no, nr) NULL
 | |
| #define des_xmlURIPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlParseURIReference(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlURIPtr uri; /* pointer to an URI structure */
 | |
|     int n_uri;
 | |
|     char * str; /* the string to analyze */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         uri = gen_xmlURIPtr(n_uri, 0);
 | |
|         str = gen_const_char_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlParseURIReference(uri, (const char *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlURIPtr(n_uri, uri, 0);
 | |
|         des_const_char_ptr(n_str, (const char *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParseURIReference",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_uri);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPathToURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * path; /* the resource locator in a filesystem notation */
 | |
|     int n_path;
 | |
| 
 | |
|     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         path = gen_const_xmlChar_ptr(n_path, 0);
 | |
| 
 | |
|         ret_val = xmlPathToURI((const xmlChar *)path);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPathToURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_path);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPrintURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     FILE * stream; /* a FILE* for the output */
 | |
|     int n_stream;
 | |
|     xmlURIPtr uri; /* pointer to an xmlURI */
 | |
|     int n_uri;
 | |
| 
 | |
|     for (n_stream = 0;n_stream < gen_nb_FILE_ptr;n_stream++) {
 | |
|     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         stream = gen_FILE_ptr(n_stream, 0);
 | |
|         uri = gen_xmlURIPtr(n_uri, 1);
 | |
| 
 | |
|         xmlPrintURI(stream, uri);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_stream, stream, 0);
 | |
|         des_xmlURIPtr(n_uri, uri, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPrintURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_stream);
 | |
|             printf(" %d", n_uri);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveUri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlURIPtr uri; /* pointer to an xmlURI */
 | |
|     int n_uri;
 | |
| 
 | |
|     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         uri = gen_xmlURIPtr(n_uri, 0);
 | |
| 
 | |
|         ret_val = xmlSaveUri(uri);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlURIPtr(n_uri, uri, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveUri",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_uri);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlURIEscape(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * str; /* the string of the URI to escape */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
| 
 | |
|         ret_val = xmlURIEscape((const xmlChar *)str);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlURIEscape",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlURIEscapeStr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * str; /* string to escape */
 | |
|     int n_str;
 | |
|     xmlChar * list; /* exception list string of chars not to escape */
 | |
|     int n_list;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_list = 0;n_list < gen_nb_const_xmlChar_ptr;n_list++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         list = gen_const_xmlChar_ptr(n_list, 1);
 | |
| 
 | |
|         ret_val = xmlURIEscapeStr((const xmlChar *)str, (const xmlChar *)list);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_const_xmlChar_ptr(n_list, (const xmlChar *)list, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlURIEscapeStr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_list);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlURIUnescapeString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_uri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n");
 | |
|     test_ret += test_xmlBuildRelativeURI();
 | |
|     test_ret += test_xmlBuildURI();
 | |
|     test_ret += test_xmlCanonicPath();
 | |
|     test_ret += test_xmlCreateURI();
 | |
|     test_ret += test_xmlNormalizeURIPath();
 | |
|     test_ret += test_xmlParseURI();
 | |
|     test_ret += test_xmlParseURIRaw();
 | |
|     test_ret += test_xmlParseURIReference();
 | |
|     test_ret += test_xmlPathToURI();
 | |
|     test_ret += test_xmlPrintURI();
 | |
|     test_ret += test_xmlSaveUri();
 | |
|     test_ret += test_xmlURIEscape();
 | |
|     test_ret += test_xmlURIEscapeStr();
 | |
|     test_ret += test_xmlURIUnescapeString();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module uri: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlAddAttributeDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttributePtr ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDtdPtr dtd; /* pointer to the DTD */
 | |
|     int n_dtd;
 | |
|     xmlChar * elem; /* the element name */
 | |
|     int n_elem;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * ns; /* the attribute namespace prefix */
 | |
|     int n_ns;
 | |
|     xmlAttributeType type; /* the attribute type */
 | |
|     int n_type;
 | |
|     xmlAttributeDefault def; /* the attribute default type */
 | |
|     int n_def;
 | |
|     xmlChar * defaultValue; /* the attribute default value */
 | |
|     int n_defaultValue;
 | |
|     xmlEnumerationPtr tree; /* if it's an enumeration, the associated list */
 | |
|     int n_tree;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
 | |
|     for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
 | |
|     for (n_def = 0;n_def < gen_nb_xmlAttributeDefault;n_def++) {
 | |
|     for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 1);
 | |
|         elem = gen_const_xmlChar_ptr(n_elem, 2);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 3);
 | |
|         ns = gen_const_xmlChar_ptr(n_ns, 4);
 | |
|         type = gen_xmlAttributeType(n_type, 5);
 | |
|         def = gen_xmlAttributeDefault(n_def, 6);
 | |
|         defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 7);
 | |
|         tree = gen_xmlEnumerationPtr(n_tree, 8);
 | |
| 
 | |
|         ret_val = xmlAddAttributeDecl(ctxt, dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)ns, type, def, (const xmlChar *)defaultValue, tree);
 | |
|         desret_xmlAttributePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 1);
 | |
|         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 2);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
 | |
|         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 4);
 | |
|         des_xmlAttributeType(n_type, type, 5);
 | |
|         des_xmlAttributeDefault(n_def, def, 6);
 | |
|         des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 7);
 | |
|         des_xmlEnumerationPtr(n_tree, tree, 8);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddAttributeDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_def);
 | |
|             printf(" %d", n_defaultValue);
 | |
|             printf(" %d", n_tree);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddElementDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementPtr ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDtdPtr dtd; /* pointer to the DTD */
 | |
|     int n_dtd;
 | |
|     xmlChar * name; /* the entity name */
 | |
|     int n_name;
 | |
|     xmlElementTypeVal type; /* the element type */
 | |
|     int n_type;
 | |
|     xmlElementContentPtr content; /* the element content tree or NULL */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_xmlElementTypeVal;n_type++) {
 | |
|     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         type = gen_xmlElementTypeVal(n_type, 3);
 | |
|         content = gen_xmlElementContentPtr(n_content, 4);
 | |
| 
 | |
|         ret_val = xmlAddElementDecl(ctxt, dtd, (const xmlChar *)name, type, content);
 | |
|         desret_xmlElementPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_xmlElementTypeVal(n_type, type, 3);
 | |
|         des_xmlElementContentPtr(n_content, content, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAddElementDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddID(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddNotationDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAddRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyAttributeTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyDocElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementContentPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document owning the element declaration */
 | |
|     int n_doc;
 | |
|     xmlElementContentPtr cur; /* An element content pointer. */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         cur = gen_xmlElementContentPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlCopyDocElementContent(doc, cur);
 | |
|         desret_xmlElementContentPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlElementContentPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyDocElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementContentPtr ret_val;
 | |
|     xmlElementContentPtr cur; /* An element content pointer. */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlElementContentPtr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlCopyElementContent(cur);
 | |
|         desret_xmlElementContentPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlElementContentPtr(n_cur, cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyElementTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyEnumeration(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCopyNotationTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCreateEnumeration(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlAttributePtr 1
 | |
| #define gen_xmlAttributePtr(no, nr) NULL
 | |
| #define des_xmlAttributePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpAttributeDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlAttributePtr attr; /* An attribute declaration */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         attr = gen_xmlAttributePtr(n_attr, 1);
 | |
| 
 | |
|         xmlDumpAttributeDecl(buf, attr);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlAttributePtr(n_attr, attr, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpAttributeDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlAttributeTablePtr 1
 | |
| #define gen_xmlAttributeTablePtr(no, nr) NULL
 | |
| #define des_xmlAttributeTablePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpAttributeTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlAttributeTablePtr table; /* An attribute table */
 | |
|     int n_table;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_table = 0;n_table < gen_nb_xmlAttributeTablePtr;n_table++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         table = gen_xmlAttributeTablePtr(n_table, 1);
 | |
| 
 | |
|         xmlDumpAttributeTable(buf, table);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlAttributeTablePtr(n_table, table, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpAttributeTable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_table);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlElementPtr 1
 | |
| #define gen_xmlElementPtr(no, nr) NULL
 | |
| #define des_xmlElementPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpElementDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlElementPtr elem; /* An element table */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         elem = gen_xmlElementPtr(n_elem, 1);
 | |
| 
 | |
|         xmlDumpElementDecl(buf, elem);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlElementPtr(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpElementDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlElementTablePtr 1
 | |
| #define gen_xmlElementTablePtr(no, nr) NULL
 | |
| #define des_xmlElementTablePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpElementTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlElementTablePtr table; /* An element table */
 | |
|     int n_table;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_table = 0;n_table < gen_nb_xmlElementTablePtr;n_table++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         table = gen_xmlElementTablePtr(n_table, 1);
 | |
| 
 | |
|         xmlDumpElementTable(buf, table);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlElementTablePtr(n_table, table, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpElementTable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_table);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlNotationPtr 1
 | |
| #define gen_xmlNotationPtr(no, nr) NULL
 | |
| #define des_xmlNotationPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpNotationDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlNotationPtr nota; /* A notation declaration */
 | |
|     int n_nota;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         nota = gen_xmlNotationPtr(n_nota, 1);
 | |
| 
 | |
|         xmlDumpNotationDecl(buf, nota);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlNotationPtr(n_nota, nota, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpNotationDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_nota);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlNotationTablePtr 1
 | |
| #define gen_xmlNotationTablePtr(no, nr) NULL
 | |
| #define des_xmlNotationTablePtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlDumpNotationTable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* the XML buffer output */
 | |
|     int n_buf;
 | |
|     xmlNotationTablePtr table; /* A notation table */
 | |
|     int n_table;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_table = 0;n_table < gen_nb_xmlNotationTablePtr;n_table++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         table = gen_xmlNotationTablePtr(n_table, 1);
 | |
| 
 | |
|         xmlDumpNotationTable(buf, table);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlNotationTablePtr(n_table, table, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlDumpNotationTable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_table);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdAttrDesc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttributePtr ret_val;
 | |
|     xmlDtdPtr dtd; /* a pointer to the DtD to search */
 | |
|     int n_dtd;
 | |
|     xmlChar * elem; /* the element name */
 | |
|     int n_elem;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 0);
 | |
|         elem = gen_const_xmlChar_ptr(n_elem, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
| 
 | |
|         ret_val = xmlGetDtdAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name);
 | |
|         desret_xmlAttributePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 0);
 | |
|         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDtdAttrDesc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdElementDesc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementPtr ret_val;
 | |
|     xmlDtdPtr dtd; /* a pointer to the DtD to search */
 | |
|     int n_dtd;
 | |
|     xmlChar * name; /* the element name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlGetDtdElementDesc(dtd, (const xmlChar *)name);
 | |
|         desret_xmlElementPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDtdElementDesc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdNotationDesc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdQAttrDesc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttributePtr ret_val;
 | |
|     xmlDtdPtr dtd; /* a pointer to the DtD to search */
 | |
|     int n_dtd;
 | |
|     xmlChar * elem; /* the element name */
 | |
|     int n_elem;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * prefix; /* the attribute namespace prefix */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 0);
 | |
|         elem = gen_const_xmlChar_ptr(n_elem, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 3);
 | |
| 
 | |
|         ret_val = xmlGetDtdQAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)prefix);
 | |
|         desret_xmlAttributePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 0);
 | |
|         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDtdQAttrDesc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetDtdQElementDesc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementPtr ret_val;
 | |
|     xmlDtdPtr dtd; /* a pointer to the DtD to search */
 | |
|     int n_dtd;
 | |
|     xmlChar * name; /* the element name */
 | |
|     int n_name;
 | |
|     xmlChar * prefix; /* the element namespace prefix */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
 | |
| 
 | |
|         ret_val = xmlGetDtdQElementDesc(dtd, (const xmlChar *)name, (const xmlChar *)prefix);
 | |
|         desret_xmlElementPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetDtdQElementDesc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_dtd);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetID(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlAttrPtr ret_val;
 | |
|     xmlDocPtr doc; /* pointer to the document */
 | |
|     int n_doc;
 | |
|     xmlChar * ID; /* the ID value */
 | |
|     int n_ID;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         ID = gen_const_xmlChar_ptr(n_ID, 1);
 | |
| 
 | |
|         ret_val = xmlGetID(doc, (const xmlChar *)ID);
 | |
|         desret_xmlAttrPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetID",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_ID);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetRefs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsID(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* the element carrying the attribute */
 | |
|     int n_elem;
 | |
|     xmlAttrPtr attr; /* the attribute */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         elem = gen_xmlNodePtr(n_elem, 1);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 2);
 | |
| 
 | |
|         ret_val = xmlIsID(doc, elem, attr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_elem, elem, 1);
 | |
|         des_xmlAttrPtr(n_attr, attr, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsID",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsMixedElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the element name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlIsMixedElement(doc, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsMixedElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIsRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* the element carrying the attribute */
 | |
|     int n_elem;
 | |
|     xmlAttrPtr attr; /* the attribute */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         elem = gen_xmlNodePtr(n_elem, 1);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 2);
 | |
| 
 | |
|         ret_val = xmlIsRef(doc, elem, attr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_elem, elem, 1);
 | |
|         des_xmlAttrPtr(n_attr, attr, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIsRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewDocElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementContentPtr ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * name; /* the subelement name or NULL */
 | |
|     int n_name;
 | |
|     xmlElementContentType type; /* the type of element content decl */
 | |
|     int n_type;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         type = gen_xmlElementContentType(n_type, 2);
 | |
| 
 | |
|         ret_val = xmlNewDocElementContent(doc, (const xmlChar *)name, type);
 | |
|         xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;
 | |
|         desret_xmlElementContentPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_xmlElementContentType(n_type, type, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewDocElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlElementContentPtr ret_val;
 | |
|     xmlChar * name; /* the subelement name or NULL */
 | |
|     int n_name;
 | |
|     xmlElementContentType type; /* the type of element content decl */
 | |
|     int n_type;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
|         type = gen_xmlElementContentType(n_type, 1);
 | |
| 
 | |
|         ret_val = xmlNewElementContent((const xmlChar *)name, type);
 | |
|         desret_xmlElementContentPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         des_xmlElementContentType(n_type, type, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_type);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewValidCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRemoveID(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlAttrPtr attr; /* the attribute */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 1);
 | |
| 
 | |
|         ret_val = xmlRemoveID(doc, attr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlAttrPtr(n_attr, attr, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRemoveID",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRemoveRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlAttrPtr attr; /* the attribute */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 1);
 | |
| 
 | |
|         ret_val = xmlRemoveRef(doc, attr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlAttrPtr(n_attr, attr, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRemoveRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSnprintfElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     char * buf; /* an output buffer */
 | |
|     int n_buf;
 | |
|     int size; /* the buffer size */
 | |
|     int n_size;
 | |
|     xmlElementContentPtr content; /* An element table */
 | |
|     int n_content;
 | |
|     int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
 | |
|     int n_englob;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
 | |
|     for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_char_ptr(n_buf, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         content = gen_xmlElementContentPtr(n_content, 2);
 | |
|         englob = gen_int(n_englob, 3);
 | |
| 
 | |
|         xmlSnprintfElementContent(buf, size, content, englob);
 | |
|         call_tests++;
 | |
|         des_char_ptr(n_buf, buf, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_xmlElementContentPtr(n_content, content, 2);
 | |
|         des_int(n_englob, englob, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSnprintfElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_englob);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSprintfElementContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
|     int mem_base;
 | |
|     char * buf; /* an output buffer */
 | |
|     int n_buf;
 | |
|     xmlElementContentPtr content; /* An element table */
 | |
|     int n_content;
 | |
|     int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
 | |
|     int n_englob;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
 | |
|     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
 | |
|     for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_char_ptr(n_buf, 0);
 | |
|         content = gen_xmlElementContentPtr(n_content, 1);
 | |
|         englob = gen_int(n_englob, 2);
 | |
| 
 | |
|         xmlSprintfElementContent(buf, content, englob);
 | |
|         call_tests++;
 | |
|         des_char_ptr(n_buf, buf, 0);
 | |
|         des_xmlElementContentPtr(n_content, content, 1);
 | |
|         des_int(n_englob, englob, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSprintfElementContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_englob);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidBuildContentModel(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* a validation context */
 | |
|     int n_ctxt;
 | |
|     xmlElementPtr elem; /* an element declaration node */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         elem = gen_xmlElementPtr(n_elem, 1);
 | |
| 
 | |
|         ret_val = xmlValidBuildContentModel(ctxt, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlElementPtr(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidBuildContentModel",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidCtxtNormalizeAttributeValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context or NULL */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* the parent */
 | |
|     int n_elem;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the attribute value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 3);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 4);
 | |
| 
 | |
|         ret_val = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidCtxtNormalizeAttributeValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlElementContent_ptr 1
 | |
| #define gen_xmlElementContent_ptr(no, nr) NULL
 | |
| #define des_xmlElementContent_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlValidGetPotentialChildren(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlElementContent * ctree; /* an element content tree */
 | |
|     int n_ctree;
 | |
|     xmlChar ** names; /* an array to store the list of child names */
 | |
|     int n_names;
 | |
|     int * len; /* a pointer to the number of element in the list */
 | |
|     int n_len;
 | |
|     int max; /* the size of the array */
 | |
|     int n_max;
 | |
| 
 | |
|     for (n_ctree = 0;n_ctree < gen_nb_xmlElementContent_ptr;n_ctree++) {
 | |
|     for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
 | |
|     for (n_max = 0;n_max < gen_nb_int;n_max++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctree = gen_xmlElementContent_ptr(n_ctree, 0);
 | |
|         names = gen_const_xmlChar_ptr_ptr(n_names, 1);
 | |
|         len = gen_int_ptr(n_len, 2);
 | |
|         max = gen_int(n_max, 3);
 | |
| 
 | |
|         ret_val = xmlValidGetPotentialChildren(ctree, (const xmlChar **)names, len, max);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlElementContent_ptr(n_ctree, ctree, 0);
 | |
|         des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 1);
 | |
|         des_int_ptr(n_len, len, 2);
 | |
|         des_int(n_max, max, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidGetPotentialChildren",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctree);
 | |
|             printf(" %d", n_names);
 | |
|             printf(" %d", n_len);
 | |
|             printf(" %d", n_max);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidGetValidElements(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
| #ifdef LIBXML_VALID_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNode * prev; /* an element to insert after */
 | |
|     int n_prev;
 | |
|     xmlNode * next; /* an element to insert next */
 | |
|     int n_next;
 | |
|     xmlChar ** names; /* an array to store the list of child names */
 | |
|     int n_names;
 | |
|     int max; /* the size of the array */
 | |
|     int n_max;
 | |
| 
 | |
|     for (n_prev = 0;n_prev < gen_nb_xmlNodePtr;n_prev++) {
 | |
|     for (n_next = 0;n_next < gen_nb_xmlNodePtr;n_next++) {
 | |
|     for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
 | |
|     for (n_max = 0;n_max < gen_nb_int;n_max++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         prev = gen_xmlNodePtr(n_prev, 0);
 | |
|         next = gen_xmlNodePtr(n_next, 1);
 | |
|         names = gen_const_xmlChar_ptr_ptr(n_names, 2);
 | |
|         max = gen_int(n_max, 3);
 | |
| 
 | |
|         ret_val = xmlValidGetValidElements(prev, next, (const xmlChar **)names, max);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_prev, prev, 0);
 | |
|         des_xmlNodePtr(n_next, next, 1);
 | |
|         des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 2);
 | |
|         des_int(n_max, max, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidGetValidElements",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_prev);
 | |
|             printf(" %d", n_next);
 | |
|             printf(" %d", n_names);
 | |
|             printf(" %d", n_max);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidNormalizeAttributeValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* the parent */
 | |
|     int n_elem;
 | |
|     xmlChar * name; /* the attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * value; /* the attribute value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         elem = gen_xmlNodePtr(n_elem, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 3);
 | |
| 
 | |
|         ret_val = xmlValidNormalizeAttributeValue(doc, elem, (const xmlChar *)name, (const xmlChar *)value);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_elem, elem, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidNormalizeAttributeValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateAttributeDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlAttributePtr attr; /* an attribute definition */
 | |
|     int n_attr;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         attr = gen_xmlAttributePtr(n_attr, 2);
 | |
| 
 | |
|         ret_val = xmlValidateAttributeDecl(ctxt, doc, attr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlAttributePtr(n_attr, attr, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateAttributeDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_attr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateAttributeValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlAttributeType type; /* an attribute type */
 | |
|     int n_type;
 | |
|     xmlChar * value; /* an attribute value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlAttributeType(n_type, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
| 
 | |
|         ret_val = xmlValidateAttributeValue(type, (const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlAttributeType(n_type, type, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateAttributeValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlValidateDocument(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateDocumentFinal(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlValidateDocumentFinal(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateDocumentFinal",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateDtd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlDtdPtr dtd; /* a dtd instance */
 | |
|     int n_dtd;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         dtd = gen_xmlDtdPtr(n_dtd, 2);
 | |
| 
 | |
|         ret_val = xmlValidateDtd(ctxt, doc, dtd);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlDtdPtr(n_dtd, dtd, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateDtd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_dtd);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateDtdFinal(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlValidateDtdFinal(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateDtdFinal",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlValidateElement(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateElementDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlElementPtr elem; /* an element definition */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlElementPtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlValidateElementDecl(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlElementPtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateElementDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNameValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* an Name value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlValidateNameValue((const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNameValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNamesValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* an Names value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlValidateNamesValue((const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNamesValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNmtokenValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* an Nmtoken value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlValidateNmtokenValue((const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNmtokenValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNmtokensValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * value; /* an Nmtokens value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlValidateNmtokensValue((const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNmtokensValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNotationDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNotationPtr nota; /* a notation definition */
 | |
|     int n_nota;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         nota = gen_xmlNotationPtr(n_nota, 2);
 | |
| 
 | |
|         ret_val = xmlValidateNotationDecl(ctxt, doc, nota);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNotationPtr(n_nota, nota, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNotationDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_nota);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateNotationUse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* the document */
 | |
|     int n_doc;
 | |
|     xmlChar * notationName; /* the notation name to check */
 | |
|     int n_notationName;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         notationName = gen_const_xmlChar_ptr(n_notationName, 2);
 | |
| 
 | |
|         ret_val = xmlValidateNotationUse(ctxt, doc, (const xmlChar *)notationName);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateNotationUse",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_notationName);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateOneAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
|     xmlAttrPtr attr; /* an attribute instance */
 | |
|     int n_attr;
 | |
|     xmlChar * value; /* the attribute value (without entities processing) */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
|         attr = gen_xmlAttrPtr(n_attr, 3);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 4);
 | |
| 
 | |
|         ret_val = xmlValidateOneAttribute(ctxt, doc, elem, attr, (const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         des_xmlAttrPtr(n_attr, attr, 3);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateOneAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_attr);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateOneElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
| 
 | |
|         ret_val = xmlValidateOneElement(ctxt, doc, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateOneElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateOneNamespace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
|     xmlChar * prefix; /* the namespace prefix */
 | |
|     int n_prefix;
 | |
|     xmlNsPtr ns; /* an namespace declaration instance */
 | |
|     int n_ns;
 | |
|     xmlChar * value; /* the attribute value (without entities processing) */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 3);
 | |
|         ns = gen_xmlNsPtr(n_ns, 4);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 5);
 | |
| 
 | |
|         ret_val = xmlValidateOneNamespace(ctxt, doc, elem, (const xmlChar *)prefix, ns, (const xmlChar *)value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
 | |
|         des_xmlNsPtr(n_ns, ns, 4);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateOneNamespace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_ns);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidatePopElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
|     xmlChar * qname; /* the qualified name as appearing in the serialization */
 | |
|     int n_qname;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
|         qname = gen_const_xmlChar_ptr(n_qname, 3);
 | |
| 
 | |
|         ret_val = xmlValidatePopElement(ctxt, doc, elem, (const xmlChar *)qname);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidatePopElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_qname);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidatePushCData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * data; /* some character data read */
 | |
|     int n_data;
 | |
|     int len; /* the length of the data */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         data = gen_const_xmlChar_ptr(n_data, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((data != NULL) &&
 | |
|             (len > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidatePushCData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_data);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidatePushElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
|     xmlNodePtr elem; /* an element instance */
 | |
|     int n_elem;
 | |
|     xmlChar * qname; /* the qualified name as appearing in the serialization */
 | |
|     int n_qname;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|     for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
|         elem = gen_xmlNodePtr(n_elem, 2);
 | |
|         qname = gen_const_xmlChar_ptr(n_qname, 3);
 | |
| 
 | |
|         ret_val = xmlValidatePushElement(ctxt, doc, elem, (const xmlChar *)qname);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         des_xmlNodePtr(n_elem, elem, 2);
 | |
|         des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidatePushElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_elem);
 | |
|             printf(" %d", n_qname);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlValidateRoot(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_VALID_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlValidCtxtPtr ctxt; /* the validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document instance */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlValidateRoot(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlValidateRoot",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_valid(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing valid : 50 of 70 functions ...\n");
 | |
|     test_ret += test_xmlAddAttributeDecl();
 | |
|     test_ret += test_xmlAddElementDecl();
 | |
|     test_ret += test_xmlAddID();
 | |
|     test_ret += test_xmlAddNotationDecl();
 | |
|     test_ret += test_xmlAddRef();
 | |
|     test_ret += test_xmlCopyAttributeTable();
 | |
|     test_ret += test_xmlCopyDocElementContent();
 | |
|     test_ret += test_xmlCopyElementContent();
 | |
|     test_ret += test_xmlCopyElementTable();
 | |
|     test_ret += test_xmlCopyEnumeration();
 | |
|     test_ret += test_xmlCopyNotationTable();
 | |
|     test_ret += test_xmlCreateEnumeration();
 | |
|     test_ret += test_xmlDumpAttributeDecl();
 | |
|     test_ret += test_xmlDumpAttributeTable();
 | |
|     test_ret += test_xmlDumpElementDecl();
 | |
|     test_ret += test_xmlDumpElementTable();
 | |
|     test_ret += test_xmlDumpNotationDecl();
 | |
|     test_ret += test_xmlDumpNotationTable();
 | |
|     test_ret += test_xmlGetDtdAttrDesc();
 | |
|     test_ret += test_xmlGetDtdElementDesc();
 | |
|     test_ret += test_xmlGetDtdNotationDesc();
 | |
|     test_ret += test_xmlGetDtdQAttrDesc();
 | |
|     test_ret += test_xmlGetDtdQElementDesc();
 | |
|     test_ret += test_xmlGetID();
 | |
|     test_ret += test_xmlGetRefs();
 | |
|     test_ret += test_xmlIsID();
 | |
|     test_ret += test_xmlIsMixedElement();
 | |
|     test_ret += test_xmlIsRef();
 | |
|     test_ret += test_xmlNewDocElementContent();
 | |
|     test_ret += test_xmlNewElementContent();
 | |
|     test_ret += test_xmlNewValidCtxt();
 | |
|     test_ret += test_xmlRemoveID();
 | |
|     test_ret += test_xmlRemoveRef();
 | |
|     test_ret += test_xmlSnprintfElementContent();
 | |
|     test_ret += test_xmlSprintfElementContent();
 | |
|     test_ret += test_xmlValidBuildContentModel();
 | |
|     test_ret += test_xmlValidCtxtNormalizeAttributeValue();
 | |
|     test_ret += test_xmlValidGetPotentialChildren();
 | |
|     test_ret += test_xmlValidGetValidElements();
 | |
|     test_ret += test_xmlValidNormalizeAttributeValue();
 | |
|     test_ret += test_xmlValidateAttributeDecl();
 | |
|     test_ret += test_xmlValidateAttributeValue();
 | |
|     test_ret += test_xmlValidateDocument();
 | |
|     test_ret += test_xmlValidateDocumentFinal();
 | |
|     test_ret += test_xmlValidateDtd();
 | |
|     test_ret += test_xmlValidateDtdFinal();
 | |
|     test_ret += test_xmlValidateElement();
 | |
|     test_ret += test_xmlValidateElementDecl();
 | |
|     test_ret += test_xmlValidateNameValue();
 | |
|     test_ret += test_xmlValidateNamesValue();
 | |
|     test_ret += test_xmlValidateNmtokenValue();
 | |
|     test_ret += test_xmlValidateNmtokensValue();
 | |
|     test_ret += test_xmlValidateNotationDecl();
 | |
|     test_ret += test_xmlValidateNotationUse();
 | |
|     test_ret += test_xmlValidateOneAttribute();
 | |
|     test_ret += test_xmlValidateOneElement();
 | |
|     test_ret += test_xmlValidateOneNamespace();
 | |
|     test_ret += test_xmlValidatePopElement();
 | |
|     test_ret += test_xmlValidatePushCData();
 | |
|     test_ret += test_xmlValidatePushElement();
 | |
|     test_ret += test_xmlValidateRoot();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module valid: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeNewContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcess(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* an XML document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcess(doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcess",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessFlags(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* an XML document */
 | |
|     int n_doc;
 | |
|     int flags; /* a set of xmlParserOption used for parsing XML includes */
 | |
|     int n_flags;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessFlags(doc, flags);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessFlags",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_flags);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessFlagsData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlDocPtr doc; /* an XML document */
 | |
|     int n_doc;
 | |
|     int flags; /* a set of xmlParserOption used for parsing XML includes */
 | |
|     int n_flags;
 | |
|     void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
|         data = gen_userdata(n_data, 2);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessFlagsData(doc, flags, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         des_userdata(n_data, data, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_flags);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_XINCLUDE_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlXIncludeCtxtPtr 1
 | |
| #define gen_xmlXIncludeCtxtPtr(no, nr) NULL
 | |
| #define des_xmlXIncludeCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXIncludeCtxtPtr ctxt; /* an existing XInclude context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr node; /* a node in an XML document */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessNode(ctxt, node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessTree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr tree; /* a node in an XML document */
 | |
|     int n_tree;
 | |
| 
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         tree = gen_xmlNodePtr(n_tree, 0);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessTree(tree);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_tree, tree, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessTree",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_tree);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessTreeFlags(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr tree; /* a node in an XML document */
 | |
|     int n_tree;
 | |
|     int flags; /* a set of xmlParserOption used for parsing XML includes */
 | |
|     int n_flags;
 | |
| 
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         tree = gen_xmlNodePtr(n_tree, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessTreeFlags(tree, flags);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_tree, tree, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlags",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_tree);
 | |
|             printf(" %d", n_flags);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeProcessTreeFlagsData(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr tree; /* an XML node */
 | |
|     int n_tree;
 | |
|     int flags; /* a set of xmlParserOption used for parsing XML includes */
 | |
|     int n_flags;
 | |
|     void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         tree = gen_xmlNodePtr(n_tree, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
|         data = gen_userdata(n_data, 2);
 | |
| 
 | |
|         ret_val = xmlXIncludeProcessTreeFlagsData(tree, flags, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_tree, tree, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         des_userdata(n_data, data, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlagsData",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_tree);
 | |
|             printf(" %d", n_flags);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXIncludeSetFlags(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XINCLUDE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXIncludeCtxtPtr ctxt; /* an XInclude processing context */
 | |
|     int n_ctxt;
 | |
|     int flags; /* a set of xmlParserOption used for parsing XML includes */
 | |
|     int n_flags;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
 | |
|     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
 | |
|         flags = gen_int(n_flags, 1);
 | |
| 
 | |
|         ret_val = xmlXIncludeSetFlags(ctxt, flags);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_flags, flags, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXIncludeSetFlags",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_flags);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xinclude(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xinclude : 8 of 10 functions ...\n");
 | |
|     test_ret += test_xmlXIncludeNewContext();
 | |
|     test_ret += test_xmlXIncludeProcess();
 | |
|     test_ret += test_xmlXIncludeProcessFlags();
 | |
|     test_ret += test_xmlXIncludeProcessFlagsData();
 | |
|     test_ret += test_xmlXIncludeProcessNode();
 | |
|     test_ret += test_xmlXIncludeProcessTree();
 | |
|     test_ret += test_xmlXIncludeProcessTreeFlags();
 | |
|     test_ret += test_xmlXIncludeProcessTreeFlagsData();
 | |
|     test_ret += test_xmlXIncludeSetFlags();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xinclude: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlAllocOutputBuffer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr ret_val;
 | |
|     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
 | |
|     int n_encoder;
 | |
| 
 | |
|     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 0);
 | |
| 
 | |
|         ret_val = xmlAllocOutputBuffer(encoder);
 | |
|         desret_xmlOutputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAllocOutputBuffer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_encoder);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAllocParserInputBuffer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         enc = gen_xmlCharEncoding(n_enc, 0);
 | |
| 
 | |
|         ret_val = xmlAllocParserInputBuffer(enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlCharEncoding(n_enc, enc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAllocParserInputBuffer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCheckFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     char * path; /* the path to check */
 | |
|     int n_path;
 | |
| 
 | |
|     for (n_path = 0;n_path < gen_nb_const_char_ptr;n_path++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         path = gen_const_char_ptr(n_path, 0);
 | |
| 
 | |
|         ret_val = xmlCheckFilename((const char *)path);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_path, (const char *)path, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCheckFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_path);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCheckHTTPInput(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* an XML parser context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputPtr ret; /* an XML parser input */
 | |
|     int n_ret;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_ret = 0;n_ret < gen_nb_xmlParserInputPtr;n_ret++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         ret = gen_xmlParserInputPtr(n_ret, 1);
 | |
| 
 | |
|         ret_val = xmlCheckHTTPInput(ctxt, ret);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputPtr(n_ret, ret, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCheckHTTPInput",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_ret);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCleanupInputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlCleanupInputCallbacks();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCleanupInputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCleanupOutputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlCleanupOutputCallbacks();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCleanupOutputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFileClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
| 
 | |
|         ret_val = xmlFileClose(context);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlFileClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFileMatch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlFileMatch(filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlFileMatch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFileOpen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlFileOpen(filename);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlFileOpen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlFileRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
|     char * buffer; /* where to drop data */
 | |
|     int n_buffer;
 | |
|     int len; /* number of bytes to write */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
|         buffer = gen_char_ptr(n_buffer, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
| 
 | |
|         ret_val = xmlFileRead(context, buffer, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         des_char_ptr(n_buffer, buffer, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlFileRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOFTPClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_FTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
| 
 | |
|         ret_val = xmlIOFTPClose(context);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOFTPClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOFTPMatch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_FTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlIOFTPMatch(filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOFTPMatch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOFTPOpen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_FTP_ENABLED)
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlIOFTPOpen(filename);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOFTPOpen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOFTPRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_FTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
|     char * buffer; /* where to drop data */
 | |
|     int n_buffer;
 | |
|     int len; /* number of bytes to write */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
|         buffer = gen_char_ptr(n_buffer, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
| 
 | |
|         ret_val = xmlIOFTPRead(context, buffer, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         des_char_ptr(n_buffer, buffer, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOFTPRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOHTTPClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
| 
 | |
|         ret_val = xmlIOHTTPClose(context);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOHTTPClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOHTTPMatch(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlIOHTTPMatch(filename);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOHTTPMatch",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOHTTPOpen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     const char * filename; /* the URI for matching */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
| 
 | |
|         ret_val = xmlIOHTTPOpen(filename);
 | |
|         desret_xmlNanoHTTPCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOHTTPOpen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlIOHTTPRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     void * context; /* the I/O context */
 | |
|     int n_context;
 | |
|     char * buffer; /* where to drop data */
 | |
|     int n_buffer;
 | |
|     int len; /* number of bytes to write */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         context = gen_void_ptr(n_context, 0);
 | |
|         buffer = gen_char_ptr(n_buffer, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
| 
 | |
|         ret_val = xmlIOHTTPRead(context, buffer, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_context, context, 0);
 | |
|         des_char_ptr(n_buffer, buffer, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlIOHTTPRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_context);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNoNetExternalEntityLoader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr ret_val;
 | |
|     const char * URL; /* the URL for the entity to load */
 | |
|     int n_URL;
 | |
|     char * ID; /* the System ID for the entity to load */
 | |
|     int n_ID;
 | |
|     xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_filepath(n_URL, 0);
 | |
|         ID = gen_const_char_ptr(n_ID, 1);
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
 | |
| 
 | |
|         ret_val = xmlNoNetExternalEntityLoader(URL, (const char *)ID, ctxt);
 | |
|         desret_xmlParserInputPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URL, URL, 0);
 | |
|         des_const_char_ptr(n_ID, (const char *)ID, 1);
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNoNetExternalEntityLoader",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_ID);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNormalizeWindowsPath(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * path; /* the input file path */
 | |
|     int n_path;
 | |
| 
 | |
|     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         path = gen_const_xmlChar_ptr(n_path, 0);
 | |
| 
 | |
|         ret_val = xmlNormalizeWindowsPath((const xmlChar *)path);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNormalizeWindowsPath",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_path);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferCreateBuffer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr ret_val;
 | |
|     xmlBufferPtr buffer; /* a xmlBufferPtr */
 | |
|     int n_buffer;
 | |
|     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
 | |
|     int n_encoder;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
 | |
|     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_xmlBufferPtr(n_buffer, 0);
 | |
|         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
 | |
| 
 | |
|         ret_val = xmlOutputBufferCreateBuffer(buffer, encoder);
 | |
|         desret_xmlOutputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buffer, buffer, 0);
 | |
|         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferCreateBuffer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_encoder);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferCreateFd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr ret_val;
 | |
|     int fd; /* a file descriptor number */
 | |
|     int n_fd;
 | |
|     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
 | |
|     int n_encoder;
 | |
| 
 | |
|     for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
 | |
|     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         fd = gen_int(n_fd, 0);
 | |
|         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
 | |
| 
 | |
|         ret_val = xmlOutputBufferCreateFd(fd, encoder);
 | |
|         desret_xmlOutputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_fd, fd, 0);
 | |
|         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferCreateFd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_fd);
 | |
|             printf(" %d", n_encoder);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferCreateFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr ret_val;
 | |
|     FILE * file; /* a FILE* */
 | |
|     int n_file;
 | |
|     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
 | |
|     int n_encoder;
 | |
| 
 | |
|     for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
 | |
|     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         file = gen_FILE_ptr(n_file, 0);
 | |
|         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
 | |
| 
 | |
|         ret_val = xmlOutputBufferCreateFile(file, encoder);
 | |
|         desret_xmlOutputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_file, file, 0);
 | |
|         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferCreateFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_file);
 | |
|             printf(" %d", n_encoder);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferCreateFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlOutputBufferPtr ret_val;
 | |
|     const char * URI; /* a C string containing the URI or filename */
 | |
|     int n_URI;
 | |
|     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
 | |
|     int n_encoder;
 | |
|     int compression; /* the compression ration (0 none, 9 max). */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
 | |
|     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_fileoutput(n_URI, 0);
 | |
|         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
 | |
|         compression = gen_int(n_compression, 2);
 | |
| 
 | |
|         ret_val = xmlOutputBufferCreateFilename(URI, encoder, compression);
 | |
|         desret_xmlOutputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_URI, URI, 0);
 | |
|         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
 | |
|         des_int(n_compression, compression, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferCreateFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_encoder);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferFlush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlOutputBufferPtr out; /* a buffered output */
 | |
|     int n_out;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlOutputBufferPtr(n_out, 0);
 | |
| 
 | |
|         ret_val = xmlOutputBufferFlush(out);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_out, out, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferFlush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferGetContent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
 | |
|     int n_out;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlOutputBufferPtr(n_out, 0);
 | |
| 
 | |
|         ret_val = xmlOutputBufferGetContent(out);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_out, out, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferGetContent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferGetSize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferWrite(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlOutputBufferPtr out; /* a buffered parser output */
 | |
|     int n_out;
 | |
|     int len; /* the size in bytes of the array. */
 | |
|     int n_len;
 | |
|     char * buf; /* an char array */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|     for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlOutputBufferPtr(n_out, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         buf = gen_const_char_ptr(n_buf, 2);
 | |
|         if ((buf != NULL) &&
 | |
|             (len > (int) strlen((const char *) buf) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_out, out, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         des_const_char_ptr(n_buf, (const char *)buf, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferWrite",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_len);
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferWriteEscape(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlOutputBufferWriteString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlOutputBufferPtr out; /* a buffered parser output */
 | |
|     int n_out;
 | |
|     char * str; /* a zero terminated C string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlOutputBufferPtr(n_out, 0);
 | |
|         str = gen_const_char_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlOutputBufferWriteString(out, (const char *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_out, out, 0);
 | |
|         des_const_char_ptr(n_str, (const char *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlOutputBufferWriteString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserGetDirectory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferCreateFd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     int fd; /* a file descriptor number */
 | |
|     int n_fd;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         fd = gen_int(n_fd, 0);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 1);
 | |
|         if (fd >= 0) fd = -1;
 | |
| 
 | |
|         ret_val = xmlParserInputBufferCreateFd(fd, enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_fd, fd, 0);
 | |
|         des_xmlCharEncoding(n_enc, enc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferCreateFd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_fd);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferCreateFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     FILE * file; /* a FILE* */
 | |
|     int n_file;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         file = gen_FILE_ptr(n_file, 0);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputBufferCreateFile(file, enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_file, file, 0);
 | |
|         des_xmlCharEncoding(n_enc, enc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferCreateFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_file);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferCreateFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     const char * URI; /* a C string containing the URI or filename */
 | |
|     int n_URI;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_fileoutput(n_URI, 0);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputBufferCreateFilename(URI, enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_URI, URI, 0);
 | |
|         des_xmlCharEncoding(n_enc, enc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferCreateFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferCreateMem(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     char * mem; /* the memory input */
 | |
|     int n_mem;
 | |
|     int size; /* the length of the memory block */
 | |
|     int n_size;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         mem = gen_const_char_ptr(n_mem, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 2);
 | |
|         if ((mem != NULL) &&
 | |
|             (size > (int) strlen((const char *) mem) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_mem, (const char *)mem, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_xmlCharEncoding(n_enc, enc, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferCreateMem",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferCreateStatic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     char * mem; /* the memory input */
 | |
|     int n_mem;
 | |
|     int size; /* the length of the memory block */
 | |
|     int n_size;
 | |
|     xmlCharEncoding enc; /* the charset encoding if known */
 | |
|     int n_enc;
 | |
| 
 | |
|     for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         mem = gen_const_char_ptr(n_mem, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 2);
 | |
|         if ((mem != NULL) &&
 | |
|             (size > (int) strlen((const char *) mem) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_mem, (const char *)mem, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_xmlCharEncoding(n_enc, enc, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferCreateStatic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_mem);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_enc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferGrow(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserInputBufferPtr in; /* a buffered parser input */
 | |
|     int n_in;
 | |
|     int len; /* indicative value of the amount of chars to read */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputBufferPtr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputBufferGrow(in, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputBufferPtr(n_in, in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferGrow",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferPush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserInputBufferPtr in; /* a buffered parser input */
 | |
|     int n_in;
 | |
|     int len; /* the size in bytes of the array. */
 | |
|     int n_len;
 | |
|     char * buf; /* an char array */
 | |
|     int n_buf;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|     for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputBufferPtr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         buf = gen_const_char_ptr(n_buf, 2);
 | |
|         if ((buf != NULL) &&
 | |
|             (len > (int) strlen((const char *) buf) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputBufferPtr(n_in, in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         des_const_char_ptr(n_buf, (const char *)buf, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferPush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf(" %d", n_buf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserInputBufferRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlParserInputBufferPtr in; /* a buffered parser input */
 | |
|     int n_in;
 | |
|     int len; /* indicative value of the amount of chars to read */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         in = gen_xmlParserInputBufferPtr(n_in, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlParserInputBufferRead(in, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputBufferPtr(n_in, in, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserInputBufferRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_in);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPopInputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlPopInputCallbacks();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPopInputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlPopOutputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         ret_val = xmlPopOutputCallbacks();
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlPopOutputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegisterDefaultInputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlRegisterDefaultInputCallbacks();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegisterDefaultInputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegisterDefaultOutputCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlRegisterDefaultOutputCallbacks();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegisterDefaultOutputCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegisterHTTPPostCallbacks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlRegisterHTTPPostCallbacks();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegisterHTTPPostCallbacks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlIO(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlIO : 41 of 51 functions ...\n");
 | |
|     test_ret += test_xmlAllocOutputBuffer();
 | |
|     test_ret += test_xmlAllocParserInputBuffer();
 | |
|     test_ret += test_xmlCheckFilename();
 | |
|     test_ret += test_xmlCheckHTTPInput();
 | |
|     test_ret += test_xmlCleanupInputCallbacks();
 | |
|     test_ret += test_xmlCleanupOutputCallbacks();
 | |
|     test_ret += test_xmlFileClose();
 | |
|     test_ret += test_xmlFileMatch();
 | |
|     test_ret += test_xmlFileOpen();
 | |
|     test_ret += test_xmlFileRead();
 | |
|     test_ret += test_xmlIOFTPClose();
 | |
|     test_ret += test_xmlIOFTPMatch();
 | |
|     test_ret += test_xmlIOFTPOpen();
 | |
|     test_ret += test_xmlIOFTPRead();
 | |
|     test_ret += test_xmlIOHTTPClose();
 | |
|     test_ret += test_xmlIOHTTPMatch();
 | |
|     test_ret += test_xmlIOHTTPOpen();
 | |
|     test_ret += test_xmlIOHTTPRead();
 | |
|     test_ret += test_xmlNoNetExternalEntityLoader();
 | |
|     test_ret += test_xmlNormalizeWindowsPath();
 | |
|     test_ret += test_xmlOutputBufferCreateBuffer();
 | |
|     test_ret += test_xmlOutputBufferCreateFd();
 | |
|     test_ret += test_xmlOutputBufferCreateFile();
 | |
|     test_ret += test_xmlOutputBufferCreateFilename();
 | |
|     test_ret += test_xmlOutputBufferFlush();
 | |
|     test_ret += test_xmlOutputBufferGetContent();
 | |
|     test_ret += test_xmlOutputBufferGetSize();
 | |
|     test_ret += test_xmlOutputBufferWrite();
 | |
|     test_ret += test_xmlOutputBufferWriteEscape();
 | |
|     test_ret += test_xmlOutputBufferWriteString();
 | |
|     test_ret += test_xmlParserGetDirectory();
 | |
|     test_ret += test_xmlParserInputBufferCreateFd();
 | |
|     test_ret += test_xmlParserInputBufferCreateFile();
 | |
|     test_ret += test_xmlParserInputBufferCreateFilename();
 | |
|     test_ret += test_xmlParserInputBufferCreateMem();
 | |
|     test_ret += test_xmlParserInputBufferCreateStatic();
 | |
|     test_ret += test_xmlParserInputBufferGrow();
 | |
|     test_ret += test_xmlParserInputBufferPush();
 | |
|     test_ret += test_xmlParserInputBufferRead();
 | |
|     test_ret += test_xmlPopInputCallbacks();
 | |
|     test_ret += test_xmlPopOutputCallbacks();
 | |
|     test_ret += test_xmlRegisterDefaultInputCallbacks();
 | |
|     test_ret += test_xmlRegisterDefaultOutputCallbacks();
 | |
|     test_ret += test_xmlRegisterHTTPPostCallbacks();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlIO: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataCompile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataGetInitState(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_AUTOMATA_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlAutomataPtr 1
 | |
| #define gen_xmlAutomataPtr(no, nr) NULL
 | |
| #define des_xmlAutomataPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataIsDeterminist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlAutomataPtr am; /* an automata */
 | |
|     int n_am;
 | |
| 
 | |
|     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         am = gen_xmlAutomataPtr(n_am, 0);
 | |
| 
 | |
|         ret_val = xmlAutomataIsDeterminist(am);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlAutomataPtr(n_am, am, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAutomataIsDeterminist",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_am);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewAllTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewCountTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewCountTrans2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewCountedTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewCounter(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlAutomataPtr am; /* an automata */
 | |
|     int n_am;
 | |
|     int min; /* the minimal value on the counter */
 | |
|     int n_min;
 | |
|     int max; /* the maximal value on the counter */
 | |
|     int n_max;
 | |
| 
 | |
|     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
 | |
|     for (n_min = 0;n_min < gen_nb_int;n_min++) {
 | |
|     for (n_max = 0;n_max < gen_nb_int;n_max++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         am = gen_xmlAutomataPtr(n_am, 0);
 | |
|         min = gen_int(n_min, 1);
 | |
|         max = gen_int(n_max, 2);
 | |
| 
 | |
|         ret_val = xmlAutomataNewCounter(am, min, max);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlAutomataPtr(n_am, am, 0);
 | |
|         des_int(n_min, min, 1);
 | |
|         des_int(n_max, max, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAutomataNewCounter",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_am);
 | |
|             printf(" %d", n_min);
 | |
|             printf(" %d", n_max);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewCounterTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewEpsilon(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewNegTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewOnceTrans(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewOnceTrans2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewState(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewTransition(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataNewTransition2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_AUTOMATA_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlAutomataStatePtr 1
 | |
| #define gen_xmlAutomataStatePtr(no, nr) NULL
 | |
| #define des_xmlAutomataStatePtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlAutomataSetFinalState(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlAutomataPtr am; /* an automata */
 | |
|     int n_am;
 | |
|     xmlAutomataStatePtr state; /* a state in this automata */
 | |
|     int n_state;
 | |
| 
 | |
|     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
 | |
|     for (n_state = 0;n_state < gen_nb_xmlAutomataStatePtr;n_state++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         am = gen_xmlAutomataPtr(n_am, 0);
 | |
|         state = gen_xmlAutomataStatePtr(n_state, 1);
 | |
| 
 | |
|         ret_val = xmlAutomataSetFinalState(am, state);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlAutomataPtr(n_am, am, 0);
 | |
|         des_xmlAutomataStatePtr(n_state, state, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlAutomataSetFinalState",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_am);
 | |
|             printf(" %d", n_state);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewAutomata(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlautomata(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlautomata : 3 of 19 functions ...\n");
 | |
|     test_ret += test_xmlAutomataCompile();
 | |
|     test_ret += test_xmlAutomataGetInitState();
 | |
|     test_ret += test_xmlAutomataIsDeterminist();
 | |
|     test_ret += test_xmlAutomataNewAllTrans();
 | |
|     test_ret += test_xmlAutomataNewCountTrans();
 | |
|     test_ret += test_xmlAutomataNewCountTrans2();
 | |
|     test_ret += test_xmlAutomataNewCountedTrans();
 | |
|     test_ret += test_xmlAutomataNewCounter();
 | |
|     test_ret += test_xmlAutomataNewCounterTrans();
 | |
|     test_ret += test_xmlAutomataNewEpsilon();
 | |
|     test_ret += test_xmlAutomataNewNegTrans();
 | |
|     test_ret += test_xmlAutomataNewOnceTrans();
 | |
|     test_ret += test_xmlAutomataNewOnceTrans2();
 | |
|     test_ret += test_xmlAutomataNewState();
 | |
|     test_ret += test_xmlAutomataNewTransition();
 | |
|     test_ret += test_xmlAutomataNewTransition2();
 | |
|     test_ret += test_xmlAutomataSetFinalState();
 | |
|     test_ret += test_xmlNewAutomata();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlautomata: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #define gen_nb_xmlGenericErrorFunc_ptr 1
 | |
| #define gen_xmlGenericErrorFunc_ptr(no, nr) NULL
 | |
| #define des_xmlGenericErrorFunc_ptr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_initGenericErrorDefaultFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlGenericErrorFunc * handler; /* the handler */
 | |
|     int n_handler;
 | |
| 
 | |
|     for (n_handler = 0;n_handler < gen_nb_xmlGenericErrorFunc_ptr;n_handler++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         handler = gen_xmlGenericErrorFunc_ptr(n_handler, 0);
 | |
| 
 | |
|         initGenericErrorDefaultFunc(handler);
 | |
|         call_tests++;
 | |
|         des_xmlGenericErrorFunc_ptr(n_handler, handler, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in initGenericErrorDefaultFunc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_handler);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| #define gen_nb_xmlErrorPtr 1
 | |
| #define gen_xmlErrorPtr(no, nr) NULL
 | |
| #define des_xmlErrorPtr(no, val, nr)
 | |
| 
 | |
| static int
 | |
| test_xmlCopyError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlErrorPtr from; /* a source error */
 | |
|     int n_from;
 | |
|     xmlErrorPtr to; /* a target error */
 | |
|     int n_to;
 | |
| 
 | |
|     for (n_from = 0;n_from < gen_nb_xmlErrorPtr;n_from++) {
 | |
|     for (n_to = 0;n_to < gen_nb_xmlErrorPtr;n_to++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         from = gen_xmlErrorPtr(n_from, 0);
 | |
|         to = gen_xmlErrorPtr(n_to, 1);
 | |
| 
 | |
|         ret_val = xmlCopyError(from, to);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlErrorPtr(n_from, from, 0);
 | |
|         des_xmlErrorPtr(n_to, to, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCopyError",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_from);
 | |
|             printf(" %d", n_to);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtGetLastError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCtxtResetLastError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     void * ctx; /* an XML parser context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctx = gen_void_ptr(n_ctx, 0);
 | |
| 
 | |
|         xmlCtxtResetLastError(ctx);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_ctx, ctx, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCtxtResetLastError",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetLastError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserPrintFileContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr input; /* an xmlParserInputPtr input */
 | |
|     int n_input;
 | |
| 
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         input = gen_xmlParserInputPtr(n_input, 0);
 | |
| 
 | |
|         xmlParserPrintFileContext(input);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputPtr(n_input, input, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserPrintFileContext",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_input);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserPrintFileInfo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlParserInputPtr input; /* an xmlParserInputPtr input */
 | |
|     int n_input;
 | |
| 
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         input = gen_xmlParserInputPtr(n_input, 0);
 | |
| 
 | |
|         xmlParserPrintFileInfo(input);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputPtr(n_input, input, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlParserPrintFileInfo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_input);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserValidityError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserValidityWarning(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlParserWarning(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlResetError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlErrorPtr err; /* pointer to the error. */
 | |
|     int n_err;
 | |
| 
 | |
|     for (n_err = 0;n_err < gen_nb_xmlErrorPtr;n_err++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         err = gen_xmlErrorPtr(n_err, 0);
 | |
| 
 | |
|         xmlResetError(err);
 | |
|         call_tests++;
 | |
|         des_xmlErrorPtr(n_err, err, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlResetError",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_err);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlResetLastError(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
| 
 | |
|         xmlResetLastError();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetGenericErrorFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSetStructuredErrorFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlerror(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlerror : 7 of 15 functions ...\n");
 | |
|     test_ret += test_initGenericErrorDefaultFunc();
 | |
|     test_ret += test_xmlCopyError();
 | |
|     test_ret += test_xmlCtxtGetLastError();
 | |
|     test_ret += test_xmlCtxtResetLastError();
 | |
|     test_ret += test_xmlGetLastError();
 | |
|     test_ret += test_xmlParserError();
 | |
|     test_ret += test_xmlParserPrintFileContext();
 | |
|     test_ret += test_xmlParserPrintFileInfo();
 | |
|     test_ret += test_xmlParserValidityError();
 | |
|     test_ret += test_xmlParserValidityWarning();
 | |
|     test_ret += test_xmlParserWarning();
 | |
|     test_ret += test_xmlResetError();
 | |
|     test_ret += test_xmlResetLastError();
 | |
|     test_ret += test_xmlSetGenericErrorFunc();
 | |
|     test_ret += test_xmlSetStructuredErrorFunc();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlerror: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_MODULES_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlModulePtr 1
 | |
| #define gen_xmlModulePtr(no, nr) NULL
 | |
| #define des_xmlModulePtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlModuleClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_MODULES_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlModulePtr module; /* the module handle */
 | |
|     int n_module;
 | |
| 
 | |
|     for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         module = gen_xmlModulePtr(n_module, 0);
 | |
| 
 | |
|         ret_val = xmlModuleClose(module);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlModulePtr(n_module, module, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlModuleClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_module);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlModuleOpen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlModuleSymbol(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_MODULES_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlModulePtr module; /* the module */
 | |
|     int n_module;
 | |
|     char * name; /* the name of the symbol */
 | |
|     int n_name;
 | |
|     void ** symbol; /* the resulting symbol address */
 | |
|     int n_symbol;
 | |
| 
 | |
|     for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
 | |
|     for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         module = gen_xmlModulePtr(n_module, 0);
 | |
|         name = gen_const_char_ptr(n_name, 1);
 | |
|         symbol = gen_void_ptr_ptr(n_symbol, 2);
 | |
| 
 | |
|         ret_val = xmlModuleSymbol(module, (const char *)name, symbol);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlModulePtr(n_module, module, 0);
 | |
|         des_const_char_ptr(n_name, (const char *)name, 1);
 | |
|         des_void_ptr_ptr(n_symbol, symbol, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlModuleSymbol",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_module);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_symbol);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlmodule(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlmodule : 2 of 4 functions ...\n");
 | |
|     test_ret += test_xmlModuleClose();
 | |
|     test_ret += test_xmlModuleOpen();
 | |
|     test_ret += test_xmlModuleSymbol();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlmodule: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextReader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     xmlParserInputBufferPtr input; /* the xmlParserInputBufferPtr used to read data */
 | |
|     int n_input;
 | |
|     const char * URI; /* the URI information for the source if available */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
 | |
|     for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         input = gen_xmlParserInputBufferPtr(n_input, 0);
 | |
|         URI = gen_filepath(n_URI, 1);
 | |
| 
 | |
|         ret_val = xmlNewTextReader(input, URI);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserInputBufferPtr(n_input, input, 0);
 | |
|         des_filepath(n_URI, URI, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextReader",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_input);
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextReaderFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     const char * URI; /* the URI of the resource to process */
 | |
|     int n_URI;
 | |
| 
 | |
|     for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URI = gen_filepath(n_URI, 0);
 | |
| 
 | |
|         ret_val = xmlNewTextReaderFilename(URI);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_URI, URI, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextReaderFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderForDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         URL = gen_filepath(n_URL, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_parseroptions(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlReaderForDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_filepath(n_URL, URL, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_parseroptions(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderForDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderForFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         filename = gen_filepath(n_filename, 0);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 1);
 | |
|         options = gen_parseroptions(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlReaderForFile(filename, (const char *)encoding, options);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_filepath(n_filename, filename, 0);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
 | |
|         des_parseroptions(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderForFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderForMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_parseroptions(n_options, 4);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_parseroptions(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderForMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderNewDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
|     xmlChar * cur; /* a pointer to a zero terminated string */
 | |
|     int n_cur;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_parseroptions(n_options, 4);
 | |
| 
 | |
|         ret_val = xmlReaderNewDoc(reader, (const xmlChar *)cur, URL, (const char *)encoding, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_parseroptions(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderNewDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderNewFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
|     const char * filename; /* a file or URL */
 | |
|     int n_filename;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         options = gen_parseroptions(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlReaderNewFile(reader, filename, (const char *)encoding, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_parseroptions(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderNewFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderNewMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
|     char * buffer; /* a pointer to a char array */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         buffer = gen_const_char_ptr(n_buffer, 1);
 | |
|         size = gen_int(n_size, 2);
 | |
|         URL = gen_filepath(n_URL, 3);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 4);
 | |
|         options = gen_parseroptions(n_options, 5);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
 | |
|         des_int(n_size, size, 2);
 | |
|         des_filepath(n_URL, URL, 3);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
 | |
|         des_parseroptions(n_options, options, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderNewMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderNewWalker(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
|     xmlDocPtr doc; /* a preparsed document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlReaderNewWalker(reader, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderNewWalker",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlReaderWalker(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr ret_val;
 | |
|     xmlDocPtr doc; /* a preparsed document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlReaderWalker(doc);
 | |
|         desret_xmlTextReaderPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlReaderWalker",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderAttributeCount(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderAttributeCount(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderAttributeCount",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderBaseUri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderBaseUri(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderBaseUri",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderByteConsumed(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderByteConsumed(reader);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderByteConsumed",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderClose(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstBaseUri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstBaseUri(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstBaseUri",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstEncoding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstEncoding(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstEncoding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstLocalName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstLocalName(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstLocalName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstName(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstNamespaceUri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstNamespaceUri(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstNamespaceUri",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstPrefix(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstPrefix(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstPrefix",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * str; /* the string to intern. */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstString(reader, (const xmlChar *)str);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstValue(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstXmlLang(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstXmlLang(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstXmlLang",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderConstXmlVersion(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderConstXmlVersion(reader);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderConstXmlVersion",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderCurrentDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlDocPtr ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderCurrentDoc(reader);
 | |
|         desret_xmlDocPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderCurrentDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderCurrentNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderCurrentNode(reader);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderCurrentNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderDepth(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderDepth(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderDepth",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderExpand(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderExpand(reader);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderExpand",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * name; /* the qualified name of the attribute. */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetAttribute(reader, (const xmlChar *)name);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetAttributeNo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     int no; /* the zero-based index of the attribute relative to the containing element */
 | |
|     int n_no;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_no = 0;n_no < gen_nb_int;n_no++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         no = gen_int(n_no, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetAttributeNo(reader, no);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_int(n_no, no, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetAttributeNo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_no);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetAttributeNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * localName; /* the local name of the attribute. */
 | |
|     int n_localName;
 | |
|     xmlChar * namespaceURI; /* the namespace URI of the attribute. */
 | |
|     int n_namespaceURI;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         localName = gen_const_xmlChar_ptr(n_localName, 1);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetAttributeNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_localName);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_READER_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlTextReaderErrorFunc_ptr 1
 | |
| #define gen_xmlTextReaderErrorFunc_ptr(no, nr) NULL
 | |
| #define des_xmlTextReaderErrorFunc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetErrorHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlTextReaderErrorFunc * f; /* the callback function or NULL is no callback has been registered */
 | |
|     int n_f;
 | |
|     void ** arg; /* a user argument */
 | |
|     int n_arg;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_f = 0;n_f < gen_nb_xmlTextReaderErrorFunc_ptr;n_f++) {
 | |
|     for (n_arg = 0;n_arg < gen_nb_void_ptr_ptr;n_arg++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         f = gen_xmlTextReaderErrorFunc_ptr(n_f, 1);
 | |
|         arg = gen_void_ptr_ptr(n_arg, 2);
 | |
| 
 | |
|         xmlTextReaderGetErrorHandler(reader, f, arg);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlTextReaderErrorFunc_ptr(n_f, f, 1);
 | |
|         des_void_ptr_ptr(n_arg, arg, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetErrorHandler",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_f);
 | |
|             printf(" %d", n_arg);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetParserColumnNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the user data (XML reader context) */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetParserColumnNumber(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetParserColumnNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetParserLineNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the user data (XML reader context) */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetParserLineNumber(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetParserLineNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetParserProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     int prop; /* the xmlParserProperties to get */
 | |
|     int n_prop;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         prop = gen_int(n_prop, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetParserProp(reader, prop);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_int(n_prop, prop, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetParserProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_prop);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderGetRemainder(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlParserInputBufferPtr ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderGetRemainder(reader);
 | |
|         desret_xmlParserInputBufferPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderGetRemainder",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderHasAttributes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderHasAttributes(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderHasAttributes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderHasValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderHasValue(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderHasValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderIsDefault(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderIsDefault(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderIsDefault",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderIsEmptyElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderIsEmptyElement(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderIsEmptyElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderIsNamespaceDecl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderIsNamespaceDecl(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderIsNamespaceDecl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderIsValid(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderIsValid(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderIsValid",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderLocalName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderLocalName(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderLocalName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_READER_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlTextReaderLocatorPtr 1
 | |
| #define gen_xmlTextReaderLocatorPtr(no, nr) NULL
 | |
| #define des_xmlTextReaderLocatorPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderLocatorBaseURI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
 | |
|     int n_locator;
 | |
| 
 | |
|     for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderLocatorBaseURI(locator);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderLocatorBaseURI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_locator);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderLocatorLineNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
 | |
|     int n_locator;
 | |
| 
 | |
|     for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderLocatorLineNumber(locator);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderLocatorLineNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_locator);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderLookupNamespace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * prefix; /* the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderLookupNamespace(reader, (const xmlChar *)prefix);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderLookupNamespace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * name; /* the qualified name of the attribute. */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToAttributeNo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     int no; /* the zero-based index of the attribute relative to the containing element. */
 | |
|     int n_no;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_no = 0;n_no < gen_nb_int;n_no++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         no = gen_int(n_no, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToAttributeNo(reader, no);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_int(n_no, no, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_no);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToAttributeNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * localName; /* the local name of the attribute. */
 | |
|     int n_localName;
 | |
|     xmlChar * namespaceURI; /* the namespace URI of the attribute. */
 | |
|     int n_namespaceURI;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         localName = gen_const_xmlChar_ptr(n_localName, 1);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_localName);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToElement(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToFirstAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToFirstAttribute(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToFirstAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderMoveToNextAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderMoveToNextAttribute(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderMoveToNextAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderName(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderNamespaceUri(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderNamespaceUri(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderNamespaceUri",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderNext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderNext(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderNext",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderNextSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderNextSibling(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderNextSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderNodeType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderNodeType(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderNodeType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderNormalization(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderNormalization(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderNormalization",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderPrefix(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderPrefix(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderPrefix",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderPreserve(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderPreserve(reader);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderPreserve",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderPreservePattern(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
 | |
| #ifdef LIBXML_PATTERN_ENABLED
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlChar * pattern; /* an XPath subset pattern */
 | |
|     int n_pattern;
 | |
|     xmlChar ** namespaces; /* the prefix definitions, array of [URI, prefix] or NULL */
 | |
|     int n_namespaces;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_pattern = 0;n_pattern < gen_nb_const_xmlChar_ptr;n_pattern++) {
 | |
|     for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         pattern = gen_const_xmlChar_ptr(n_pattern, 1);
 | |
|         namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderPreservePattern(reader, (const xmlChar *)pattern, (const xmlChar **)namespaces);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_xmlChar_ptr(n_pattern, (const xmlChar *)pattern, 1);
 | |
|         des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderPreservePattern",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_pattern);
 | |
|             printf(" %d", n_namespaces);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderQuoteChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderQuoteChar(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderQuoteChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderRead(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderRead(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderRead",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderReadAttributeValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderReadAttributeValue(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderReadAttributeValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderReadState(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderReadState(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderReadState",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderRelaxNGSetSchema(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlRelaxNGPtr schema; /* a precompiled RelaxNG schema */
 | |
|     int n_schema;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         schema = gen_xmlRelaxNGPtr(n_schema, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderRelaxNGSetSchema(reader, schema);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlRelaxNGPtr(n_schema, schema, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderRelaxNGSetSchema",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_schema);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderRelaxNGValidate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     char * rng; /* the path to a RelaxNG schema or NULL */
 | |
|     int n_rng;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_rng = 0;n_rng < gen_nb_const_char_ptr;n_rng++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         rng = gen_const_char_ptr(n_rng, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderRelaxNGValidate(reader, (const char *)rng);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_char_ptr(n_rng, (const char *)rng, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_rng);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderRelaxNGValidateCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG schema validation context or NULL */
 | |
|     int n_ctxt;
 | |
|     int options; /* options (not used yet) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 1);
 | |
|         options = gen_parseroptions(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderRelaxNGValidateCtxt(reader, ctxt, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 1);
 | |
|         des_parseroptions(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidateCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSchemaValidate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     char * xsd; /* the path to a W3C XSD schema or NULL */
 | |
|     int n_xsd;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_xsd = 0;n_xsd < gen_nb_const_char_ptr;n_xsd++) {
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         xsd = gen_const_char_ptr(n_xsd, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderSchemaValidate(reader, (const char *)xsd);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_const_char_ptr(n_xsd, (const char *)xsd, 1);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSchemaValidateCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* the XML Schema validation context or NULL */
 | |
|     int n_ctxt;
 | |
|     int options; /* options (not used yet) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 1);
 | |
|         options = gen_parseroptions(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderSchemaValidateCtxt(reader, ctxt, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 1);
 | |
|         des_parseroptions(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderSchemaValidateCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSetErrorHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSetParserProp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     int prop; /* the xmlParserProperties to set */
 | |
|     int n_prop;
 | |
|     int value; /* usually 0 or 1 to (de)activate it */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
 | |
|     for (n_value = 0;n_value < gen_nb_int;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         prop = gen_int(n_prop, 1);
 | |
|         value = gen_int(n_value, 2);
 | |
| 
 | |
|         ret_val = xmlTextReaderSetParserProp(reader, prop, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_int(n_prop, prop, 1);
 | |
|         des_int(n_value, value, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderSetParserProp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_prop);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSetSchema(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
|     xmlSchemaPtr schema; /* a precompiled Schema schema */
 | |
|     int n_schema;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         schema = gen_xmlSchemaPtr(n_schema, 1);
 | |
| 
 | |
|         ret_val = xmlTextReaderSetSchema(reader, schema);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_xmlSchemaPtr(n_schema, schema, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderSetSchema",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_schema);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSetStructuredErrorHandler(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderSetup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* an XML reader */
 | |
|     int n_reader;
 | |
|     xmlParserInputBufferPtr input; /* xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. */
 | |
|     int n_input;
 | |
|     const char * URL; /* the base URL to use for the document */
 | |
|     int n_URL;
 | |
|     char * encoding; /* the document encoding, or NULL */
 | |
|     int n_encoding;
 | |
|     int options; /* a combination of xmlParserOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
 | |
|     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
|         input = gen_xmlParserInputBufferPtr(n_input, 1);
 | |
|         URL = gen_filepath(n_URL, 2);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 3);
 | |
|         options = gen_parseroptions(n_options, 4);
 | |
| 
 | |
|         ret_val = xmlTextReaderSetup(reader, input, URL, (const char *)encoding, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         des_filepath(n_URL, URL, 2);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
 | |
|         des_parseroptions(n_options, options, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderSetup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf(" %d", n_input);
 | |
|             printf(" %d", n_URL);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderStandalone(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderStandalone(reader);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderStandalone",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderValue(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextReaderXmlLang(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_READER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
 | |
|     int n_reader;
 | |
| 
 | |
|     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         reader = gen_xmlTextReaderPtr(n_reader, 0);
 | |
| 
 | |
|         ret_val = xmlTextReaderXmlLang(reader);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextReaderPtr(n_reader, reader, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextReaderXmlLang",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_reader);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlreader(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlreader : 76 of 86 functions ...\n");
 | |
|     test_ret += test_xmlNewTextReader();
 | |
|     test_ret += test_xmlNewTextReaderFilename();
 | |
|     test_ret += test_xmlReaderForDoc();
 | |
|     test_ret += test_xmlReaderForFile();
 | |
|     test_ret += test_xmlReaderForMemory();
 | |
|     test_ret += test_xmlReaderNewDoc();
 | |
|     test_ret += test_xmlReaderNewFile();
 | |
|     test_ret += test_xmlReaderNewMemory();
 | |
|     test_ret += test_xmlReaderNewWalker();
 | |
|     test_ret += test_xmlReaderWalker();
 | |
|     test_ret += test_xmlTextReaderAttributeCount();
 | |
|     test_ret += test_xmlTextReaderBaseUri();
 | |
|     test_ret += test_xmlTextReaderByteConsumed();
 | |
|     test_ret += test_xmlTextReaderClose();
 | |
|     test_ret += test_xmlTextReaderConstBaseUri();
 | |
|     test_ret += test_xmlTextReaderConstEncoding();
 | |
|     test_ret += test_xmlTextReaderConstLocalName();
 | |
|     test_ret += test_xmlTextReaderConstName();
 | |
|     test_ret += test_xmlTextReaderConstNamespaceUri();
 | |
|     test_ret += test_xmlTextReaderConstPrefix();
 | |
|     test_ret += test_xmlTextReaderConstString();
 | |
|     test_ret += test_xmlTextReaderConstValue();
 | |
|     test_ret += test_xmlTextReaderConstXmlLang();
 | |
|     test_ret += test_xmlTextReaderConstXmlVersion();
 | |
|     test_ret += test_xmlTextReaderCurrentDoc();
 | |
|     test_ret += test_xmlTextReaderCurrentNode();
 | |
|     test_ret += test_xmlTextReaderDepth();
 | |
|     test_ret += test_xmlTextReaderExpand();
 | |
|     test_ret += test_xmlTextReaderGetAttribute();
 | |
|     test_ret += test_xmlTextReaderGetAttributeNo();
 | |
|     test_ret += test_xmlTextReaderGetAttributeNs();
 | |
|     test_ret += test_xmlTextReaderGetErrorHandler();
 | |
|     test_ret += test_xmlTextReaderGetParserColumnNumber();
 | |
|     test_ret += test_xmlTextReaderGetParserLineNumber();
 | |
|     test_ret += test_xmlTextReaderGetParserProp();
 | |
|     test_ret += test_xmlTextReaderGetRemainder();
 | |
|     test_ret += test_xmlTextReaderHasAttributes();
 | |
|     test_ret += test_xmlTextReaderHasValue();
 | |
|     test_ret += test_xmlTextReaderIsDefault();
 | |
|     test_ret += test_xmlTextReaderIsEmptyElement();
 | |
|     test_ret += test_xmlTextReaderIsNamespaceDecl();
 | |
|     test_ret += test_xmlTextReaderIsValid();
 | |
|     test_ret += test_xmlTextReaderLocalName();
 | |
|     test_ret += test_xmlTextReaderLocatorBaseURI();
 | |
|     test_ret += test_xmlTextReaderLocatorLineNumber();
 | |
|     test_ret += test_xmlTextReaderLookupNamespace();
 | |
|     test_ret += test_xmlTextReaderMoveToAttribute();
 | |
|     test_ret += test_xmlTextReaderMoveToAttributeNo();
 | |
|     test_ret += test_xmlTextReaderMoveToAttributeNs();
 | |
|     test_ret += test_xmlTextReaderMoveToElement();
 | |
|     test_ret += test_xmlTextReaderMoveToFirstAttribute();
 | |
|     test_ret += test_xmlTextReaderMoveToNextAttribute();
 | |
|     test_ret += test_xmlTextReaderName();
 | |
|     test_ret += test_xmlTextReaderNamespaceUri();
 | |
|     test_ret += test_xmlTextReaderNext();
 | |
|     test_ret += test_xmlTextReaderNextSibling();
 | |
|     test_ret += test_xmlTextReaderNodeType();
 | |
|     test_ret += test_xmlTextReaderNormalization();
 | |
|     test_ret += test_xmlTextReaderPrefix();
 | |
|     test_ret += test_xmlTextReaderPreserve();
 | |
|     test_ret += test_xmlTextReaderPreservePattern();
 | |
|     test_ret += test_xmlTextReaderQuoteChar();
 | |
|     test_ret += test_xmlTextReaderRead();
 | |
|     test_ret += test_xmlTextReaderReadAttributeValue();
 | |
|     test_ret += test_xmlTextReaderReadState();
 | |
|     test_ret += test_xmlTextReaderRelaxNGSetSchema();
 | |
|     test_ret += test_xmlTextReaderRelaxNGValidate();
 | |
|     test_ret += test_xmlTextReaderRelaxNGValidateCtxt();
 | |
|     test_ret += test_xmlTextReaderSchemaValidate();
 | |
|     test_ret += test_xmlTextReaderSchemaValidateCtxt();
 | |
|     test_ret += test_xmlTextReaderSetErrorHandler();
 | |
|     test_ret += test_xmlTextReaderSetParserProp();
 | |
|     test_ret += test_xmlTextReaderSetSchema();
 | |
|     test_ret += test_xmlTextReaderSetStructuredErrorHandler();
 | |
|     test_ret += test_xmlTextReaderSetup();
 | |
|     test_ret += test_xmlTextReaderStandalone();
 | |
|     test_ret += test_xmlTextReaderValue();
 | |
|     test_ret += test_xmlTextReaderXmlLang();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlreader: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlExpCtxtNbCons(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpCtxtPtr ctxt; /* an expression context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlExpCtxtNbCons(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpCtxtNbCons",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpCtxtNbNodes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpCtxtPtr ctxt; /* an expression context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlExpCtxtNbNodes(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpCtxtNbNodes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlBufferPtr buf; /* a buffer to receive the output */
 | |
|     int n_buf;
 | |
|     xmlExpNodePtr expr; /* the compiled expression */
 | |
|     int n_expr;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         expr = gen_xmlExpNodePtr(n_expr, 1);
 | |
| 
 | |
|         xmlExpDump(buf, expr);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_xmlExpNodePtr(n_expr, expr, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_expr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpExpDerive(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpGetLanguage(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpCtxtPtr ctxt; /* the expression context */
 | |
|     int n_ctxt;
 | |
|     xmlExpNodePtr exp; /* the expression */
 | |
|     int n_exp;
 | |
|     xmlChar ** langList; /* where to store the tokens */
 | |
|     int n_langList;
 | |
|     int len; /* the allocated length of @list */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
 | |
|     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
 | |
|     for (n_langList = 0;n_langList < gen_nb_const_xmlChar_ptr_ptr;n_langList++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
 | |
|         exp = gen_xmlExpNodePtr(n_exp, 1);
 | |
|         langList = gen_const_xmlChar_ptr_ptr(n_langList, 2);
 | |
|         len = gen_int(n_len, 3);
 | |
| 
 | |
|         ret_val = xmlExpGetLanguage(ctxt, exp, (const xmlChar **)langList, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlExpNodePtr(n_exp, exp, 1);
 | |
|         des_const_xmlChar_ptr_ptr(n_langList, (const xmlChar **)langList, 2);
 | |
|         des_int(n_len, len, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpGetLanguage",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_exp);
 | |
|             printf(" %d", n_langList);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpGetStart(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpCtxtPtr ctxt; /* the expression context */
 | |
|     int n_ctxt;
 | |
|     xmlExpNodePtr exp; /* the expression */
 | |
|     int n_exp;
 | |
|     xmlChar ** tokList; /* where to store the tokens */
 | |
|     int n_tokList;
 | |
|     int len; /* the allocated length of @list */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
 | |
|     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
 | |
|     for (n_tokList = 0;n_tokList < gen_nb_const_xmlChar_ptr_ptr;n_tokList++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
 | |
|         exp = gen_xmlExpNodePtr(n_exp, 1);
 | |
|         tokList = gen_const_xmlChar_ptr_ptr(n_tokList, 2);
 | |
|         len = gen_int(n_len, 3);
 | |
| 
 | |
|         ret_val = xmlExpGetStart(ctxt, exp, (const xmlChar **)tokList, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlExpNodePtr(n_exp, exp, 1);
 | |
|         des_const_xmlChar_ptr_ptr(n_tokList, (const xmlChar **)tokList, 2);
 | |
|         des_int(n_len, len, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpGetStart",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_exp);
 | |
|             printf(" %d", n_tokList);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpIsNillable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpNodePtr exp; /* the expression */
 | |
|     int n_exp;
 | |
| 
 | |
|     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exp = gen_xmlExpNodePtr(n_exp, 0);
 | |
| 
 | |
|         ret_val = xmlExpIsNillable(exp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpNodePtr(n_exp, exp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpIsNillable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpMaxToken(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpNodePtr expr; /* a compiled expression */
 | |
|     int n_expr;
 | |
| 
 | |
|     for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         expr = gen_xmlExpNodePtr(n_expr, 0);
 | |
| 
 | |
|         ret_val = xmlExpMaxToken(expr);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpNodePtr(n_expr, expr, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpMaxToken",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_expr);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpNewAtom(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpNewCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpNewOr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpNewRange(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpNewSeq(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpParse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpRef(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlExpNodePtr exp; /* the expression */
 | |
|     int n_exp;
 | |
| 
 | |
|     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exp = gen_xmlExpNodePtr(n_exp, 0);
 | |
| 
 | |
|         xmlExpRef(exp);
 | |
|         call_tests++;
 | |
|         des_xmlExpNodePtr(n_exp, exp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpRef",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpStringDerive(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlExpSubsume(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlExpCtxtPtr ctxt; /* the expressions context */
 | |
|     int n_ctxt;
 | |
|     xmlExpNodePtr exp; /* the englobing expression */
 | |
|     int n_exp;
 | |
|     xmlExpNodePtr sub; /* the subexpression */
 | |
|     int n_sub;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
 | |
|     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
 | |
|     for (n_sub = 0;n_sub < gen_nb_xmlExpNodePtr;n_sub++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
 | |
|         exp = gen_xmlExpNodePtr(n_exp, 1);
 | |
|         sub = gen_xmlExpNodePtr(n_sub, 2);
 | |
| 
 | |
|         ret_val = xmlExpSubsume(ctxt, exp, sub);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlExpNodePtr(n_exp, exp, 1);
 | |
|         des_xmlExpNodePtr(n_sub, sub, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlExpSubsume",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_exp);
 | |
|             printf(" %d", n_sub);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_REGEXP_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRegExecCtxtPtr 1
 | |
| #define gen_xmlRegExecCtxtPtr(no, nr) NULL
 | |
| #define des_xmlRegExecCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegExecErrInfo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegExecCtxtPtr exec; /* a regexp execution context generating an error */
 | |
|     int n_exec;
 | |
|     xmlChar ** string; /* return value for the error string */
 | |
|     int n_string;
 | |
|     int * nbval; /* pointer to the number of accepted values IN/OUT */
 | |
|     int n_nbval;
 | |
|     int * nbneg; /* return number of negative transitions */
 | |
|     int n_nbneg;
 | |
|     xmlChar ** values; /* pointer to the array of acceptable values */
 | |
|     int n_values;
 | |
|     int * terminal; /* return value if this was a terminal state */
 | |
|     int n_terminal;
 | |
| 
 | |
|     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
 | |
|     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr_ptr;n_string++) {
 | |
|     for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
 | |
|     for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
 | |
|     for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
 | |
|     for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
 | |
|         string = gen_const_xmlChar_ptr_ptr(n_string, 1);
 | |
|         nbval = gen_int_ptr(n_nbval, 2);
 | |
|         nbneg = gen_int_ptr(n_nbneg, 3);
 | |
|         values = gen_xmlChar_ptr_ptr(n_values, 4);
 | |
|         terminal = gen_int_ptr(n_terminal, 5);
 | |
| 
 | |
|         ret_val = xmlRegExecErrInfo(exec, (const xmlChar **)string, nbval, nbneg, values, terminal);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
 | |
|         des_const_xmlChar_ptr_ptr(n_string, (const xmlChar **)string, 1);
 | |
|         des_int_ptr(n_nbval, nbval, 2);
 | |
|         des_int_ptr(n_nbneg, nbneg, 3);
 | |
|         des_xmlChar_ptr_ptr(n_values, values, 4);
 | |
|         des_int_ptr(n_terminal, terminal, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegExecErrInfo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exec);
 | |
|             printf(" %d", n_string);
 | |
|             printf(" %d", n_nbval);
 | |
|             printf(" %d", n_nbneg);
 | |
|             printf(" %d", n_values);
 | |
|             printf(" %d", n_terminal);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegExecNextValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegExecCtxtPtr exec; /* a regexp execution context */
 | |
|     int n_exec;
 | |
|     int * nbval; /* pointer to the number of accepted values IN/OUT */
 | |
|     int n_nbval;
 | |
|     int * nbneg; /* return number of negative transitions */
 | |
|     int n_nbneg;
 | |
|     xmlChar ** values; /* pointer to the array of acceptable values */
 | |
|     int n_values;
 | |
|     int * terminal; /* return value if this was a terminal state */
 | |
|     int n_terminal;
 | |
| 
 | |
|     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
 | |
|     for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
 | |
|     for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
 | |
|     for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
 | |
|     for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
 | |
|         nbval = gen_int_ptr(n_nbval, 1);
 | |
|         nbneg = gen_int_ptr(n_nbneg, 2);
 | |
|         values = gen_xmlChar_ptr_ptr(n_values, 3);
 | |
|         terminal = gen_int_ptr(n_terminal, 4);
 | |
| 
 | |
|         ret_val = xmlRegExecNextValues(exec, nbval, nbneg, values, terminal);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
 | |
|         des_int_ptr(n_nbval, nbval, 1);
 | |
|         des_int_ptr(n_nbneg, nbneg, 2);
 | |
|         des_xmlChar_ptr_ptr(n_values, values, 3);
 | |
|         des_int_ptr(n_terminal, terminal, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegExecNextValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exec);
 | |
|             printf(" %d", n_nbval);
 | |
|             printf(" %d", n_nbneg);
 | |
|             printf(" %d", n_values);
 | |
|             printf(" %d", n_terminal);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegExecPushString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
 | |
|     int n_exec;
 | |
|     xmlChar * value; /* a string token input */
 | |
|     int n_value;
 | |
|     void * data; /* data associated to the token to reuse in callbacks */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         data = gen_userdata(n_data, 2);
 | |
| 
 | |
|         ret_val = xmlRegExecPushString(exec, (const xmlChar *)value, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_userdata(n_data, data, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegExecPushString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exec);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegExecPushString2(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
 | |
|     int n_exec;
 | |
|     xmlChar * value; /* the first string token input */
 | |
|     int n_value;
 | |
|     xmlChar * value2; /* the second string token input */
 | |
|     int n_value2;
 | |
|     void * data; /* data associated to the token to reuse in callbacks */
 | |
|     int n_data;
 | |
| 
 | |
|     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_value2 = 0;n_value2 < gen_nb_const_xmlChar_ptr;n_value2++) {
 | |
|     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         value2 = gen_const_xmlChar_ptr(n_value2, 2);
 | |
|         data = gen_userdata(n_data, 3);
 | |
| 
 | |
|         ret_val = xmlRegExecPushString2(exec, (const xmlChar *)value, (const xmlChar *)value2, data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_const_xmlChar_ptr(n_value2, (const xmlChar *)value2, 2);
 | |
|         des_userdata(n_data, data, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegExecPushString2",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_exec);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_value2);
 | |
|             printf(" %d", n_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegNewExecCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegexpCompile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_REGEXP_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlRegexpPtr 1
 | |
| #define gen_xmlRegexpPtr(no, nr) NULL
 | |
| #define des_xmlRegexpPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegexpExec(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegexpPtr comp; /* the compiled regular expression */
 | |
|     int n_comp;
 | |
|     xmlChar * content; /* the value to check against the regular expression */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlRegexpPtr(n_comp, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlRegexpExec(comp, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegexpPtr(n_comp, comp, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegexpExec",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegexpIsDeterminist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlRegexpPtr comp; /* the compiled regular expression */
 | |
|     int n_comp;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlRegexpPtr(n_comp, 0);
 | |
| 
 | |
|         ret_val = xmlRegexpIsDeterminist(comp);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlRegexpPtr(n_comp, comp, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegexpIsDeterminist",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlRegexpPrint(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_REGEXP_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the file for the output debug */
 | |
|     int n_output;
 | |
|     xmlRegexpPtr regexp; /* the compiled regexp */
 | |
|     int n_regexp;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_regexp = 0;n_regexp < gen_nb_xmlRegexpPtr;n_regexp++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         regexp = gen_xmlRegexpPtr(n_regexp, 1);
 | |
| 
 | |
|         xmlRegexpPrint(output, regexp);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlRegexpPtr(n_regexp, regexp, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlRegexpPrint",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_regexp);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlregexp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlregexp : 16 of 30 functions ...\n");
 | |
|     test_ret += test_xmlExpCtxtNbCons();
 | |
|     test_ret += test_xmlExpCtxtNbNodes();
 | |
|     test_ret += test_xmlExpDump();
 | |
|     test_ret += test_xmlExpExpDerive();
 | |
|     test_ret += test_xmlExpGetLanguage();
 | |
|     test_ret += test_xmlExpGetStart();
 | |
|     test_ret += test_xmlExpIsNillable();
 | |
|     test_ret += test_xmlExpMaxToken();
 | |
|     test_ret += test_xmlExpNewAtom();
 | |
|     test_ret += test_xmlExpNewCtxt();
 | |
|     test_ret += test_xmlExpNewOr();
 | |
|     test_ret += test_xmlExpNewRange();
 | |
|     test_ret += test_xmlExpNewSeq();
 | |
|     test_ret += test_xmlExpParse();
 | |
|     test_ret += test_xmlExpRef();
 | |
|     test_ret += test_xmlExpStringDerive();
 | |
|     test_ret += test_xmlExpSubsume();
 | |
|     test_ret += test_xmlRegExecErrInfo();
 | |
|     test_ret += test_xmlRegExecNextValues();
 | |
|     test_ret += test_xmlRegExecPushString();
 | |
|     test_ret += test_xmlRegExecPushString2();
 | |
|     test_ret += test_xmlRegNewExecCtxt();
 | |
|     test_ret += test_xmlRegexpCompile();
 | |
|     test_ret += test_xmlRegexpExec();
 | |
|     test_ret += test_xmlRegexpIsDeterminist();
 | |
|     test_ret += test_xmlRegexpPrint();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlregexp: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_OUTPUT_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSaveCtxtPtr 1
 | |
| #define gen_xmlSaveCtxtPtr(no, nr) NULL
 | |
| #define des_xmlSaveCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveClose(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSaveCtxtPtr ctxt; /* a document saving context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlSaveClose(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveClose",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlSaveCtxtPtr ctxt; /* a document saving context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlSaveDoc(ctxt, doc);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveFlush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSaveCtxtPtr ctxt; /* a document saving context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlSaveFlush(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveFlush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveSetAttrEscape(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveSetEscape(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveToBuffer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveToFd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveToFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSaveTree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlSaveCtxtPtr ctxt; /* a document saving context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /*  */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlSaveTree(ctxt, cur);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSaveTree",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlsave(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlsave : 4 of 10 functions ...\n");
 | |
|     test_ret += test_xmlSaveClose();
 | |
|     test_ret += test_xmlSaveDoc();
 | |
|     test_ret += test_xmlSaveFlush();
 | |
|     test_ret += test_xmlSaveSetAttrEscape();
 | |
|     test_ret += test_xmlSaveSetEscape();
 | |
|     test_ret += test_xmlSaveToBuffer();
 | |
|     test_ret += test_xmlSaveToFd();
 | |
|     test_ret += test_xmlSaveToFilename();
 | |
|     test_ret += test_xmlSaveTree();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlsave: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaDump(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the file output */
 | |
|     int n_output;
 | |
|     xmlSchemaPtr schema; /* a schema structure */
 | |
|     int n_schema;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         schema = gen_xmlSchemaPtr(n_schema, 1);
 | |
| 
 | |
|         xmlSchemaDump(output, schema);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlSchemaPtr(n_schema, schema, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaDump",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_schema);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaParserCtxtPtr 1
 | |
| #define gen_xmlSchemaParserCtxtPtr(no, nr) NULL
 | |
| #define des_xmlSchemaParserCtxtPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaValidityErrorFunc_ptr 1
 | |
| #define gen_xmlSchemaValidityErrorFunc_ptr(no, nr) NULL
 | |
| #define des_xmlSchemaValidityErrorFunc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaValidityWarningFunc_ptr 1
 | |
| #define gen_xmlSchemaValidityWarningFunc_ptr(no, nr) NULL
 | |
| #define des_xmlSchemaValidityWarningFunc_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetParserErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaParserCtxtPtr ctxt; /* a XMl-Schema parser context */
 | |
|     int n_ctxt;
 | |
|     xmlSchemaValidityErrorFunc * err; /* the error callback result */
 | |
|     int n_err;
 | |
|     xmlSchemaValidityWarningFunc * warn; /* the warning callback result */
 | |
|     int n_warn;
 | |
|     void ** ctx; /* contextual data for the callbacks result */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
 | |
|     for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaParserCtxtPtr(n_ctxt, 0);
 | |
|         err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
 | |
|         warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
 | |
|         ctx = gen_void_ptr_ptr(n_ctx, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaGetParserErrors(ctxt, err, warn, ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
 | |
|         des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
 | |
|         des_void_ptr_ptr(n_ctx, ctx, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetParserErrors",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_err);
 | |
|             printf(" %d", n_warn);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetValidErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a XML-Schema validation context */
 | |
|     int n_ctxt;
 | |
|     xmlSchemaValidityErrorFunc * err; /* the error function result */
 | |
|     int n_err;
 | |
|     xmlSchemaValidityWarningFunc * warn; /* the warning function result */
 | |
|     int n_warn;
 | |
|     void ** ctx; /* the functions context result */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
 | |
|     for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
 | |
|         warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
 | |
|         ctx = gen_void_ptr_ptr(n_ctx, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaGetValidErrors(ctxt, err, warn, ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
 | |
|         des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
 | |
|         des_void_ptr_ptr(n_ctx, ctx, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetValidErrors",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_err);
 | |
|             printf(" %d", n_warn);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaIsValid(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* the schema validation context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaIsValid(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaIsValid",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewDocParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaParserCtxtPtr ret_val;
 | |
|     xmlDocPtr doc; /* a preparsed document tree */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaNewDocParserCtxt(doc);
 | |
|         desret_xmlSchemaParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaNewDocParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewMemParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaParserCtxtPtr ret_val;
 | |
|     char * buffer; /* a pointer to a char array containing the schemas */
 | |
|     int n_buffer;
 | |
|     int size; /* the size of the array */
 | |
|     int n_size;
 | |
| 
 | |
|     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
 | |
|     for (n_size = 0;n_size < gen_nb_int;n_size++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buffer = gen_const_char_ptr(n_buffer, 0);
 | |
|         size = gen_int(n_size, 1);
 | |
|         if ((buffer != NULL) &&
 | |
|             (size > (int) strlen((const char *) buffer) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
 | |
|         desret_xmlSchemaParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
 | |
|         des_int(n_size, size, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaNewMemParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buffer);
 | |
|             printf(" %d", n_size);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaParserCtxtPtr ret_val;
 | |
|     char * URL; /* the location of the schema */
 | |
|     int n_URL;
 | |
| 
 | |
|     for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         URL = gen_const_char_ptr(n_URL, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaNewParserCtxt((const char *)URL);
 | |
|         desret_xmlSchemaParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_URL, (const char *)URL, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaNewParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_URL);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewValidCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaParse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSAXPlug(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaSAXPlugPtr 1
 | |
| #define gen_xmlSchemaSAXPlugPtr(no, nr) NULL
 | |
| #define des_xmlSchemaSAXPlugPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSAXUnplug(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaSAXPlugPtr plug; /* a data structure returned by xmlSchemaSAXPlug */
 | |
|     int n_plug;
 | |
| 
 | |
|     for (n_plug = 0;n_plug < gen_nb_xmlSchemaSAXPlugPtr;n_plug++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         plug = gen_xmlSchemaSAXPlugPtr(n_plug, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaSAXUnplug(plug);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaSAXPlugPtr(n_plug, plug, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaSAXUnplug",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_plug);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSetParserErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSetParserStructuredErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSetValidErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSetValidOptions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
|     int options; /* a combination of xmlSchemaValidOption */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         options = gen_int(n_options, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaSetValidOptions(ctxt, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_options, options, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaSetValidOptions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaSetValidStructuredErrors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidCtxtGetOptions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaValidCtxtGetOptions(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidCtxtGetOptions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidCtxtGetParserCtxt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlParserCtxtPtr ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaValidCtxtGetParserCtxt(ctxt);
 | |
|         desret_xmlParserCtxtPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidCtxtGetParserCtxt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateDoc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
|     xmlDocPtr doc; /* a parsed document tree */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         doc = gen_xmlDocPtr(n_doc, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateDoc(ctxt, doc);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlDocPtr(n_doc, doc, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateDoc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateFile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
|     const char * filename; /* the URI of the instance */
 | |
|     int n_filename;
 | |
|     int options; /* a future set of options, currently unused */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
|         options = gen_int(n_options, 2);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateFile(ctxt, filename, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         des_int(n_options, options, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateFile",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateOneElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr elem; /* an element node */
 | |
|     int n_elem;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         elem = gen_xmlNodePtr(n_elem, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateOneElement(ctxt, elem);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_elem, elem, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateOneElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_elem);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateSetFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaValidCtxtPtr vctxt; /* the schema validation context */
 | |
|     int n_vctxt;
 | |
|     const char * filename; /* the file name */
 | |
|     int n_filename;
 | |
| 
 | |
|     for (n_vctxt = 0;n_vctxt < gen_nb_xmlSchemaValidCtxtPtr;n_vctxt++) {
 | |
|     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         vctxt = gen_xmlSchemaValidCtxtPtr(n_vctxt, 0);
 | |
|         filename = gen_filepath(n_filename, 1);
 | |
| 
 | |
|         xmlSchemaValidateSetFilename(vctxt, filename);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_vctxt, vctxt, 0);
 | |
|         des_filepath(n_filename, filename, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateSetFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_vctxt);
 | |
|             printf(" %d", n_filename);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateSetLocator(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateStream(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
 | |
|     int n_ctxt;
 | |
|     xmlParserInputBufferPtr input; /* the input to use for reading the data */
 | |
|     int n_input;
 | |
|     xmlCharEncoding enc; /* an optional encoding information */
 | |
|     int n_enc;
 | |
|     xmlSAXHandlerPtr sax; /* a SAX handler for the resulting events */
 | |
|     int n_sax;
 | |
|     void * user_data; /* the context to provide to the SAX handler. */
 | |
|     int n_user_data;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
 | |
|     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
 | |
|     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
 | |
|     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
 | |
|     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
 | |
|         input = gen_xmlParserInputBufferPtr(n_input, 1);
 | |
|         enc = gen_xmlCharEncoding(n_enc, 2);
 | |
|         sax = gen_xmlSAXHandlerPtr(n_sax, 3);
 | |
|         user_data = gen_userdata(n_user_data, 4);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateStream(ctxt, input, enc, sax, user_data);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlParserInputBufferPtr(n_input, input, 1);
 | |
|         des_xmlCharEncoding(n_enc, enc, 2);
 | |
|         des_xmlSAXHandlerPtr(n_sax, sax, 3);
 | |
|         des_userdata(n_user_data, user_data, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateStream",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_input);
 | |
|             printf(" %d", n_enc);
 | |
|             printf(" %d", n_sax);
 | |
|             printf(" %d", n_user_data);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlschemas(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlschemas : 16 of 27 functions ...\n");
 | |
|     test_ret += test_xmlSchemaDump();
 | |
|     test_ret += test_xmlSchemaGetParserErrors();
 | |
|     test_ret += test_xmlSchemaGetValidErrors();
 | |
|     test_ret += test_xmlSchemaIsValid();
 | |
|     test_ret += test_xmlSchemaNewDocParserCtxt();
 | |
|     test_ret += test_xmlSchemaNewMemParserCtxt();
 | |
|     test_ret += test_xmlSchemaNewParserCtxt();
 | |
|     test_ret += test_xmlSchemaNewValidCtxt();
 | |
|     test_ret += test_xmlSchemaParse();
 | |
|     test_ret += test_xmlSchemaSAXPlug();
 | |
|     test_ret += test_xmlSchemaSAXUnplug();
 | |
|     test_ret += test_xmlSchemaSetParserErrors();
 | |
|     test_ret += test_xmlSchemaSetParserStructuredErrors();
 | |
|     test_ret += test_xmlSchemaSetValidErrors();
 | |
|     test_ret += test_xmlSchemaSetValidOptions();
 | |
|     test_ret += test_xmlSchemaSetValidStructuredErrors();
 | |
|     test_ret += test_xmlSchemaValidCtxtGetOptions();
 | |
|     test_ret += test_xmlSchemaValidCtxtGetParserCtxt();
 | |
|     test_ret += test_xmlSchemaValidateDoc();
 | |
|     test_ret += test_xmlSchemaValidateFile();
 | |
|     test_ret += test_xmlSchemaValidateOneElement();
 | |
|     test_ret += test_xmlSchemaValidateSetFilename();
 | |
|     test_ret += test_xmlSchemaValidateSetLocator();
 | |
|     test_ret += test_xmlSchemaValidateStream();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlschemas: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaFacetPtr 1
 | |
| #define gen_xmlSchemaFacetPtr(no, nr) NULL
 | |
| #define des_xmlSchemaFacetPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaTypePtr 1
 | |
| #define gen_xmlSchemaTypePtr(no, nr) NULL
 | |
| #define des_xmlSchemaTypePtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCheckFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaFacetPtr facet; /* the facet */
 | |
|     int n_facet;
 | |
|     xmlSchemaTypePtr typeDecl; /* the schema type definition */
 | |
|     int n_typeDecl;
 | |
|     xmlSchemaParserCtxtPtr pctxt; /* the schema parser context or NULL */
 | |
|     int n_pctxt;
 | |
|     xmlChar * name; /* the optional name of the type */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_typeDecl = 0;n_typeDecl < gen_nb_xmlSchemaTypePtr;n_typeDecl++) {
 | |
|     for (n_pctxt = 0;n_pctxt < gen_nb_xmlSchemaParserCtxtPtr;n_pctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
 | |
|         typeDecl = gen_xmlSchemaTypePtr(n_typeDecl, 1);
 | |
|         pctxt = gen_xmlSchemaParserCtxtPtr(n_pctxt, 2);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaCheckFacet(facet, typeDecl, pctxt, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 0);
 | |
|         des_xmlSchemaTypePtr(n_typeDecl, typeDecl, 1);
 | |
|         des_xmlSchemaParserCtxtPtr(n_pctxt, pctxt, 2);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaCheckFacet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_typeDecl);
 | |
|             printf(" %d", n_pctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCleanupTypes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
| 
 | |
| 
 | |
|         xmlSchemaCleanupTypes();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCollapseString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * value; /* a value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaCollapseString((const xmlChar *)value);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaCollapseString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaValPtr 1
 | |
| #define gen_xmlSchemaValPtr(no, nr) NULL
 | |
| #define des_xmlSchemaValPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCompareValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr x; /* a first value */
 | |
|     int n_x;
 | |
|     xmlSchemaValPtr y; /* a second value */
 | |
|     int n_y;
 | |
| 
 | |
|     for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
 | |
|     for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         x = gen_xmlSchemaValPtr(n_x, 0);
 | |
|         y = gen_xmlSchemaValPtr(n_y, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaCompareValues(x, y);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_x, x, 0);
 | |
|         des_xmlSchemaValPtr(n_y, y, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaCompareValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_x);
 | |
|             printf(" %d", n_y);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCompareValuesWhtsp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr x; /* a first value */
 | |
|     int n_x;
 | |
|     xmlSchemaWhitespaceValueType xws; /* the whitespace value of x */
 | |
|     int n_xws;
 | |
|     xmlSchemaValPtr y; /* a second value */
 | |
|     int n_y;
 | |
|     xmlSchemaWhitespaceValueType yws; /* the whitespace value of y */
 | |
|     int n_yws;
 | |
| 
 | |
|     for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
 | |
|     for (n_xws = 0;n_xws < gen_nb_xmlSchemaWhitespaceValueType;n_xws++) {
 | |
|     for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
 | |
|     for (n_yws = 0;n_yws < gen_nb_xmlSchemaWhitespaceValueType;n_yws++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         x = gen_xmlSchemaValPtr(n_x, 0);
 | |
|         xws = gen_xmlSchemaWhitespaceValueType(n_xws, 1);
 | |
|         y = gen_xmlSchemaValPtr(n_y, 2);
 | |
|         yws = gen_xmlSchemaWhitespaceValueType(n_yws, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaCompareValuesWhtsp(x, xws, y, yws);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_x, x, 0);
 | |
|         des_xmlSchemaWhitespaceValueType(n_xws, xws, 1);
 | |
|         des_xmlSchemaValPtr(n_y, y, 2);
 | |
|         des_xmlSchemaWhitespaceValueType(n_yws, yws, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaCompareValuesWhtsp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_x);
 | |
|             printf(" %d", n_xws);
 | |
|             printf(" %d", n_y);
 | |
|             printf(" %d", n_yws);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaCopyValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetBuiltInListSimpleTypeItemType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaTypePtr ret_val;
 | |
|     xmlSchemaTypePtr type; /* the built-in simple type. */
 | |
|     int n_type;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaGetBuiltInListSimpleTypeItemType(type);
 | |
|         desret_xmlSchemaTypePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetBuiltInListSimpleTypeItemType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetBuiltInType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     xmlSchemaTypePtr ret_val;
 | |
|     xmlSchemaValType type; /* the type of the built in type */
 | |
|     int n_type;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaValType;n_type++) {
 | |
|         type = gen_xmlSchemaValType(n_type, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaGetBuiltInType(type);
 | |
|         desret_xmlSchemaTypePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValType(n_type, type, 0);
 | |
|         xmlResetLastError();
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetCanonValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
|     xmlChar ** retValue; /* the returned value */
 | |
|     int n_retValue;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|     for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlSchemaValPtr(n_val, 0);
 | |
|         retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaGetCanonValue(val, (const xmlChar **)retValue);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_val, val, 0);
 | |
|         des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetCanonValue",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_retValue);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetCanonValueWhtsp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
|     xmlChar ** retValue; /* the returned value */
 | |
|     int n_retValue;
 | |
|     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
 | |
|     int n_ws;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|     for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
 | |
|     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlSchemaValPtr(n_val, 0);
 | |
|         retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
 | |
|         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 2);
 | |
| 
 | |
|         ret_val = xmlSchemaGetCanonValueWhtsp(val, (const xmlChar **)retValue, ws);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_val, val, 0);
 | |
|         des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
 | |
|         des_xmlSchemaWhitespaceValueType(n_ws, ws, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetCanonValueWhtsp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_retValue);
 | |
|             printf(" %d", n_ws);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetFacetValueAsULong(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     unsigned long ret_val;
 | |
|     xmlSchemaFacetPtr facet; /* an schemas type facet */
 | |
|     int n_facet;
 | |
| 
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaGetFacetValueAsULong(facet);
 | |
|         desret_unsigned_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetFacetValueAsULong",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_facet);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetPredefinedType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaTypePtr ret_val;
 | |
|     xmlChar * name; /* the type name */
 | |
|     int n_name;
 | |
|     xmlChar * ns; /* the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
|         ns = gen_const_xmlChar_ptr(n_ns, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaGetPredefinedType((const xmlChar *)name, (const xmlChar *)ns);
 | |
|         desret_xmlSchemaTypePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetPredefinedType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaGetValType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlSchemaValType ret_val;
 | |
|     xmlSchemaValPtr val; /* a schemas value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlSchemaValPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaGetValType(val);
 | |
|         desret_xmlSchemaValType(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaGetValType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaInitTypes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
| 
 | |
| 
 | |
|         xmlSchemaInitTypes();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaIsBuiltInTypeFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr type; /* the built-in type */
 | |
|     int n_type;
 | |
|     int facetType; /* the facet type */
 | |
|     int n_facetType;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|     for (n_facetType = 0;n_facetType < gen_nb_int;n_facetType++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
|         facetType = gen_int(n_facetType, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaIsBuiltInTypeFacet(type, facetType);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         des_int(n_facetType, facetType, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaIsBuiltInTypeFacet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_facetType);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewNOTATIONValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewQNameValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaNewStringValue(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_SCHEMAS_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlSchemaValPtr_ptr 1
 | |
| #define gen_xmlSchemaValPtr_ptr(no, nr) NULL
 | |
| #define des_xmlSchemaValPtr_ptr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValPredefTypeNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr type; /* the predefined type */
 | |
|     int n_type;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr * val; /* the return computed value */
 | |
|     int n_val;
 | |
|     xmlNodePtr node; /* the node containing the value */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
 | |
|         node = gen_xmlNodePtr(n_node, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaValPredefTypeNode(type, (const xmlChar *)value, val, node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_xmlSchemaValPtr_ptr(n_val, val, 2);
 | |
|         des_xmlNodePtr(n_node, node, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValPredefTypeNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValPredefTypeNodeNoNorm(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr type; /* the predefined type */
 | |
|     int n_type;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr * val; /* the return computed value */
 | |
|     int n_val;
 | |
|     xmlNodePtr node; /* the node containing the value */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
 | |
|         node = gen_xmlNodePtr(n_node, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaValPredefTypeNodeNoNorm(type, (const xmlChar *)value, val, node);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_xmlSchemaValPtr_ptr(n_val, val, 2);
 | |
|         des_xmlNodePtr(n_node, node, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValPredefTypeNodeNoNorm",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr base; /* the base type */
 | |
|     int n_base;
 | |
|     xmlSchemaFacetPtr facet; /* the facet to check */
 | |
|     int n_facet;
 | |
|     xmlChar * value; /* the lexical repr of the value to validate */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_base = 0;n_base < gen_nb_xmlSchemaTypePtr;n_base++) {
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         base = gen_xmlSchemaTypePtr(n_base, 0);
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
|         val = gen_xmlSchemaValPtr(n_val, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateFacet(base, facet, (const xmlChar *)value, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_base, base, 0);
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         des_xmlSchemaValPtr(n_val, val, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateFacet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_base);
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateFacetWhtsp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaFacetPtr facet; /* the facet to check */
 | |
|     int n_facet;
 | |
|     xmlSchemaWhitespaceValueType fws; /* the whitespace type of the facet's value */
 | |
|     int n_fws;
 | |
|     xmlSchemaValType valType; /* the built-in type of the value */
 | |
|     int n_valType;
 | |
|     xmlChar * value; /* the lexical (or normalized for pattern) repr of the value to validate */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
|     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
 | |
|     int n_ws;
 | |
| 
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_fws = 0;n_fws < gen_nb_xmlSchemaWhitespaceValueType;n_fws++) {
 | |
|     for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
 | |
|         fws = gen_xmlSchemaWhitespaceValueType(n_fws, 1);
 | |
|         valType = gen_xmlSchemaValType(n_valType, 2);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 3);
 | |
|         val = gen_xmlSchemaValPtr(n_val, 4);
 | |
|         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateFacetWhtsp(facet, fws, valType, (const xmlChar *)value, val, ws);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 0);
 | |
|         des_xmlSchemaWhitespaceValueType(n_fws, fws, 1);
 | |
|         des_xmlSchemaValType(n_valType, valType, 2);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
 | |
|         des_xmlSchemaValPtr(n_val, val, 4);
 | |
|         des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateFacetWhtsp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_fws);
 | |
|             printf(" %d", n_valType);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_ws);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateLengthFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr type; /* the built-in type */
 | |
|     int n_type;
 | |
|     xmlSchemaFacetPtr facet; /* the facet to check */
 | |
|     int n_facet;
 | |
|     xmlChar * value; /* the lexical repr. of the value to be validated */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
|     unsigned long * length; /* the actual length of the value */
 | |
|     int n_length;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|     for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
|         val = gen_xmlSchemaValPtr(n_val, 3);
 | |
|         length = gen_unsigned_long_ptr(n_length, 4);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateLengthFacet(type, facet, (const xmlChar *)value, val, length);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         des_xmlSchemaValPtr(n_val, val, 3);
 | |
|         des_unsigned_long_ptr(n_length, length, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateLengthFacet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_length);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateLengthFacetWhtsp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaFacetPtr facet; /* the facet to check */
 | |
|     int n_facet;
 | |
|     xmlSchemaValType valType; /* the built-in type */
 | |
|     int n_valType;
 | |
|     xmlChar * value; /* the lexical repr. of the value to be validated */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr val; /* the precomputed value */
 | |
|     int n_val;
 | |
|     unsigned long * length; /* the actual length of the value */
 | |
|     int n_length;
 | |
|     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
 | |
|     int n_ws;
 | |
| 
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|     for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
 | |
|     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
 | |
|         valType = gen_xmlSchemaValType(n_valType, 1);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 2);
 | |
|         val = gen_xmlSchemaValPtr(n_val, 3);
 | |
|         length = gen_unsigned_long_ptr(n_length, 4);
 | |
|         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateLengthFacetWhtsp(facet, valType, (const xmlChar *)value, val, length, ws);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 0);
 | |
|         des_xmlSchemaValType(n_valType, valType, 1);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
 | |
|         des_xmlSchemaValPtr(n_val, val, 3);
 | |
|         des_unsigned_long_ptr(n_length, length, 4);
 | |
|         des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateLengthFacetWhtsp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_valType);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf(" %d", n_length);
 | |
|             printf(" %d", n_ws);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidateListSimpleTypeFacet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaFacetPtr facet; /* the facet to check */
 | |
|     int n_facet;
 | |
|     xmlChar * value; /* the lexical repr of the value to validate */
 | |
|     int n_value;
 | |
|     unsigned long actualLen; /* the number of list items */
 | |
|     int n_actualLen;
 | |
|     unsigned long * expectedLen; /* the resulting expected number of list items */
 | |
|     int n_expectedLen;
 | |
| 
 | |
|     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_actualLen = 0;n_actualLen < gen_nb_unsigned_long;n_actualLen++) {
 | |
|     for (n_expectedLen = 0;n_expectedLen < gen_nb_unsigned_long_ptr;n_expectedLen++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         actualLen = gen_unsigned_long(n_actualLen, 2);
 | |
|         expectedLen = gen_unsigned_long_ptr(n_expectedLen, 3);
 | |
| 
 | |
|         ret_val = xmlSchemaValidateListSimpleTypeFacet(facet, (const xmlChar *)value, actualLen, expectedLen);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaFacetPtr(n_facet, facet, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_unsigned_long(n_actualLen, actualLen, 2);
 | |
|         des_unsigned_long_ptr(n_expectedLen, expectedLen, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidateListSimpleTypeFacet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_facet);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_actualLen);
 | |
|             printf(" %d", n_expectedLen);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValidatePredefinedType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaTypePtr type; /* the predefined type */
 | |
|     int n_type;
 | |
|     xmlChar * value; /* the value to check */
 | |
|     int n_value;
 | |
|     xmlSchemaValPtr * val; /* the return computed value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         type = gen_xmlSchemaTypePtr(n_type, 0);
 | |
|         value = gen_const_xmlChar_ptr(n_value, 1);
 | |
|         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
 | |
| 
 | |
|         ret_val = xmlSchemaValidatePredefinedType(type, (const xmlChar *)value, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaTypePtr(n_type, type, 0);
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
 | |
|         des_xmlSchemaValPtr_ptr(n_val, val, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValidatePredefinedType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_type);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValueAppend(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr prev; /* the value */
 | |
|     int n_prev;
 | |
|     xmlSchemaValPtr cur; /* the value to be appended */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_prev = 0;n_prev < gen_nb_xmlSchemaValPtr;n_prev++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlSchemaValPtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         prev = gen_xmlSchemaValPtr(n_prev, 0);
 | |
|         cur = gen_xmlSchemaValPtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlSchemaValueAppend(prev, cur);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_prev, prev, 0);
 | |
|         des_xmlSchemaValPtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValueAppend",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_prev);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValueGetAsBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlSchemaValPtr val; /* the value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlSchemaValPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaValueGetAsBoolean(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValueGetAsBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValueGetAsString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlSchemaValPtr val; /* the value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlSchemaValPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaValueGetAsString(val);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlSchemaValPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaValueGetAsString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaValueGetNext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlSchemaWhiteSpaceReplace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * value; /* a value */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         value = gen_const_xmlChar_ptr(n_value, 0);
 | |
| 
 | |
|         ret_val = xmlSchemaWhiteSpaceReplace((const xmlChar *)value);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlSchemaWhiteSpaceReplace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlschemastypes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlschemastypes : 26 of 34 functions ...\n");
 | |
|     test_ret += test_xmlSchemaCheckFacet();
 | |
|     test_ret += test_xmlSchemaCleanupTypes();
 | |
|     test_ret += test_xmlSchemaCollapseString();
 | |
|     test_ret += test_xmlSchemaCompareValues();
 | |
|     test_ret += test_xmlSchemaCompareValuesWhtsp();
 | |
|     test_ret += test_xmlSchemaCopyValue();
 | |
|     test_ret += test_xmlSchemaGetBuiltInListSimpleTypeItemType();
 | |
|     test_ret += test_xmlSchemaGetBuiltInType();
 | |
|     test_ret += test_xmlSchemaGetCanonValue();
 | |
|     test_ret += test_xmlSchemaGetCanonValueWhtsp();
 | |
|     test_ret += test_xmlSchemaGetFacetValueAsULong();
 | |
|     test_ret += test_xmlSchemaGetPredefinedType();
 | |
|     test_ret += test_xmlSchemaGetValType();
 | |
|     test_ret += test_xmlSchemaInitTypes();
 | |
|     test_ret += test_xmlSchemaIsBuiltInTypeFacet();
 | |
|     test_ret += test_xmlSchemaNewFacet();
 | |
|     test_ret += test_xmlSchemaNewNOTATIONValue();
 | |
|     test_ret += test_xmlSchemaNewQNameValue();
 | |
|     test_ret += test_xmlSchemaNewStringValue();
 | |
|     test_ret += test_xmlSchemaValPredefTypeNode();
 | |
|     test_ret += test_xmlSchemaValPredefTypeNodeNoNorm();
 | |
|     test_ret += test_xmlSchemaValidateFacet();
 | |
|     test_ret += test_xmlSchemaValidateFacetWhtsp();
 | |
|     test_ret += test_xmlSchemaValidateLengthFacet();
 | |
|     test_ret += test_xmlSchemaValidateLengthFacetWhtsp();
 | |
|     test_ret += test_xmlSchemaValidateListSimpleTypeFacet();
 | |
|     test_ret += test_xmlSchemaValidatePredefinedType();
 | |
|     test_ret += test_xmlSchemaValueAppend();
 | |
|     test_ret += test_xmlSchemaValueGetAsBoolean();
 | |
|     test_ret += test_xmlSchemaValueGetAsString();
 | |
|     test_ret += test_xmlSchemaValueGetNext();
 | |
|     test_ret += test_xmlSchemaWhiteSpaceReplace();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlschemastypes: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlCharStrdup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     char * cur; /* the input char * */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_char_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlCharStrdup((const char *)cur);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_cur, (const char *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharStrdup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCharStrndup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     char * cur; /* the input char * */
 | |
|     int n_cur;
 | |
|     int len; /* the len of @cur */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_char_ptr(n_cur, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         if ((cur != NULL) &&
 | |
|             (len > (int) strlen((const char *) cur) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlCharStrndup((const char *)cur, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_cur, (const char *)cur, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCharStrndup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlCheckUTF8(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * utf; /* Pointer to putative UTF-8 encoded string. */
 | |
|     int n_utf;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_unsigned_char_ptr(n_utf, 0);
 | |
| 
 | |
|         ret_val = xmlCheckUTF8((const unsigned char *)utf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlCheckUTF8",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlGetUTF8Char(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     unsigned char * utf; /* a sequence of UTF-8 encoded bytes */
 | |
|     int n_utf;
 | |
|     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. */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_unsigned_char_ptr(n_utf, 0);
 | |
|         len = gen_int_ptr(n_len, 1);
 | |
| 
 | |
|         ret_val = xmlGetUTF8Char((const unsigned char *)utf, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
 | |
|         des_int_ptr(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlGetUTF8Char",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrEqual(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str1; /* the first xmlChar * */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* the second xmlChar * */
 | |
|     int n_str2;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
| 
 | |
|         ret_val = xmlStrEqual((const xmlChar *)str1, (const xmlChar *)str2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrEqual",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrPrintf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrQEqual(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * pref; /* the prefix of the QName */
 | |
|     int n_pref;
 | |
|     xmlChar * name; /* the localname of the QName */
 | |
|     int n_name;
 | |
|     xmlChar * str; /* the second xmlChar * */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_pref = 0;n_pref < gen_nb_const_xmlChar_ptr;n_pref++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         pref = gen_const_xmlChar_ptr(n_pref, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 2);
 | |
| 
 | |
|         ret_val = xmlStrQEqual((const xmlChar *)pref, (const xmlChar *)name, (const xmlChar *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_pref, (const xmlChar *)pref, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrQEqual",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_pref);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrVPrintf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrcasecmp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str1; /* the first xmlChar * */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* the second xmlChar * */
 | |
|     int n_str2;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
| 
 | |
|         ret_val = xmlStrcasecmp((const xmlChar *)str1, (const xmlChar *)str2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrcasecmp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrcasestr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlChar * str; /* the xmlChar * array (haystack) */
 | |
|     int n_str;
 | |
|     xmlChar * val; /* the xmlChar to search (needle) */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         val = gen_const_xmlChar_ptr(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlStrcasestr((const xmlChar *)str, (const xmlChar *)val);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrcasestr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrchr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlChar * str; /* the xmlChar * array */
 | |
|     int n_str;
 | |
|     xmlChar val; /* the xmlChar to search */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlChar;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         val = gen_xmlChar(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlStrchr((const xmlChar *)str, val);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_xmlChar(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrchr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrcmp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str1; /* the first xmlChar * */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* the second xmlChar * */
 | |
|     int n_str2;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
| 
 | |
|         ret_val = xmlStrcmp((const xmlChar *)str1, (const xmlChar *)str2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrcmp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrdup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * cur; /* the input xmlChar * */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
| 
 | |
|         ret_val = xmlStrdup((const xmlChar *)cur);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrdup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrlen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str; /* the xmlChar * array */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
| 
 | |
|         ret_val = xmlStrlen((const xmlChar *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrlen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrncasecmp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str1; /* the first xmlChar * */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* the second xmlChar * */
 | |
|     int n_str2;
 | |
|     int len; /* the max comparison length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str2 != NULL) &&
 | |
|             (len > (int) strlen((const char *) str2) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrncasecmp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrncatNew(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * str1; /* first xmlChar string */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* second xmlChar string */
 | |
|     int n_str2;
 | |
|     int len; /* the len of @str2 or < 0 */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str2 != NULL) &&
 | |
|             (len > (int) strlen((const char *) str2) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrncatNew",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrncmp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * str1; /* the first xmlChar * */
 | |
|     int n_str1;
 | |
|     xmlChar * str2; /* the second xmlChar * */
 | |
|     int n_str2;
 | |
|     int len; /* the max comparison length */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
 | |
|     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str1 = gen_const_xmlChar_ptr(n_str1, 0);
 | |
|         str2 = gen_const_xmlChar_ptr(n_str2, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str2 != NULL) &&
 | |
|             (len > (int) strlen((const char *) str2) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
 | |
|         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrncmp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str1);
 | |
|             printf(" %d", n_str2);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrndup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * cur; /* the input xmlChar * */
 | |
|     int n_cur;
 | |
|     int len; /* the len of @cur */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_const_xmlChar_ptr(n_cur, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         if ((cur != NULL) &&
 | |
|             (len > (int) strlen((const char *) cur) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStrndup((const xmlChar *)cur, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrndup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrstr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlChar * str; /* the xmlChar * array (haystack) */
 | |
|     int n_str;
 | |
|     xmlChar * val; /* the xmlChar to search (needle) */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         val = gen_const_xmlChar_ptr(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlStrstr((const xmlChar *)str, (const xmlChar *)val);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrstr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlStrsub(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * str; /* the xmlChar * array (haystack) */
 | |
|     int n_str;
 | |
|     int start; /* the index of the first char (zero based) */
 | |
|     int n_start;
 | |
|     int len; /* the length of the substring */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_start = 0;n_start < gen_nb_int;n_start++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         start = gen_int(n_start, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((str != NULL) &&
 | |
|             (start > (int) strlen((const char *) str) + 1))
 | |
|             continue;
 | |
|         if ((str != NULL) &&
 | |
|             (len > (int) strlen((const char *) str) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlStrsub((const xmlChar *)str, start, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_int(n_start, start, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlStrsub",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Charcmp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * utf1; /* pointer to first UTF8 char */
 | |
|     int n_utf1;
 | |
|     xmlChar * utf2; /* pointer to second UTF8 char */
 | |
|     int n_utf2;
 | |
| 
 | |
|     for (n_utf1 = 0;n_utf1 < gen_nb_const_xmlChar_ptr;n_utf1++) {
 | |
|     for (n_utf2 = 0;n_utf2 < gen_nb_const_xmlChar_ptr;n_utf2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf1 = gen_const_xmlChar_ptr(n_utf1, 0);
 | |
|         utf2 = gen_const_xmlChar_ptr(n_utf2, 1);
 | |
| 
 | |
|         ret_val = xmlUTF8Charcmp((const xmlChar *)utf1, (const xmlChar *)utf2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf1, (const xmlChar *)utf1, 0);
 | |
|         des_const_xmlChar_ptr(n_utf2, (const xmlChar *)utf2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Charcmp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf1);
 | |
|             printf(" %d", n_utf2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Size(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * utf; /* pointer to the UTF8 character */
 | |
|     int n_utf;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
| 
 | |
|         ret_val = xmlUTF8Size((const xmlChar *)utf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Size",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strlen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
 | |
|     int n_utf;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
| 
 | |
|         ret_val = xmlUTF8Strlen((const xmlChar *)utf);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strlen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strloc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * utf; /* the input UTF8 * */
 | |
|     int n_utf;
 | |
|     xmlChar * utfchar; /* the UTF8 character to be found */
 | |
|     int n_utfchar;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|     for (n_utfchar = 0;n_utfchar < gen_nb_const_xmlChar_ptr;n_utfchar++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
|         utfchar = gen_const_xmlChar_ptr(n_utfchar, 1);
 | |
| 
 | |
|         ret_val = xmlUTF8Strloc((const xmlChar *)utf, (const xmlChar *)utfchar);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         des_const_xmlChar_ptr(n_utfchar, (const xmlChar *)utfchar, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strloc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_utfchar);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strndup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * utf; /* the input UTF8 * */
 | |
|     int n_utf;
 | |
|     int len; /* the len of @utf (in chars) */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         if ((utf != NULL) &&
 | |
|             (len > (int) strlen((const char *) utf) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strndup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strpos(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlChar * utf; /* the input UTF8 * */
 | |
|     int n_utf;
 | |
|     int pos; /* the position of the desired UTF8 char (in chars) */
 | |
|     int n_pos;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|     for (n_pos = 0;n_pos < gen_nb_int;n_pos++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
|         pos = gen_int(n_pos, 1);
 | |
| 
 | |
|         ret_val = xmlUTF8Strpos((const xmlChar *)utf, pos);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         des_int(n_pos, pos, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strpos",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_pos);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strsize(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
 | |
|     int n_utf;
 | |
|     int len; /* the number of characters in the array */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
|         len = gen_int(n_len, 1);
 | |
|         if ((utf != NULL) &&
 | |
|             (len > (int) strlen((const char *) utf) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         des_int(n_len, len, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strsize",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUTF8Strsub(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
 | |
|     int n_utf;
 | |
|     int start; /* relative pos of first char */
 | |
|     int n_start;
 | |
|     int len; /* total number to copy */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
 | |
|     for (n_start = 0;n_start < gen_nb_int;n_start++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         utf = gen_const_xmlChar_ptr(n_utf, 0);
 | |
|         start = gen_int(n_start, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((utf != NULL) &&
 | |
|             (start > (int) strlen((const char *) utf) + 1))
 | |
|             continue;
 | |
|         if ((utf != NULL) &&
 | |
|             (len > (int) strlen((const char *) utf) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
 | |
|         des_int(n_start, start, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUTF8Strsub",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_utf);
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlstring(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlstring : 26 of 30 functions ...\n");
 | |
|     test_ret += test_xmlCharStrdup();
 | |
|     test_ret += test_xmlCharStrndup();
 | |
|     test_ret += test_xmlCheckUTF8();
 | |
|     test_ret += test_xmlGetUTF8Char();
 | |
|     test_ret += test_xmlStrEqual();
 | |
|     test_ret += test_xmlStrPrintf();
 | |
|     test_ret += test_xmlStrQEqual();
 | |
|     test_ret += test_xmlStrVPrintf();
 | |
|     test_ret += test_xmlStrcasecmp();
 | |
|     test_ret += test_xmlStrcasestr();
 | |
|     test_ret += test_xmlStrchr();
 | |
|     test_ret += test_xmlStrcmp();
 | |
|     test_ret += test_xmlStrdup();
 | |
|     test_ret += test_xmlStrlen();
 | |
|     test_ret += test_xmlStrncasecmp();
 | |
|     test_ret += test_xmlStrncatNew();
 | |
|     test_ret += test_xmlStrncmp();
 | |
|     test_ret += test_xmlStrndup();
 | |
|     test_ret += test_xmlStrstr();
 | |
|     test_ret += test_xmlStrsub();
 | |
|     test_ret += test_xmlUTF8Charcmp();
 | |
|     test_ret += test_xmlUTF8Size();
 | |
|     test_ret += test_xmlUTF8Strlen();
 | |
|     test_ret += test_xmlUTF8Strloc();
 | |
|     test_ret += test_xmlUTF8Strndup();
 | |
|     test_ret += test_xmlUTF8Strpos();
 | |
|     test_ret += test_xmlUTF8Strsize();
 | |
|     test_ret += test_xmlUTF8Strsub();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlstring: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsAegeanNumbers(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsAegeanNumbers(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsAegeanNumbers",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsAlphabeticPresentationForms(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsAlphabeticPresentationForms(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsAlphabeticPresentationForms",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsArabic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsArabic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsArabic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsArabicPresentationFormsA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsArabicPresentationFormsA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsArabicPresentationFormsB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsArabicPresentationFormsB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsArmenian(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsArmenian(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsArmenian",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsArrows(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsArrows(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsArrows",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBasicLatin(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBasicLatin(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBasicLatin",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBengali(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBengali(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBengali",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBlock(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
|     char * block; /* UCS block name */
 | |
|     int n_block;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|     for (n_block = 0;n_block < gen_nb_const_char_ptr;n_block++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
|         block = gen_const_char_ptr(n_block, 1);
 | |
| 
 | |
|         ret_val = xmlUCSIsBlock(code, (const char *)block);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         des_const_char_ptr(n_block, (const char *)block, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBlock",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf(" %d", n_block);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBlockElements(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBlockElements(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBlockElements",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBopomofo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBopomofo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBopomofo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBopomofoExtended(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBopomofoExtended(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBopomofoExtended",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBoxDrawing(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBoxDrawing(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBoxDrawing",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBraillePatterns(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBraillePatterns(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBraillePatterns",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsBuhid(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsBuhid(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsBuhid",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsByzantineMusicalSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsByzantineMusicalSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsByzantineMusicalSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKCompatibility(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKCompatibility(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibility",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKCompatibilityForms(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKCompatibilityForms(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityForms",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKCompatibilityIdeographs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKCompatibilityIdeographs(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKCompatibilityIdeographsSupplement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKCompatibilityIdeographsSupplement(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographsSupplement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKRadicalsSupplement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKRadicalsSupplement(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKRadicalsSupplement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKSymbolsandPunctuation(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKSymbolsandPunctuation(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKSymbolsandPunctuation",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKUnifiedIdeographs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKUnifiedIdeographs(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKUnifiedIdeographsExtensionA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCJKUnifiedIdeographsExtensionB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
|     char * cat; /* UCS Category name */
 | |
|     int n_cat;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|     for (n_cat = 0;n_cat < gen_nb_const_char_ptr;n_cat++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
|         cat = gen_const_char_ptr(n_cat, 1);
 | |
| 
 | |
|         ret_val = xmlUCSIsCat(code, (const char *)cat);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         des_const_char_ptr(n_cat, (const char *)cat, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf(" %d", n_cat);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatC(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatC(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatC",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatCc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatCc(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatCc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatCf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatCf(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatCf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatCo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatCo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatCo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatCs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatCs(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatCs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatL(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatL(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatL",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatLl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatLl(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatLl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatLm(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatLm(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatLm",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatLo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatLo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatLo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatLt(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatLt(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatLt",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatLu(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatLu(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatLu",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatM(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatM(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatM",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatMc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatMc(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatMc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatMe(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatMe(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatMe",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatMn(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatMn(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatMn",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatN(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatN(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatN",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatNd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatNd(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatNd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatNl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatNl(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatNl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatNo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatNo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatNo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatP(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatP(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatP",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPc(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPd(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPe(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPe(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPe",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPf(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPi(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPi(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPi",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatPs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatPs(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatPs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatS(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatSc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatSc(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatSc",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatSk(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatSk(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatSk",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatSm(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatSm(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatSm",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatSo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatSo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatSo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatZ(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatZ(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatZ",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatZl(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatZl(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatZl",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatZp(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatZp(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatZp",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCatZs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCatZs(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCatZs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCherokee(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCherokee(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCherokee",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCombiningDiacriticalMarks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCombiningDiacriticalMarks(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCombiningDiacriticalMarksforSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCombiningDiacriticalMarksforSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarksforSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCombiningHalfMarks(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCombiningHalfMarks(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCombiningHalfMarks",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCombiningMarksforSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCombiningMarksforSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCombiningMarksforSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsControlPictures(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsControlPictures(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsControlPictures",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCurrencySymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCurrencySymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCurrencySymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCypriotSyllabary(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCypriotSyllabary(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCypriotSyllabary",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCyrillic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCyrillic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCyrillic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsCyrillicSupplement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsCyrillicSupplement(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsCyrillicSupplement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsDeseret(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsDeseret(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsDeseret",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsDevanagari(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsDevanagari(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsDevanagari",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsDingbats(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsDingbats(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsDingbats",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsEnclosedAlphanumerics(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsEnclosedAlphanumerics(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsEnclosedAlphanumerics",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsEnclosedCJKLettersandMonths(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsEnclosedCJKLettersandMonths(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsEnclosedCJKLettersandMonths",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsEthiopic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsEthiopic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsEthiopic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGeneralPunctuation(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGeneralPunctuation(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGeneralPunctuation",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGeometricShapes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGeometricShapes(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGeometricShapes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGeorgian(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGeorgian(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGeorgian",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGothic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGothic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGothic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGreek(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGreek(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGreek",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGreekExtended(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGreekExtended(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGreekExtended",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGreekandCoptic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGreekandCoptic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGreekandCoptic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGujarati(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGujarati(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGujarati",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsGurmukhi(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsGurmukhi(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsGurmukhi",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHalfwidthandFullwidthForms(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHalfwidthandFullwidthForms(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHalfwidthandFullwidthForms",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHangulCompatibilityJamo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHangulCompatibilityJamo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHangulCompatibilityJamo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHangulJamo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHangulJamo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHangulJamo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHangulSyllables(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHangulSyllables(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHangulSyllables",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHanunoo(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHanunoo(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHanunoo",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHebrew(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHebrew(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHebrew",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHighPrivateUseSurrogates(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHighPrivateUseSurrogates(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHighPrivateUseSurrogates",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHighSurrogates(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHighSurrogates(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHighSurrogates",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsHiragana(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsHiragana(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsHiragana",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsIPAExtensions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsIPAExtensions(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsIPAExtensions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsIdeographicDescriptionCharacters(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsIdeographicDescriptionCharacters(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsIdeographicDescriptionCharacters",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKanbun(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKanbun(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKanbun",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKangxiRadicals(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKangxiRadicals(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKangxiRadicals",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKannada(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKannada(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKannada",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKatakana(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKatakana(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKatakana",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKatakanaPhoneticExtensions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKatakanaPhoneticExtensions(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKatakanaPhoneticExtensions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKhmer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKhmer(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKhmer",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsKhmerSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsKhmerSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsKhmerSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLao(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLao(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLao",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLatin1Supplement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLatin1Supplement(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLatin1Supplement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLatinExtendedA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLatinExtendedA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLatinExtendedAdditional(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLatinExtendedAdditional(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedAdditional",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLatinExtendedB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLatinExtendedB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLetterlikeSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLetterlikeSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLetterlikeSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLimbu(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLimbu(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLimbu",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLinearBIdeograms(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLinearBIdeograms(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLinearBIdeograms",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLinearBSyllabary(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLinearBSyllabary(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLinearBSyllabary",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsLowSurrogates(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsLowSurrogates(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsLowSurrogates",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMalayalam(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMalayalam(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMalayalam",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMathematicalAlphanumericSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMathematicalAlphanumericSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMathematicalAlphanumericSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMathematicalOperators(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMathematicalOperators(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMathematicalOperators",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMiscellaneousMathematicalSymbolsA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMiscellaneousMathematicalSymbolsB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMiscellaneousSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMiscellaneousSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMiscellaneousSymbolsandArrows(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMiscellaneousSymbolsandArrows(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbolsandArrows",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMiscellaneousTechnical(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMiscellaneousTechnical(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousTechnical",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMongolian(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMongolian(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMongolian",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMusicalSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMusicalSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMusicalSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsMyanmar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsMyanmar(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsMyanmar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsNumberForms(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsNumberForms(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsNumberForms",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsOgham(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsOgham(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsOgham",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsOldItalic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsOldItalic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsOldItalic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsOpticalCharacterRecognition(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsOpticalCharacterRecognition(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsOpticalCharacterRecognition",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsOriya(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsOriya(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsOriya",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsOsmanya(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsOsmanya(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsOsmanya",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsPhoneticExtensions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsPhoneticExtensions(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsPhoneticExtensions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsPrivateUse(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsPrivateUse(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsPrivateUse",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsPrivateUseArea(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsPrivateUseArea(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsPrivateUseArea",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsRunic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsRunic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsRunic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsShavian(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsShavian(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsShavian",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSinhala(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSinhala(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSinhala",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSmallFormVariants(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSmallFormVariants(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSmallFormVariants",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSpacingModifierLetters(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSpacingModifierLetters(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSpacingModifierLetters",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSpecials(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSpecials(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSpecials",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSuperscriptsandSubscripts(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSuperscriptsandSubscripts(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSuperscriptsandSubscripts",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSupplementalArrowsA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSupplementalArrowsA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSupplementalArrowsB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSupplementalArrowsB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSupplementalMathematicalOperators(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSupplementalMathematicalOperators(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSupplementalMathematicalOperators",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSupplementaryPrivateUseAreaA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSupplementaryPrivateUseAreaA(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSupplementaryPrivateUseAreaB(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSupplementaryPrivateUseAreaB(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaB",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsSyriac(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsSyriac(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsSyriac",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTagalog(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTagalog(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTagalog",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTagbanwa(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTagbanwa(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTagbanwa",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTags(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTags(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTags",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTaiLe(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTaiLe(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTaiLe",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTaiXuanJingSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTaiXuanJingSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTaiXuanJingSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTamil(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTamil(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTamil",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTelugu(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTelugu(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTelugu",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsThaana(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsThaana(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsThaana",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsThai(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsThai(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsThai",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsTibetan(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsTibetan(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsTibetan",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsUgaritic(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsUgaritic(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsUgaritic",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsUnifiedCanadianAboriginalSyllabics(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsUnifiedCanadianAboriginalSyllabics",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsVariationSelectors(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsVariationSelectors(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsVariationSelectors",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsVariationSelectorsSupplement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsVariationSelectorsSupplement(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsVariationSelectorsSupplement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsYiRadicals(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsYiRadicals(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsYiRadicals",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsYiSyllables(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsYiSyllables(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsYiSyllables",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlUCSIsYijingHexagramSymbols(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_UNICODE_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     int code; /* UCS code point */
 | |
|     int n_code;
 | |
| 
 | |
|     for (n_code = 0;n_code < gen_nb_int;n_code++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         code = gen_int(n_code, 0);
 | |
| 
 | |
|         ret_val = xmlUCSIsYijingHexagramSymbols(code);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_code, code, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlUCSIsYijingHexagramSymbols",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_code);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlunicode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlunicode : 166 of 166 functions ...\n");
 | |
|     test_ret += test_xmlUCSIsAegeanNumbers();
 | |
|     test_ret += test_xmlUCSIsAlphabeticPresentationForms();
 | |
|     test_ret += test_xmlUCSIsArabic();
 | |
|     test_ret += test_xmlUCSIsArabicPresentationFormsA();
 | |
|     test_ret += test_xmlUCSIsArabicPresentationFormsB();
 | |
|     test_ret += test_xmlUCSIsArmenian();
 | |
|     test_ret += test_xmlUCSIsArrows();
 | |
|     test_ret += test_xmlUCSIsBasicLatin();
 | |
|     test_ret += test_xmlUCSIsBengali();
 | |
|     test_ret += test_xmlUCSIsBlock();
 | |
|     test_ret += test_xmlUCSIsBlockElements();
 | |
|     test_ret += test_xmlUCSIsBopomofo();
 | |
|     test_ret += test_xmlUCSIsBopomofoExtended();
 | |
|     test_ret += test_xmlUCSIsBoxDrawing();
 | |
|     test_ret += test_xmlUCSIsBraillePatterns();
 | |
|     test_ret += test_xmlUCSIsBuhid();
 | |
|     test_ret += test_xmlUCSIsByzantineMusicalSymbols();
 | |
|     test_ret += test_xmlUCSIsCJKCompatibility();
 | |
|     test_ret += test_xmlUCSIsCJKCompatibilityForms();
 | |
|     test_ret += test_xmlUCSIsCJKCompatibilityIdeographs();
 | |
|     test_ret += test_xmlUCSIsCJKCompatibilityIdeographsSupplement();
 | |
|     test_ret += test_xmlUCSIsCJKRadicalsSupplement();
 | |
|     test_ret += test_xmlUCSIsCJKSymbolsandPunctuation();
 | |
|     test_ret += test_xmlUCSIsCJKUnifiedIdeographs();
 | |
|     test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionA();
 | |
|     test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionB();
 | |
|     test_ret += test_xmlUCSIsCat();
 | |
|     test_ret += test_xmlUCSIsCatC();
 | |
|     test_ret += test_xmlUCSIsCatCc();
 | |
|     test_ret += test_xmlUCSIsCatCf();
 | |
|     test_ret += test_xmlUCSIsCatCo();
 | |
|     test_ret += test_xmlUCSIsCatCs();
 | |
|     test_ret += test_xmlUCSIsCatL();
 | |
|     test_ret += test_xmlUCSIsCatLl();
 | |
|     test_ret += test_xmlUCSIsCatLm();
 | |
|     test_ret += test_xmlUCSIsCatLo();
 | |
|     test_ret += test_xmlUCSIsCatLt();
 | |
|     test_ret += test_xmlUCSIsCatLu();
 | |
|     test_ret += test_xmlUCSIsCatM();
 | |
|     test_ret += test_xmlUCSIsCatMc();
 | |
|     test_ret += test_xmlUCSIsCatMe();
 | |
|     test_ret += test_xmlUCSIsCatMn();
 | |
|     test_ret += test_xmlUCSIsCatN();
 | |
|     test_ret += test_xmlUCSIsCatNd();
 | |
|     test_ret += test_xmlUCSIsCatNl();
 | |
|     test_ret += test_xmlUCSIsCatNo();
 | |
|     test_ret += test_xmlUCSIsCatP();
 | |
|     test_ret += test_xmlUCSIsCatPc();
 | |
|     test_ret += test_xmlUCSIsCatPd();
 | |
|     test_ret += test_xmlUCSIsCatPe();
 | |
|     test_ret += test_xmlUCSIsCatPf();
 | |
|     test_ret += test_xmlUCSIsCatPi();
 | |
|     test_ret += test_xmlUCSIsCatPo();
 | |
|     test_ret += test_xmlUCSIsCatPs();
 | |
|     test_ret += test_xmlUCSIsCatS();
 | |
|     test_ret += test_xmlUCSIsCatSc();
 | |
|     test_ret += test_xmlUCSIsCatSk();
 | |
|     test_ret += test_xmlUCSIsCatSm();
 | |
|     test_ret += test_xmlUCSIsCatSo();
 | |
|     test_ret += test_xmlUCSIsCatZ();
 | |
|     test_ret += test_xmlUCSIsCatZl();
 | |
|     test_ret += test_xmlUCSIsCatZp();
 | |
|     test_ret += test_xmlUCSIsCatZs();
 | |
|     test_ret += test_xmlUCSIsCherokee();
 | |
|     test_ret += test_xmlUCSIsCombiningDiacriticalMarks();
 | |
|     test_ret += test_xmlUCSIsCombiningDiacriticalMarksforSymbols();
 | |
|     test_ret += test_xmlUCSIsCombiningHalfMarks();
 | |
|     test_ret += test_xmlUCSIsCombiningMarksforSymbols();
 | |
|     test_ret += test_xmlUCSIsControlPictures();
 | |
|     test_ret += test_xmlUCSIsCurrencySymbols();
 | |
|     test_ret += test_xmlUCSIsCypriotSyllabary();
 | |
|     test_ret += test_xmlUCSIsCyrillic();
 | |
|     test_ret += test_xmlUCSIsCyrillicSupplement();
 | |
|     test_ret += test_xmlUCSIsDeseret();
 | |
|     test_ret += test_xmlUCSIsDevanagari();
 | |
|     test_ret += test_xmlUCSIsDingbats();
 | |
|     test_ret += test_xmlUCSIsEnclosedAlphanumerics();
 | |
|     test_ret += test_xmlUCSIsEnclosedCJKLettersandMonths();
 | |
|     test_ret += test_xmlUCSIsEthiopic();
 | |
|     test_ret += test_xmlUCSIsGeneralPunctuation();
 | |
|     test_ret += test_xmlUCSIsGeometricShapes();
 | |
|     test_ret += test_xmlUCSIsGeorgian();
 | |
|     test_ret += test_xmlUCSIsGothic();
 | |
|     test_ret += test_xmlUCSIsGreek();
 | |
|     test_ret += test_xmlUCSIsGreekExtended();
 | |
|     test_ret += test_xmlUCSIsGreekandCoptic();
 | |
|     test_ret += test_xmlUCSIsGujarati();
 | |
|     test_ret += test_xmlUCSIsGurmukhi();
 | |
|     test_ret += test_xmlUCSIsHalfwidthandFullwidthForms();
 | |
|     test_ret += test_xmlUCSIsHangulCompatibilityJamo();
 | |
|     test_ret += test_xmlUCSIsHangulJamo();
 | |
|     test_ret += test_xmlUCSIsHangulSyllables();
 | |
|     test_ret += test_xmlUCSIsHanunoo();
 | |
|     test_ret += test_xmlUCSIsHebrew();
 | |
|     test_ret += test_xmlUCSIsHighPrivateUseSurrogates();
 | |
|     test_ret += test_xmlUCSIsHighSurrogates();
 | |
|     test_ret += test_xmlUCSIsHiragana();
 | |
|     test_ret += test_xmlUCSIsIPAExtensions();
 | |
|     test_ret += test_xmlUCSIsIdeographicDescriptionCharacters();
 | |
|     test_ret += test_xmlUCSIsKanbun();
 | |
|     test_ret += test_xmlUCSIsKangxiRadicals();
 | |
|     test_ret += test_xmlUCSIsKannada();
 | |
|     test_ret += test_xmlUCSIsKatakana();
 | |
|     test_ret += test_xmlUCSIsKatakanaPhoneticExtensions();
 | |
|     test_ret += test_xmlUCSIsKhmer();
 | |
|     test_ret += test_xmlUCSIsKhmerSymbols();
 | |
|     test_ret += test_xmlUCSIsLao();
 | |
|     test_ret += test_xmlUCSIsLatin1Supplement();
 | |
|     test_ret += test_xmlUCSIsLatinExtendedA();
 | |
|     test_ret += test_xmlUCSIsLatinExtendedAdditional();
 | |
|     test_ret += test_xmlUCSIsLatinExtendedB();
 | |
|     test_ret += test_xmlUCSIsLetterlikeSymbols();
 | |
|     test_ret += test_xmlUCSIsLimbu();
 | |
|     test_ret += test_xmlUCSIsLinearBIdeograms();
 | |
|     test_ret += test_xmlUCSIsLinearBSyllabary();
 | |
|     test_ret += test_xmlUCSIsLowSurrogates();
 | |
|     test_ret += test_xmlUCSIsMalayalam();
 | |
|     test_ret += test_xmlUCSIsMathematicalAlphanumericSymbols();
 | |
|     test_ret += test_xmlUCSIsMathematicalOperators();
 | |
|     test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsA();
 | |
|     test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsB();
 | |
|     test_ret += test_xmlUCSIsMiscellaneousSymbols();
 | |
|     test_ret += test_xmlUCSIsMiscellaneousSymbolsandArrows();
 | |
|     test_ret += test_xmlUCSIsMiscellaneousTechnical();
 | |
|     test_ret += test_xmlUCSIsMongolian();
 | |
|     test_ret += test_xmlUCSIsMusicalSymbols();
 | |
|     test_ret += test_xmlUCSIsMyanmar();
 | |
|     test_ret += test_xmlUCSIsNumberForms();
 | |
|     test_ret += test_xmlUCSIsOgham();
 | |
|     test_ret += test_xmlUCSIsOldItalic();
 | |
|     test_ret += test_xmlUCSIsOpticalCharacterRecognition();
 | |
|     test_ret += test_xmlUCSIsOriya();
 | |
|     test_ret += test_xmlUCSIsOsmanya();
 | |
|     test_ret += test_xmlUCSIsPhoneticExtensions();
 | |
|     test_ret += test_xmlUCSIsPrivateUse();
 | |
|     test_ret += test_xmlUCSIsPrivateUseArea();
 | |
|     test_ret += test_xmlUCSIsRunic();
 | |
|     test_ret += test_xmlUCSIsShavian();
 | |
|     test_ret += test_xmlUCSIsSinhala();
 | |
|     test_ret += test_xmlUCSIsSmallFormVariants();
 | |
|     test_ret += test_xmlUCSIsSpacingModifierLetters();
 | |
|     test_ret += test_xmlUCSIsSpecials();
 | |
|     test_ret += test_xmlUCSIsSuperscriptsandSubscripts();
 | |
|     test_ret += test_xmlUCSIsSupplementalArrowsA();
 | |
|     test_ret += test_xmlUCSIsSupplementalArrowsB();
 | |
|     test_ret += test_xmlUCSIsSupplementalMathematicalOperators();
 | |
|     test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaA();
 | |
|     test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaB();
 | |
|     test_ret += test_xmlUCSIsSyriac();
 | |
|     test_ret += test_xmlUCSIsTagalog();
 | |
|     test_ret += test_xmlUCSIsTagbanwa();
 | |
|     test_ret += test_xmlUCSIsTags();
 | |
|     test_ret += test_xmlUCSIsTaiLe();
 | |
|     test_ret += test_xmlUCSIsTaiXuanJingSymbols();
 | |
|     test_ret += test_xmlUCSIsTamil();
 | |
|     test_ret += test_xmlUCSIsTelugu();
 | |
|     test_ret += test_xmlUCSIsThaana();
 | |
|     test_ret += test_xmlUCSIsThai();
 | |
|     test_ret += test_xmlUCSIsTibetan();
 | |
|     test_ret += test_xmlUCSIsUgaritic();
 | |
|     test_ret += test_xmlUCSIsUnifiedCanadianAboriginalSyllabics();
 | |
|     test_ret += test_xmlUCSIsVariationSelectors();
 | |
|     test_ret += test_xmlUCSIsVariationSelectorsSupplement();
 | |
|     test_ret += test_xmlUCSIsYiRadicals();
 | |
|     test_ret += test_xmlUCSIsYiSyllables();
 | |
|     test_ret += test_xmlUCSIsYijingHexagramSymbols();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlunicode: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextWriter(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextWriterPtr ret_val;
 | |
|     xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
 | |
|     int n_out;
 | |
| 
 | |
|     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         out = gen_xmlOutputBufferPtr(n_out, 0);
 | |
| 
 | |
|         ret_val = xmlNewTextWriter(out);
 | |
|         if (ret_val != NULL) out = NULL;
 | |
|         desret_xmlTextWriterPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlOutputBufferPtr(n_out, out, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextWriter",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_out);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextWriterFilename(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextWriterPtr ret_val;
 | |
|     const char * uri; /* the URI of the resource for the output */
 | |
|     int n_uri;
 | |
|     int compression; /* compress the output? */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_uri = 0;n_uri < gen_nb_fileoutput;n_uri++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         uri = gen_fileoutput(n_uri, 0);
 | |
|         compression = gen_int(n_compression, 1);
 | |
| 
 | |
|         ret_val = xmlNewTextWriterFilename(uri, compression);
 | |
|         desret_xmlTextWriterPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_fileoutput(n_uri, uri, 0);
 | |
|         des_int(n_compression, compression, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextWriterFilename",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_uri);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextWriterMemory(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextWriterPtr ret_val;
 | |
|     xmlBufferPtr buf; /* xmlBufferPtr */
 | |
|     int n_buf;
 | |
|     int compression; /* compress the output? */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         buf = gen_xmlBufferPtr(n_buf, 0);
 | |
|         compression = gen_int(n_compression, 1);
 | |
| 
 | |
|         ret_val = xmlNewTextWriterMemory(buf, compression);
 | |
|         desret_xmlTextWriterPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlBufferPtr(n_buf, buf, 0);
 | |
|         des_int(n_compression, compression, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextWriterMemory",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_buf);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextWriterPushParser(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextWriterPtr ret_val;
 | |
|     xmlParserCtxtPtr ctxt; /* xmlParserCtxtPtr to hold the new XML document tree */
 | |
|     int n_ctxt;
 | |
|     int compression; /* compress the output? */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
 | |
|         compression = gen_int(n_compression, 1);
 | |
| 
 | |
|         ret_val = xmlNewTextWriterPushParser(ctxt, compression);
 | |
|         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL;
 | |
|         desret_xmlTextWriterPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_compression, compression, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextWriterPushParser",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlNewTextWriterTree(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlTextWriterPtr ret_val;
 | |
|     xmlDocPtr doc; /* xmlDocPtr */
 | |
|     int n_doc;
 | |
|     xmlNodePtr node; /* xmlNodePtr or NULL for doc->children */
 | |
|     int n_node;
 | |
|     int compression; /* compress the output? */
 | |
|     int n_compression;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         compression = gen_int(n_compression, 2);
 | |
| 
 | |
|         ret_val = xmlNewTextWriterTree(doc, node, compression);
 | |
|         desret_xmlTextWriterPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_int(n_compression, compression, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlNewTextWriterTree",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_compression);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndAttribute(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndCDATA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndCDATA(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndCDATA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndComment(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndComment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndDTD(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndDTDAttlist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndDTDAttlist(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndDTDAttlist",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndDTDElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndDTDElement(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndDTDElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndDTDEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndDTDEntity(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndDTDEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndDocument(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndElement(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterEndPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterEndPI(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterEndPI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterFlush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterFlush(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterFlush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterFullEndElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterFullEndElement(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterFullEndElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterSetIndent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     int indent; /* do indentation? */
 | |
|     int n_indent;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_indent = 0;n_indent < gen_nb_int;n_indent++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         indent = gen_int(n_indent, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterSetIndent(writer, indent);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_int(n_indent, indent, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterSetIndent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_indent);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterSetIndentString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * str; /* the xmlChar string */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterSetIndentString(writer, (const xmlChar *)str);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterSetIndentString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterSetQuoteChar(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar quotechar; /* the quote character */
 | |
|     int n_quotechar;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_quotechar = 0;n_quotechar < gen_nb_xmlChar;n_quotechar++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         quotechar = gen_xmlChar(n_quotechar, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterSetQuoteChar(writer, quotechar);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_xmlChar(n_quotechar, quotechar, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterSetQuoteChar",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_quotechar);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* element name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartAttribute(writer, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartAttributeNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * prefix; /* namespace prefix or NULL */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* element local name */
 | |
|     int n_name;
 | |
|     xmlChar * namespaceURI; /* namespace URI or NULL */
 | |
|     int n_namespaceURI;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartAttributeNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartCDATA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartCDATA(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartCDATA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartComment(writer);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartComment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD */
 | |
|     int n_name;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartDTDAttlist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD ATTLIST */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartDTDAttlist(writer, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartDTDAttlist",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartDTDElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD element */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartDTDElement(writer, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartDTDElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartDTDEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     int pe; /* TRUE if this is a parameter entity, FALSE if not */
 | |
|     int n_pe;
 | |
|     xmlChar * name; /* the name of the DTD ATTLIST */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         pe = gen_int(n_pe, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartDTDEntity(writer, pe, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_int(n_pe, pe, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartDTDEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_pe);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartDocument(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     char * version; /* the xml version ("1.0") or NULL for default ("1.0") */
 | |
|     int n_version;
 | |
|     char * encoding; /* the encoding or NULL for default */
 | |
|     int n_encoding;
 | |
|     char * standalone; /* "yes" or "no" or NULL for default */
 | |
|     int n_standalone;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_version = 0;n_version < gen_nb_const_char_ptr;n_version++) {
 | |
|     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
 | |
|     for (n_standalone = 0;n_standalone < gen_nb_const_char_ptr;n_standalone++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         version = gen_const_char_ptr(n_version, 1);
 | |
|         encoding = gen_const_char_ptr(n_encoding, 2);
 | |
|         standalone = gen_const_char_ptr(n_standalone, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartDocument(writer, (const char *)version, (const char *)encoding, (const char *)standalone);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_char_ptr(n_version, (const char *)version, 1);
 | |
|         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
 | |
|         des_const_char_ptr(n_standalone, (const char *)standalone, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartDocument",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_version);
 | |
|             printf(" %d", n_encoding);
 | |
|             printf(" %d", n_standalone);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* element name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartElement(writer, (const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartElementNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * prefix; /* namespace prefix or NULL */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* element local name */
 | |
|     int n_name;
 | |
|     xmlChar * namespaceURI; /* namespace URI or NULL */
 | |
|     int n_namespaceURI;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartElementNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterStartPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * target; /* PI target */
 | |
|     int n_target;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         target = gen_const_xmlChar_ptr(n_target, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterStartPI(writer, (const xmlChar *)target);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterStartPI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_target);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* attribute name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* attribute content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteAttribute(writer, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteAttributeNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * prefix; /* namespace prefix */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* attribute local name */
 | |
|     int n_name;
 | |
|     xmlChar * namespaceURI; /* namespace URI */
 | |
|     int n_namespaceURI;
 | |
|     xmlChar * content; /* attribute content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 4);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteAttributeNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteBase64(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     char * data; /* binary data */
 | |
|     int n_data;
 | |
|     int start; /* the position within the data of the first byte to encode */
 | |
|     int n_start;
 | |
|     int len; /* the number of bytes to encode */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
 | |
|     for (n_start = 0;n_start < gen_nb_int;n_start++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         data = gen_const_char_ptr(n_data, 1);
 | |
|         start = gen_int(n_start, 2);
 | |
|         len = gen_int(n_len, 3);
 | |
|         if ((data != NULL) &&
 | |
|             (start > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
|         if ((data != NULL) &&
 | |
|             (len > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_char_ptr(n_data, (const char *)data, 1);
 | |
|         des_int(n_start, start, 2);
 | |
|         des_int(n_len, len, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteBase64",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_data);
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteBinHex(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     char * data; /* binary data */
 | |
|     int n_data;
 | |
|     int start; /* the position within the data of the first byte to encode */
 | |
|     int n_start;
 | |
|     int len; /* the number of bytes to encode */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
 | |
|     for (n_start = 0;n_start < gen_nb_int;n_start++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         data = gen_const_char_ptr(n_data, 1);
 | |
|         start = gen_int(n_start, 2);
 | |
|         len = gen_int(n_len, 3);
 | |
|         if ((data != NULL) &&
 | |
|             (start > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
|         if ((data != NULL) &&
 | |
|             (len > (int) strlen((const char *) data) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_char_ptr(n_data, (const char *)data, 1);
 | |
|         des_int(n_start, start, 2);
 | |
|         des_int(n_len, len, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteBinHex",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_data);
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteCDATA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * content; /* CDATA content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteCDATA(writer, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteCDATA",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * content; /* comment string */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteComment(writer, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteComment",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD */
 | |
|     int n_name;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
|     xmlChar * subset; /* string content of the DTD */
 | |
|     int n_subset;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|     for (n_subset = 0;n_subset < gen_nb_const_xmlChar_ptr;n_subset++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
 | |
|         subset = gen_const_xmlChar_ptr(n_subset, 4);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)subset);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
 | |
|         des_const_xmlChar_ptr(n_subset, (const xmlChar *)subset, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTD",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf(" %d", n_subset);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDAttlist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD ATTLIST */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* content of the ATTLIST */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDAttlist(writer, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDAttlist",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the DTD element */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* content of the element */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDElement(writer, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     int pe; /* TRUE if this is a parameter entity, FALSE if not */
 | |
|     int n_pe;
 | |
|     xmlChar * name; /* the name of the DTD entity */
 | |
|     int n_name;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
|     xmlChar * ndataid; /* the xml notation name. */
 | |
|     int n_ndataid;
 | |
|     xmlChar * content; /* content of the entity */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         pe = gen_int(n_pe, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 3);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 4);
 | |
|         ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 6);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_int(n_pe, pe, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
 | |
|         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 6);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_pe);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf(" %d", n_ndataid);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDExternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     int pe; /* TRUE if this is a parameter entity, FALSE if not */
 | |
|     int n_pe;
 | |
|     xmlChar * name; /* the name of the DTD entity */
 | |
|     int n_name;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
|     xmlChar * ndataid; /* the xml notation name. */
 | |
|     int n_ndataid;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         pe = gen_int(n_pe, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 3);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 4);
 | |
|         ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDExternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_int(n_pe, pe, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
 | |
|         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_pe);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf(" %d", n_ndataid);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDExternalEntityContents(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
|     xmlChar * ndataid; /* the xml notation name. */
 | |
|     int n_ndataid;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 1);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 2);
 | |
|         ndataid = gen_const_xmlChar_ptr(n_ndataid, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDExternalEntityContents(writer, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 1);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 2);
 | |
|         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntityContents",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf(" %d", n_ndataid);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDInternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     int pe; /* TRUE if this is a parameter entity, FALSE if not */
 | |
|     int n_pe;
 | |
|     xmlChar * name; /* the name of the DTD entity */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* content of the entity */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         pe = gen_int(n_pe, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDInternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_int(n_pe, pe, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDInternalEntity",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_pe);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteDTDNotation(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* the name of the xml notation */
 | |
|     int n_name;
 | |
|     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
 | |
|     int n_pubid;
 | |
|     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
 | |
|     int n_sysid;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
 | |
|     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
 | |
|         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteDTDNotation(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
 | |
|         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteDTDNotation",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_pubid);
 | |
|             printf(" %d", n_sysid);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * name; /* element name */
 | |
|     int n_name;
 | |
|     xmlChar * content; /* element content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteElement(writer, (const xmlChar *)name, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteElement",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteElementNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * prefix; /* namespace prefix */
 | |
|     int n_prefix;
 | |
|     xmlChar * name; /* element local name */
 | |
|     int n_name;
 | |
|     xmlChar * namespaceURI; /* namespace URI */
 | |
|     int n_namespaceURI;
 | |
|     xmlChar * content; /* element content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 2);
 | |
|         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 4);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
 | |
|         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteElementNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_namespaceURI);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatAttributeNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatCDATA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatDTDAttlist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatDTDElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatDTDInternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatElementNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatRaw(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteFormatString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWritePI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * target; /* PI target */
 | |
|     int n_target;
 | |
|     xmlChar * content; /* PI content */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         target = gen_const_xmlChar_ptr(n_target, 1);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 2);
 | |
| 
 | |
|         ret_val = xmlTextWriterWritePI(writer, (const xmlChar *)target, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWritePI",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_target);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteRaw(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * content; /* text string */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteRaw(writer, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteRaw",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteRawLen(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * content; /* text string */
 | |
|     int n_content;
 | |
|     int len; /* length of the text string */
 | |
|     int n_len;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|     for (n_len = 0;n_len < gen_nb_int;n_len++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
|         len = gen_int(n_len, 2);
 | |
|         if ((content != NULL) &&
 | |
|             (len > (int) strlen((const char *) content) + 1))
 | |
|             continue;
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         des_int(n_len, len, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteRawLen",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_content);
 | |
|             printf(" %d", n_len);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_WRITER_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
 | |
|     int n_writer;
 | |
|     xmlChar * content; /* text string */
 | |
|     int n_content;
 | |
| 
 | |
|     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
 | |
|     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         writer = gen_xmlTextWriterPtr(n_writer, 0);
 | |
|         content = gen_const_xmlChar_ptr(n_content, 1);
 | |
| 
 | |
|         ret_val = xmlTextWriterWriteString(writer, (const xmlChar *)content);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlTextWriterPtr(n_writer, writer, 0);
 | |
|         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlTextWriterWriteString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_writer);
 | |
|             printf(" %d", n_content);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatAttributeNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatCDATA(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatComment(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatDTD(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatDTDAttlist(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatDTDElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatDTDInternalEntity(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatElement(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatElementNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatPI(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatRaw(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlTextWriterWriteVFormatString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlwriter(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xmlwriter : 52 of 80 functions ...\n");
 | |
|     test_ret += test_xmlNewTextWriter();
 | |
|     test_ret += test_xmlNewTextWriterFilename();
 | |
|     test_ret += test_xmlNewTextWriterMemory();
 | |
|     test_ret += test_xmlNewTextWriterPushParser();
 | |
|     test_ret += test_xmlNewTextWriterTree();
 | |
|     test_ret += test_xmlTextWriterEndAttribute();
 | |
|     test_ret += test_xmlTextWriterEndCDATA();
 | |
|     test_ret += test_xmlTextWriterEndComment();
 | |
|     test_ret += test_xmlTextWriterEndDTD();
 | |
|     test_ret += test_xmlTextWriterEndDTDAttlist();
 | |
|     test_ret += test_xmlTextWriterEndDTDElement();
 | |
|     test_ret += test_xmlTextWriterEndDTDEntity();
 | |
|     test_ret += test_xmlTextWriterEndDocument();
 | |
|     test_ret += test_xmlTextWriterEndElement();
 | |
|     test_ret += test_xmlTextWriterEndPI();
 | |
|     test_ret += test_xmlTextWriterFlush();
 | |
|     test_ret += test_xmlTextWriterFullEndElement();
 | |
|     test_ret += test_xmlTextWriterSetIndent();
 | |
|     test_ret += test_xmlTextWriterSetIndentString();
 | |
|     test_ret += test_xmlTextWriterSetQuoteChar();
 | |
|     test_ret += test_xmlTextWriterStartAttribute();
 | |
|     test_ret += test_xmlTextWriterStartAttributeNS();
 | |
|     test_ret += test_xmlTextWriterStartCDATA();
 | |
|     test_ret += test_xmlTextWriterStartComment();
 | |
|     test_ret += test_xmlTextWriterStartDTD();
 | |
|     test_ret += test_xmlTextWriterStartDTDAttlist();
 | |
|     test_ret += test_xmlTextWriterStartDTDElement();
 | |
|     test_ret += test_xmlTextWriterStartDTDEntity();
 | |
|     test_ret += test_xmlTextWriterStartDocument();
 | |
|     test_ret += test_xmlTextWriterStartElement();
 | |
|     test_ret += test_xmlTextWriterStartElementNS();
 | |
|     test_ret += test_xmlTextWriterStartPI();
 | |
|     test_ret += test_xmlTextWriterWriteAttribute();
 | |
|     test_ret += test_xmlTextWriterWriteAttributeNS();
 | |
|     test_ret += test_xmlTextWriterWriteBase64();
 | |
|     test_ret += test_xmlTextWriterWriteBinHex();
 | |
|     test_ret += test_xmlTextWriterWriteCDATA();
 | |
|     test_ret += test_xmlTextWriterWriteComment();
 | |
|     test_ret += test_xmlTextWriterWriteDTD();
 | |
|     test_ret += test_xmlTextWriterWriteDTDAttlist();
 | |
|     test_ret += test_xmlTextWriterWriteDTDElement();
 | |
|     test_ret += test_xmlTextWriterWriteDTDEntity();
 | |
|     test_ret += test_xmlTextWriterWriteDTDExternalEntity();
 | |
|     test_ret += test_xmlTextWriterWriteDTDExternalEntityContents();
 | |
|     test_ret += test_xmlTextWriterWriteDTDInternalEntity();
 | |
|     test_ret += test_xmlTextWriterWriteDTDNotation();
 | |
|     test_ret += test_xmlTextWriterWriteElement();
 | |
|     test_ret += test_xmlTextWriterWriteElementNS();
 | |
|     test_ret += test_xmlTextWriterWriteFormatAttribute();
 | |
|     test_ret += test_xmlTextWriterWriteFormatAttributeNS();
 | |
|     test_ret += test_xmlTextWriterWriteFormatCDATA();
 | |
|     test_ret += test_xmlTextWriterWriteFormatComment();
 | |
|     test_ret += test_xmlTextWriterWriteFormatDTD();
 | |
|     test_ret += test_xmlTextWriterWriteFormatDTDAttlist();
 | |
|     test_ret += test_xmlTextWriterWriteFormatDTDElement();
 | |
|     test_ret += test_xmlTextWriterWriteFormatDTDInternalEntity();
 | |
|     test_ret += test_xmlTextWriterWriteFormatElement();
 | |
|     test_ret += test_xmlTextWriterWriteFormatElementNS();
 | |
|     test_ret += test_xmlTextWriterWriteFormatPI();
 | |
|     test_ret += test_xmlTextWriterWriteFormatRaw();
 | |
|     test_ret += test_xmlTextWriterWriteFormatString();
 | |
|     test_ret += test_xmlTextWriterWritePI();
 | |
|     test_ret += test_xmlTextWriterWriteRaw();
 | |
|     test_ret += test_xmlTextWriterWriteRawLen();
 | |
|     test_ret += test_xmlTextWriterWriteString();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatAttribute();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatAttributeNS();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatCDATA();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatComment();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatDTD();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatDTDAttlist();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatDTDElement();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatDTDInternalEntity();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatElement();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatElementNS();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatPI();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatRaw();
 | |
|     test_ret += test_xmlTextWriterWriteVFormatString();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xmlwriter: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastBooleanToNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     int val; /* a boolean */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastBooleanToNumber(val);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastBooleanToNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastBooleanToString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     int val; /* a boolean */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastBooleanToString(val);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastBooleanToString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNodeSetToBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr ns; /* a node-set */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ns = gen_xmlNodeSetPtr(n_ns, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNodeSetToBoolean(ns);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_ns, ns, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNodeSetToBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNodeSetToNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlNodeSetPtr ns; /* a node-set */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ns = gen_xmlNodeSetPtr(n_ns, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNodeSetToNumber(ns);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_ns, ns, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNodeSetToNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNodeSetToString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNodeSetPtr ns; /* a node-set */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ns = gen_xmlNodeSetPtr(n_ns, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNodeSetToString(ns);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_ns, ns, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNodeSetToString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNodeToNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNodeToNumber(node);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNodeToNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNodeToString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNodeToString(node);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNodeToString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNumberToBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     double val; /* a number */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_double;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_double(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNumberToBoolean(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_double(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNumberToBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastNumberToString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     double val; /* a number */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_double;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_double(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastNumberToString(val);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_double(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastNumberToString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastStringToBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * val; /* a string */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_const_xmlChar_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastStringToBoolean((const xmlChar *)val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastStringToBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastStringToNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlChar * val; /* a string */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_const_xmlChar_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastStringToNumber((const xmlChar *)val);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastStringToNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastToBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastToBoolean(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastToBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastToNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastToNumber(val);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastToNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCastToString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathCastToString(val);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCastToString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCmpNodes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node1; /* the first node */
 | |
|     int n_node1;
 | |
|     xmlNodePtr node2; /* the second node */
 | |
|     int n_node2;
 | |
| 
 | |
|     for (n_node1 = 0;n_node1 < gen_nb_xmlNodePtr;n_node1++) {
 | |
|     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node1 = gen_xmlNodePtr(n_node1, 0);
 | |
|         node2 = gen_xmlNodePtr(n_node2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathCmpNodes(node1, node2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node1, node1, 0);
 | |
|         des_xmlNodePtr(n_node2, node2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCmpNodes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node1);
 | |
|             printf(" %d", n_node2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCompile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlXPathCompExprPtr 1
 | |
| #define gen_xmlXPathCompExprPtr(no, nr) NULL
 | |
| #define des_xmlXPathCompExprPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlXPathContextPtr 1
 | |
| #define gen_xmlXPathContextPtr(no, nr) NULL
 | |
| #define des_xmlXPathContextPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCompiledEval(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathCompExprPtr comp; /* the compiled XPath expression */
 | |
|     int n_comp;
 | |
|     xmlXPathContextPtr ctx; /* the XPath context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlXPathCompExprPtr(n_comp, 0);
 | |
|         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
 | |
| 
 | |
|         ret_val = xmlXPathCompiledEval(comp, ctx);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathCompExprPtr(n_comp, comp, 0);
 | |
|         des_xmlXPathContextPtr(n_ctx, ctx, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCompiledEval",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCompiledEvalToBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathCompExprPtr comp; /* the compiled XPath expression */
 | |
|     int n_comp;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         comp = gen_xmlXPathCompExprPtr(n_comp, 0);
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
 | |
| 
 | |
|         ret_val = xmlXPathCompiledEvalToBoolean(comp, ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathCompExprPtr(n_comp, comp, 0);
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCompiledEvalToBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_comp);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathContextSetCache(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     int active; /* enables/disables (creates/frees) the cache */
 | |
|     int n_active;
 | |
|     int value; /* a value with semantics dependent on @options */
 | |
|     int n_value;
 | |
|     int options; /* options (currently only the value 0 is used) */
 | |
|     int n_options;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_active = 0;n_active < gen_nb_int;n_active++) {
 | |
|     for (n_value = 0;n_value < gen_nb_int;n_value++) {
 | |
|     for (n_options = 0;n_options < gen_nb_int;n_options++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         active = gen_int(n_active, 1);
 | |
|         value = gen_int(n_value, 2);
 | |
|         options = gen_int(n_options, 3);
 | |
| 
 | |
|         ret_val = xmlXPathContextSetCache(ctxt, active, value, options);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_active, active, 1);
 | |
|         des_int(n_value, value, 2);
 | |
|         des_int(n_options, options, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathContextSetCache",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_active);
 | |
|             printf(" %d", n_value);
 | |
|             printf(" %d", n_options);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathConvertBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathConvertBoolean(val);
 | |
|         val = NULL;
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathConvertBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathConvertNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathConvertNumber(val);
 | |
|         val = NULL;
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathConvertNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathConvertString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr val; /* an XPath object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathConvertString(val);
 | |
|         val = NULL;
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathConvertString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCtxtCompile(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEval(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlChar * str; /* the XPath expression */
 | |
|     int n_str;
 | |
|     xmlXPathContextPtr ctx; /* the XPath context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
 | |
| 
 | |
|         ret_val = xmlXPathEval((const xmlChar *)str, ctx);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_xmlXPathContextPtr(n_ctx, ctx, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEval",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEvalExpression(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlChar * str; /* the XPath expression */
 | |
|     int n_str;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
 | |
| 
 | |
|         ret_val = xmlXPathEvalExpression((const xmlChar *)str, ctxt);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEvalExpression",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEvalPredicate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
 | |
|     int n_res;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         res = gen_xmlXPathObjectPtr(n_res, 1);
 | |
| 
 | |
|         ret_val = xmlXPathEvalPredicate(ctxt, res);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlXPathObjectPtr(n_res, res, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEvalPredicate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_res);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathInit(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
| 
 | |
|         mem_base = xmlMemBlocks();
 | |
| 
 | |
|         xmlXPathInit();
 | |
|         call_tests++;
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathInit",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf("\n");
 | |
|         }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathIsInf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     double val; /* a double value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_double;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_double(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathIsInf(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_double(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathIsInf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathIsNaN(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     double val; /* a double value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_double;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_double(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathIsNaN(val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_double(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathIsNaN",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeEval(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr node; /* the node to to use as the context node */
 | |
|     int n_node;
 | |
|     xmlChar * str; /* the XPath expression */
 | |
|     int n_str;
 | |
|     xmlXPathContextPtr ctx; /* the XPath context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         str = gen_const_xmlChar_ptr(n_str, 1);
 | |
|         ctx = gen_xmlXPathContextPtr(n_ctx, 2);
 | |
| 
 | |
|         ret_val = xmlXPathNodeEval(node, (const xmlChar *)str, ctx);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
 | |
|         des_xmlXPathContextPtr(n_ctx, ctx, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeEval",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetCreate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodePtr val; /* an initial xmlNodePtr, or NULL */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlNodePtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetCreate(val);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetCreate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathObjectCopy(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr val; /* the original object */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlXPathObjectPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathObjectCopy(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathObjectCopy",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathOrderDocElems(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     long ret_val;
 | |
|     xmlDocPtr doc; /* an input document */
 | |
|     int n_doc;
 | |
| 
 | |
|     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         doc = gen_xmlDocPtr(n_doc, 0);
 | |
| 
 | |
|         ret_val = xmlXPathOrderDocElems(doc);
 | |
|         desret_long(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlDocPtr(n_doc, doc, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathOrderDocElems",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_doc);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSetContextNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodePtr node; /* the node to to use as the context node */
 | |
|     int n_node;
 | |
|     xmlXPathContextPtr ctx; /* the XPath context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         node = gen_xmlNodePtr(n_node, 0);
 | |
|         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
 | |
| 
 | |
|         ret_val = xmlXPathSetContextNode(node, ctx);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_node, node, 0);
 | |
|         des_xmlXPathContextPtr(n_ctx, ctx, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSetContextNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xpath(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xpath : 32 of 40 functions ...\n");
 | |
|     test_ret += test_xmlXPathCastBooleanToNumber();
 | |
|     test_ret += test_xmlXPathCastBooleanToString();
 | |
|     test_ret += test_xmlXPathCastNodeSetToBoolean();
 | |
|     test_ret += test_xmlXPathCastNodeSetToNumber();
 | |
|     test_ret += test_xmlXPathCastNodeSetToString();
 | |
|     test_ret += test_xmlXPathCastNodeToNumber();
 | |
|     test_ret += test_xmlXPathCastNodeToString();
 | |
|     test_ret += test_xmlXPathCastNumberToBoolean();
 | |
|     test_ret += test_xmlXPathCastNumberToString();
 | |
|     test_ret += test_xmlXPathCastStringToBoolean();
 | |
|     test_ret += test_xmlXPathCastStringToNumber();
 | |
|     test_ret += test_xmlXPathCastToBoolean();
 | |
|     test_ret += test_xmlXPathCastToNumber();
 | |
|     test_ret += test_xmlXPathCastToString();
 | |
|     test_ret += test_xmlXPathCmpNodes();
 | |
|     test_ret += test_xmlXPathCompile();
 | |
|     test_ret += test_xmlXPathCompiledEval();
 | |
|     test_ret += test_xmlXPathCompiledEvalToBoolean();
 | |
|     test_ret += test_xmlXPathContextSetCache();
 | |
|     test_ret += test_xmlXPathConvertBoolean();
 | |
|     test_ret += test_xmlXPathConvertNumber();
 | |
|     test_ret += test_xmlXPathConvertString();
 | |
|     test_ret += test_xmlXPathCtxtCompile();
 | |
|     test_ret += test_xmlXPathEval();
 | |
|     test_ret += test_xmlXPathEvalExpression();
 | |
|     test_ret += test_xmlXPathEvalPredicate();
 | |
|     test_ret += test_xmlXPathInit();
 | |
|     test_ret += test_xmlXPathIsInf();
 | |
|     test_ret += test_xmlXPathIsNaN();
 | |
|     test_ret += test_xmlXPathNewContext();
 | |
|     test_ret += test_xmlXPathNodeEval();
 | |
|     test_ret += test_xmlXPathNodeSetCreate();
 | |
|     test_ret += test_xmlXPathObjectCopy();
 | |
|     test_ret += test_xmlXPathOrderDocElems();
 | |
|     test_ret += test_xmlXPathSetContextNode();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xpath: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| #ifdef LIBXML_XPATH_ENABLED
 | |
| 
 | |
| #define gen_nb_xmlXPathParserContextPtr 1
 | |
| #define gen_xmlXPathParserContextPtr(no, nr) NULL
 | |
| #define des_xmlXPathParserContextPtr(no, val, nr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_valuePop(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = valuePop(ctxt);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in valuePop",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_valuePush(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
 | |
|     int n_ctxt;
 | |
|     xmlXPathObjectPtr value; /* the XPath object */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         value = gen_xmlXPathObjectPtr(n_value, 1);
 | |
| 
 | |
|         ret_val = valuePush(ctxt, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlXPathObjectPtr(n_value, value, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in valuePush",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathAddValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathAddValues(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathAddValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathBooleanFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathBooleanFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathBooleanFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCeilingFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathCeilingFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCeilingFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCompareValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int inf; /* less than (1) or greater than (0) */
 | |
|     int n_inf;
 | |
|     int strict; /* is the comparison strict */
 | |
|     int n_strict;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_inf = 0;n_inf < gen_nb_int;n_inf++) {
 | |
|     for (n_strict = 0;n_strict < gen_nb_int;n_strict++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         inf = gen_int(n_inf, 1);
 | |
|         strict = gen_int(n_strict, 2);
 | |
| 
 | |
|         ret_val = xmlXPathCompareValues(ctxt, inf, strict);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_inf, inf, 1);
 | |
|         des_int(n_strict, strict, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCompareValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_inf);
 | |
|             printf(" %d", n_strict);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathConcatFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathConcatFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathConcatFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathContainsFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathContainsFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathContainsFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathCountFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathCountFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathCountFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDebugDumpCompExpr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * for the output */
 | |
|     int n_output;
 | |
|     xmlXPathCompExprPtr comp; /* the precompiled XPath expression */
 | |
|     int n_comp;
 | |
|     int depth; /* the indentation level. */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         comp = gen_xmlXPathCompExprPtr(n_comp, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlXPathDebugDumpCompExpr(output, comp, depth);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlXPathCompExprPtr(n_comp, comp, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDebugDumpCompExpr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_comp);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDebugDumpObject(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
 | |
|     int mem_base;
 | |
|     FILE * output; /* the FILE * to dump the output */
 | |
|     int n_output;
 | |
|     xmlXPathObjectPtr cur; /* the object to inspect */
 | |
|     int n_cur;
 | |
|     int depth; /* indentation level */
 | |
|     int n_depth;
 | |
| 
 | |
|     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlXPathObjectPtr;n_cur++) {
 | |
|     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         output = gen_FILE_ptr(n_output, 0);
 | |
|         cur = gen_xmlXPathObjectPtr(n_cur, 1);
 | |
|         depth = gen_int(n_depth, 2);
 | |
| 
 | |
|         xmlXPathDebugDumpObject(output, cur, depth);
 | |
|         call_tests++;
 | |
|         des_FILE_ptr(n_output, output, 0);
 | |
|         des_xmlXPathObjectPtr(n_cur, cur, 1);
 | |
|         des_int(n_depth, depth, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDebugDumpObject",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_output);
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_depth);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDifference(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathDifference(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDifference",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDistinct(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set */
 | |
|     int n_nodes;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
| 
 | |
|         ret_val = xmlXPathDistinct(nodes);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDistinct",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDistinctSorted(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
 | |
|     int n_nodes;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
| 
 | |
|         ret_val = xmlXPathDistinctSorted(nodes);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDistinctSorted",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathDivValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathDivValues(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathDivValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEqualValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathEqualValues(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEqualValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathErr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* a XPath parser context */
 | |
|     int n_ctxt;
 | |
|     int error; /* the error code */
 | |
|     int n_error;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_error = 0;n_error < gen_nb_int;n_error++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         error = gen_int(n_error, 1);
 | |
| 
 | |
|         xmlXPathErr(ctxt, error);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_error, error, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathErr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_error);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEvalExpr(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathEvalExpr(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEvalExpr",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathEvaluatePredicateResult(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
 | |
|     int n_res;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         res = gen_xmlXPathObjectPtr(n_res, 1);
 | |
| 
 | |
|         ret_val = xmlXPathEvaluatePredicateResult(ctxt, res);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlXPathObjectPtr(n_res, res, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathEvaluatePredicateResult",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_res);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathFalseFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathFalseFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathFalseFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathFloorFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathFloorFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathFloorFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathFunctionLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathFunctionLookupNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathHasSameNodes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathHasSameNodes(nodes1, nodes2);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathHasSameNodes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathIdFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathIdFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathIdFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathIntersection(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathIntersection(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathIntersection",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathIsNodeType(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlChar * name; /* a name string */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         name = gen_const_xmlChar_ptr(n_name, 0);
 | |
| 
 | |
|         ret_val = xmlXPathIsNodeType((const xmlChar *)name);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathIsNodeType",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathLangFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathLangFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathLangFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathLastFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathLastFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathLastFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathLeading(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathLeading(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathLeading",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathLeadingSorted(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathLeadingSorted(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathLeadingSorted",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathLocalNameFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathLocalNameFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathLocalNameFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathModValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathModValues(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathModValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathMultValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathMultValues(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathMultValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNamespaceURIFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathNamespaceURIFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNamespaceURIFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     int val; /* the boolean value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_int(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewBoolean(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_int(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewCString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     char * val; /* the char * value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_const_char_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_const_char_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewCString((const char *)val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_char_ptr(n_val, (const char *)val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewCString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewFloat(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     double val; /* the double value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_double;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_double(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewFloat(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_double(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewFloat",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewNodeSet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr val; /* the NodePtr value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlNodePtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewNodeSet(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewNodeSet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewNodeSetList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodeSetPtr val; /* an existing NodeSet */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlNodeSetPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewNodeSetList(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewNodeSetList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewParserContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNewString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlChar * val; /* the xmlChar * value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_const_xmlChar_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNewString((const xmlChar *)val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNewString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextAncestor(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextAncestor(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextAncestor",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextAncestorOrSelf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextAncestorOrSelf(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextAncestorOrSelf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextAttribute(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current attribute in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextAttribute(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextAttribute",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextChild(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextChild(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextChild",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextDescendant(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextDescendant(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextDescendant",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextDescendantOrSelf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextDescendantOrSelf(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextDescendantOrSelf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextFollowing(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextFollowing(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextFollowing",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextFollowingSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextFollowingSibling(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextFollowingSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextNamespace(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current attribute in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextNamespace(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextNamespace",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextParent(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextParent(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextParent",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextPreceding(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextPreceding(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextPreceding",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextPrecedingSibling(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextPrecedingSibling(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextPrecedingSibling",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNextSelf(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     xmlNodePtr cur; /* the current node in the traversal */
 | |
|     int n_cur;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         cur = gen_xmlNodePtr(n_cur, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNextSelf(ctxt, cur);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_xmlNodePtr(n_cur, cur, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNextSelf",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_cur);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeLeading(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set */
 | |
|     int n_nodes;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeLeading(nodes, node);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeLeading",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeLeadingSorted(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
 | |
|     int n_nodes;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeLeadingSorted(nodes, node);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeLeadingSorted",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetAdd(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr cur; /* the initial node set */
 | |
|     int n_cur;
 | |
|     xmlNodePtr val; /* a new xmlNodePtr */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         val = gen_xmlNodePtr(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetAdd(cur, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetAdd",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetAddNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr cur; /* the initial node set */
 | |
|     int n_cur;
 | |
|     xmlNodePtr node; /* the hosting node */
 | |
|     int n_node;
 | |
|     xmlNsPtr ns; /* a the namespace node */
 | |
|     int n_ns;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
|         ns = gen_xmlNsPtr(n_ns, 2);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetAddNs(cur, node, ns);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         des_xmlNsPtr(n_ns, ns, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetAddNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_node);
 | |
|             printf(" %d", n_ns);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetAddUnique(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr cur; /* the initial node set */
 | |
|     int n_cur;
 | |
|     xmlNodePtr val; /* a new xmlNodePtr */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         val = gen_xmlNodePtr(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetAddUnique(cur, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetAddUnique",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetContains(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlNodeSetPtr cur; /* the node-set */
 | |
|     int n_cur;
 | |
|     xmlNodePtr val; /* the node */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         val = gen_xmlNodePtr(n_val, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetContains(cur, val);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetContains",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetDel(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr cur; /* the initial node set */
 | |
|     int n_cur;
 | |
|     xmlNodePtr val; /* an xmlNodePtr */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         val = gen_xmlNodePtr(n_val, 1);
 | |
| 
 | |
|         xmlXPathNodeSetDel(cur, val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_xmlNodePtr(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetDel",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetMerge(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr val1; /* the first NodeSet or NULL */
 | |
|     int n_val1;
 | |
|     xmlNodeSetPtr val2; /* the second NodeSet */
 | |
|     int n_val2;
 | |
| 
 | |
|     for (n_val1 = 0;n_val1 < gen_nb_xmlNodeSetPtr;n_val1++) {
 | |
|     for (n_val2 = 0;n_val2 < gen_nb_xmlNodeSetPtr;n_val2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val1 = gen_xmlNodeSetPtr(n_val1, 0);
 | |
|         val2 = gen_xmlNodeSetPtr(n_val2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeSetMerge(val1, val2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_val1, val1, 0);
 | |
|         des_xmlNodeSetPtr(n_val2, val2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetMerge",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val1);
 | |
|             printf(" %d", n_val2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetRemove(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr cur; /* the initial node set */
 | |
|     int n_cur;
 | |
|     int val; /* the index to remove */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
 | |
|     for (n_val = 0;n_val < gen_nb_int;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         cur = gen_xmlNodeSetPtr(n_cur, 0);
 | |
|         val = gen_int(n_val, 1);
 | |
| 
 | |
|         xmlXPathNodeSetRemove(cur, val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_cur, cur, 0);
 | |
|         des_int(n_val, val, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetRemove",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_cur);
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeSetSort(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr set; /* the node set */
 | |
|     int n_set;
 | |
| 
 | |
|     for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         set = gen_xmlNodeSetPtr(n_set, 0);
 | |
| 
 | |
|         xmlXPathNodeSetSort(set);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_set, set, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeSetSort",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_set);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeTrailing(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set */
 | |
|     int n_nodes;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeTrailing(nodes, node);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeTrailing",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNodeTrailingSorted(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
 | |
|     int n_nodes;
 | |
|     xmlNodePtr node; /* a node */
 | |
|     int n_node;
 | |
| 
 | |
|     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
 | |
|     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
 | |
|         node = gen_xmlNodePtr(n_node, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNodeTrailingSorted(nodes, node);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes, nodes, 0);
 | |
|         des_xmlNodePtr(n_node, node, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNodeTrailingSorted",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes);
 | |
|             printf(" %d", n_node);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNormalizeFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathNormalizeFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNormalizeFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNotEqualValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathNotEqualValues(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNotEqualValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNotFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathNotFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNotFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNsLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     const xmlChar * ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * prefix; /* the namespace prefix value */
 | |
|     int n_prefix;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
| 
 | |
|         ret_val = xmlXPathNsLookup(ctxt, (const xmlChar *)prefix);
 | |
|         desret_const_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNsLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathNumberFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathNumberFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathNumberFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathParseNCName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathParseNCName(ctxt);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathParseNCName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathParseName(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathParseName(ctxt);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathParseName",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPopBoolean(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathPopBoolean(ctxt);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPopBoolean",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPopExternal(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     void * ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathPopExternal(ctxt);
 | |
|         desret_void_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPopExternal",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPopNodeSet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathPopNodeSet(ctxt);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPopNodeSet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPopNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathPopNumber(ctxt);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPopNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPopString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlChar * ret_val;
 | |
|     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         ret_val = xmlXPathPopString(ctxt);
 | |
|         desret_xmlChar_ptr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPopString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathPositionFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathPositionFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathPositionFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterAllFunctions(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathRegisterAllFunctions(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisterAllFunctions",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterFunc(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterFuncLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterFuncNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterNs(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * prefix; /* the namespace prefix cannot be NULL or empty string */
 | |
|     int n_prefix;
 | |
|     xmlChar * ns_uri; /* the namespace name */
 | |
|     int n_ns_uri;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
 | |
|     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
 | |
|         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
 | |
| 
 | |
|         ret_val = xmlXPathRegisterNs(ctxt, (const xmlChar *)prefix, (const xmlChar *)ns_uri);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
 | |
|         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisterNs",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_prefix);
 | |
|             printf(" %d", n_ns_uri);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterVariable(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * name; /* the variable name */
 | |
|     int n_name;
 | |
|     xmlXPathObjectPtr value; /* the variable value or NULL */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         value = gen_xmlXPathObjectPtr(n_value, 2);
 | |
| 
 | |
|         ret_val = xmlXPathRegisterVariable(ctxt, (const xmlChar *)name, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_xmlXPathObjectPtr(n_value, value, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisterVariable",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterVariableLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisterVariableNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     int ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * name; /* the variable name */
 | |
|     int n_name;
 | |
|     xmlChar * ns_uri; /* the variable namespace URI */
 | |
|     int n_ns_uri;
 | |
|     xmlXPathObjectPtr value; /* the variable value or NULL */
 | |
|     int n_value;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
 | |
|     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
 | |
|         value = gen_xmlXPathObjectPtr(n_value, 3);
 | |
| 
 | |
|         ret_val = xmlXPathRegisterVariableNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri, value);
 | |
|         desret_int(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
 | |
|         des_xmlXPathObjectPtr(n_value, value, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisterVariableNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns_uri);
 | |
|             printf(" %d", n_value);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisteredFuncsCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathRegisteredFuncsCleanup(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisteredFuncsCleanup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisteredNsCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathRegisteredNsCleanup(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisteredNsCleanup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRegisteredVariablesCleanup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathRegisteredVariablesCleanup(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRegisteredVariablesCleanup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRoot(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathRoot(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRoot",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathRoundFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathRoundFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathRoundFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathStartsWithFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathStartsWithFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathStartsWithFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathStringEvalNumber(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     double ret_val;
 | |
|     xmlChar * str; /* A string to scan */
 | |
|     int n_str;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
| 
 | |
|         ret_val = xmlXPathStringEvalNumber((const xmlChar *)str);
 | |
|         desret_double(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathStringEvalNumber",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathStringFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathStringFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathStringFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathStringLengthFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathStringLengthFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathStringLengthFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSubValues(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathSubValues(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSubValues",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSubstringAfterFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathSubstringAfterFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSubstringAfterFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSubstringBeforeFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathSubstringBeforeFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSubstringBeforeFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSubstringFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathSubstringFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSubstringFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathSumFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathSumFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathSumFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathTrailing(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathTrailing(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathTrailing",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathTrailingSorted(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodeSetPtr ret_val;
 | |
|     xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
 | |
|     int n_nodes1;
 | |
|     xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
 | |
|     int n_nodes2;
 | |
| 
 | |
|     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
 | |
|     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
 | |
|         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
 | |
| 
 | |
|         ret_val = xmlXPathTrailingSorted(nodes1, nodes2);
 | |
|         desret_xmlNodeSetPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
 | |
|         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathTrailingSorted",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_nodes1);
 | |
|             printf(" %d", n_nodes2);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathTranslateFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathTranslateFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathTranslateFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathTrueFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of arguments */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPathTrueFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathTrueFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathValueFlipSign(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPathValueFlipSign(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathValueFlipSign",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathVariableLookup(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * name; /* the variable name */
 | |
|     int n_name;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
| 
 | |
|         ret_val = xmlXPathVariableLookup(ctxt, (const xmlChar *)name);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathVariableLookup",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathVariableLookupNS(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathContextPtr ctxt; /* the XPath context */
 | |
|     int n_ctxt;
 | |
|     xmlChar * name; /* the variable name */
 | |
|     int n_name;
 | |
|     xmlChar * ns_uri; /* the variable namespace URI */
 | |
|     int n_ns_uri;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
 | |
|     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
 | |
|     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
 | |
|         name = gen_const_xmlChar_ptr(n_name, 1);
 | |
|         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
 | |
| 
 | |
|         ret_val = xmlXPathVariableLookupNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
 | |
|         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathVariableLookupNS",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_name);
 | |
|             printf(" %d", n_ns_uri);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathWrapCString(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     char * val; /* the char * value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_char_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_char_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathWrapCString(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_char_ptr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathWrapCString",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathWrapExternal(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     void * val; /* the user data */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_void_ptr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_void_ptr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathWrapExternal(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_void_ptr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathWrapExternal",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPathWrapNodeSet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodeSetPtr val; /* the NodePtr value */
 | |
|     int n_val;
 | |
| 
 | |
|     for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         val = gen_xmlNodeSetPtr(n_val, 0);
 | |
| 
 | |
|         ret_val = xmlXPathWrapNodeSet(val);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_val, val, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPathWrapNodeSet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_val);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPatherror(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPATH_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
 | |
|     int n_ctxt;
 | |
|     const char * file; /* the file name */
 | |
|     int n_file;
 | |
|     int line; /* the line number */
 | |
|     int n_line;
 | |
|     int no; /* the error number */
 | |
|     int n_no;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
 | |
|     for (n_line = 0;n_line < gen_nb_int;n_line++) {
 | |
|     for (n_no = 0;n_no < gen_nb_int;n_no++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         file = gen_filepath(n_file, 1);
 | |
|         line = gen_int(n_line, 2);
 | |
|         no = gen_int(n_no, 3);
 | |
| 
 | |
|         xmlXPatherror(ctxt, file, line, no);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_filepath(n_file, file, 1);
 | |
|         des_int(n_line, line, 2);
 | |
|         des_int(n_no, no, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPatherror",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_file);
 | |
|             printf(" %d", n_line);
 | |
|             printf(" %d", n_no);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xpathInternals(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xpathInternals : 106 of 117 functions ...\n");
 | |
|     test_ret += test_valuePop();
 | |
|     test_ret += test_valuePush();
 | |
|     test_ret += test_xmlXPathAddValues();
 | |
|     test_ret += test_xmlXPathBooleanFunction();
 | |
|     test_ret += test_xmlXPathCeilingFunction();
 | |
|     test_ret += test_xmlXPathCompareValues();
 | |
|     test_ret += test_xmlXPathConcatFunction();
 | |
|     test_ret += test_xmlXPathContainsFunction();
 | |
|     test_ret += test_xmlXPathCountFunction();
 | |
|     test_ret += test_xmlXPathDebugDumpCompExpr();
 | |
|     test_ret += test_xmlXPathDebugDumpObject();
 | |
|     test_ret += test_xmlXPathDifference();
 | |
|     test_ret += test_xmlXPathDistinct();
 | |
|     test_ret += test_xmlXPathDistinctSorted();
 | |
|     test_ret += test_xmlXPathDivValues();
 | |
|     test_ret += test_xmlXPathEqualValues();
 | |
|     test_ret += test_xmlXPathErr();
 | |
|     test_ret += test_xmlXPathEvalExpr();
 | |
|     test_ret += test_xmlXPathEvaluatePredicateResult();
 | |
|     test_ret += test_xmlXPathFalseFunction();
 | |
|     test_ret += test_xmlXPathFloorFunction();
 | |
|     test_ret += test_xmlXPathFunctionLookup();
 | |
|     test_ret += test_xmlXPathFunctionLookupNS();
 | |
|     test_ret += test_xmlXPathHasSameNodes();
 | |
|     test_ret += test_xmlXPathIdFunction();
 | |
|     test_ret += test_xmlXPathIntersection();
 | |
|     test_ret += test_xmlXPathIsNodeType();
 | |
|     test_ret += test_xmlXPathLangFunction();
 | |
|     test_ret += test_xmlXPathLastFunction();
 | |
|     test_ret += test_xmlXPathLeading();
 | |
|     test_ret += test_xmlXPathLeadingSorted();
 | |
|     test_ret += test_xmlXPathLocalNameFunction();
 | |
|     test_ret += test_xmlXPathModValues();
 | |
|     test_ret += test_xmlXPathMultValues();
 | |
|     test_ret += test_xmlXPathNamespaceURIFunction();
 | |
|     test_ret += test_xmlXPathNewBoolean();
 | |
|     test_ret += test_xmlXPathNewCString();
 | |
|     test_ret += test_xmlXPathNewFloat();
 | |
|     test_ret += test_xmlXPathNewNodeSet();
 | |
|     test_ret += test_xmlXPathNewNodeSetList();
 | |
|     test_ret += test_xmlXPathNewParserContext();
 | |
|     test_ret += test_xmlXPathNewString();
 | |
|     test_ret += test_xmlXPathNextAncestor();
 | |
|     test_ret += test_xmlXPathNextAncestorOrSelf();
 | |
|     test_ret += test_xmlXPathNextAttribute();
 | |
|     test_ret += test_xmlXPathNextChild();
 | |
|     test_ret += test_xmlXPathNextDescendant();
 | |
|     test_ret += test_xmlXPathNextDescendantOrSelf();
 | |
|     test_ret += test_xmlXPathNextFollowing();
 | |
|     test_ret += test_xmlXPathNextFollowingSibling();
 | |
|     test_ret += test_xmlXPathNextNamespace();
 | |
|     test_ret += test_xmlXPathNextParent();
 | |
|     test_ret += test_xmlXPathNextPreceding();
 | |
|     test_ret += test_xmlXPathNextPrecedingSibling();
 | |
|     test_ret += test_xmlXPathNextSelf();
 | |
|     test_ret += test_xmlXPathNodeLeading();
 | |
|     test_ret += test_xmlXPathNodeLeadingSorted();
 | |
|     test_ret += test_xmlXPathNodeSetAdd();
 | |
|     test_ret += test_xmlXPathNodeSetAddNs();
 | |
|     test_ret += test_xmlXPathNodeSetAddUnique();
 | |
|     test_ret += test_xmlXPathNodeSetContains();
 | |
|     test_ret += test_xmlXPathNodeSetDel();
 | |
|     test_ret += test_xmlXPathNodeSetMerge();
 | |
|     test_ret += test_xmlXPathNodeSetRemove();
 | |
|     test_ret += test_xmlXPathNodeSetSort();
 | |
|     test_ret += test_xmlXPathNodeTrailing();
 | |
|     test_ret += test_xmlXPathNodeTrailingSorted();
 | |
|     test_ret += test_xmlXPathNormalizeFunction();
 | |
|     test_ret += test_xmlXPathNotEqualValues();
 | |
|     test_ret += test_xmlXPathNotFunction();
 | |
|     test_ret += test_xmlXPathNsLookup();
 | |
|     test_ret += test_xmlXPathNumberFunction();
 | |
|     test_ret += test_xmlXPathParseNCName();
 | |
|     test_ret += test_xmlXPathParseName();
 | |
|     test_ret += test_xmlXPathPopBoolean();
 | |
|     test_ret += test_xmlXPathPopExternal();
 | |
|     test_ret += test_xmlXPathPopNodeSet();
 | |
|     test_ret += test_xmlXPathPopNumber();
 | |
|     test_ret += test_xmlXPathPopString();
 | |
|     test_ret += test_xmlXPathPositionFunction();
 | |
|     test_ret += test_xmlXPathRegisterAllFunctions();
 | |
|     test_ret += test_xmlXPathRegisterFunc();
 | |
|     test_ret += test_xmlXPathRegisterFuncLookup();
 | |
|     test_ret += test_xmlXPathRegisterFuncNS();
 | |
|     test_ret += test_xmlXPathRegisterNs();
 | |
|     test_ret += test_xmlXPathRegisterVariable();
 | |
|     test_ret += test_xmlXPathRegisterVariableLookup();
 | |
|     test_ret += test_xmlXPathRegisterVariableNS();
 | |
|     test_ret += test_xmlXPathRegisteredFuncsCleanup();
 | |
|     test_ret += test_xmlXPathRegisteredNsCleanup();
 | |
|     test_ret += test_xmlXPathRegisteredVariablesCleanup();
 | |
|     test_ret += test_xmlXPathRoot();
 | |
|     test_ret += test_xmlXPathRoundFunction();
 | |
|     test_ret += test_xmlXPathStartsWithFunction();
 | |
|     test_ret += test_xmlXPathStringEvalNumber();
 | |
|     test_ret += test_xmlXPathStringFunction();
 | |
|     test_ret += test_xmlXPathStringLengthFunction();
 | |
|     test_ret += test_xmlXPathSubValues();
 | |
|     test_ret += test_xmlXPathSubstringAfterFunction();
 | |
|     test_ret += test_xmlXPathSubstringBeforeFunction();
 | |
|     test_ret += test_xmlXPathSubstringFunction();
 | |
|     test_ret += test_xmlXPathSumFunction();
 | |
|     test_ret += test_xmlXPathTrailing();
 | |
|     test_ret += test_xmlXPathTrailingSorted();
 | |
|     test_ret += test_xmlXPathTranslateFunction();
 | |
|     test_ret += test_xmlXPathTrueFunction();
 | |
|     test_ret += test_xmlXPathValueFlipSign();
 | |
|     test_ret += test_xmlXPathVariableLookup();
 | |
|     test_ret += test_xmlXPathVariableLookupNS();
 | |
|     test_ret += test_xmlXPathWrapCString();
 | |
|     test_ret += test_xmlXPathWrapExternal();
 | |
|     test_ret += test_xmlXPathWrapNodeSet();
 | |
|     test_ret += test_xmlXPatherror();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xpathInternals: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrBuildNodeList(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlNodePtr ret_val;
 | |
|     xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */
 | |
|     int n_obj;
 | |
| 
 | |
|     for (n_obj = 0;n_obj < gen_nb_xmlXPathObjectPtr;n_obj++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         obj = gen_xmlXPathObjectPtr(n_obj, 0);
 | |
| 
 | |
|         ret_val = xmlXPtrBuildNodeList(obj);
 | |
|         desret_xmlNodePtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_obj, obj, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrBuildNodeList",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_obj);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrEval(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlChar * str; /* the XPointer expression */
 | |
|     int n_str;
 | |
|     xmlXPathContextPtr ctx; /* the XPointer context */
 | |
|     int n_ctx;
 | |
| 
 | |
|     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
 | |
|     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         str = gen_const_xmlChar_ptr(n_str, 0);
 | |
|         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrEval((const xmlChar *)str, ctx);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
 | |
|         des_xmlXPathContextPtr(n_ctx, ctx, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrEval",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_str);
 | |
|             printf(" %d", n_ctx);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrEvalRangePredicate(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
 | |
|     int n_ctxt;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
| 
 | |
|         xmlXPtrEvalRangePredicate(ctxt);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrEvalRangePredicate",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewCollapsedRange(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the starting and ending node */
 | |
|     int n_start;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
| 
 | |
|         ret_val = xmlXPtrNewCollapsedRange(start);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewCollapsedRange",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewContext(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| 
 | |
|     /* missing type support */
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewLocationSetNodeSet(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodeSetPtr set; /* a node set */
 | |
|     int n_set;
 | |
| 
 | |
|     for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         set = gen_xmlNodeSetPtr(n_set, 0);
 | |
| 
 | |
|         ret_val = xmlXPtrNewLocationSetNodeSet(set);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodeSetPtr(n_set, set, 0);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodeSet",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_set);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewLocationSetNodes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the start NodePtr value */
 | |
|     int n_start;
 | |
|     xmlNodePtr end; /* the end NodePtr value or NULL */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
|         end = gen_xmlNodePtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewLocationSetNodes(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         des_xmlNodePtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRange(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the starting node */
 | |
|     int n_start;
 | |
|     int startindex; /* the start index */
 | |
|     int n_startindex;
 | |
|     xmlNodePtr end; /* the ending point */
 | |
|     int n_end;
 | |
|     int endindex; /* the ending index */
 | |
|     int n_endindex;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|     for (n_startindex = 0;n_startindex < gen_nb_int;n_startindex++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
 | |
|     for (n_endindex = 0;n_endindex < gen_nb_int;n_endindex++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
|         startindex = gen_int(n_startindex, 1);
 | |
|         end = gen_xmlNodePtr(n_end, 2);
 | |
|         endindex = gen_int(n_endindex, 3);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRange(start, startindex, end, endindex);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         des_int(n_startindex, startindex, 1);
 | |
|         des_xmlNodePtr(n_end, end, 2);
 | |
|         des_int(n_endindex, endindex, 3);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRange",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_startindex);
 | |
|             printf(" %d", n_end);
 | |
|             printf(" %d", n_endindex);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRangeNodeObject(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the starting node */
 | |
|     int n_start;
 | |
|     xmlXPathObjectPtr end; /* the ending object */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
|         end = gen_xmlXPathObjectPtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRangeNodeObject(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         des_xmlXPathObjectPtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRangeNodeObject",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRangeNodePoint(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the starting node */
 | |
|     int n_start;
 | |
|     xmlXPathObjectPtr end; /* the ending point */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
|         end = gen_xmlXPathObjectPtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRangeNodePoint(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         des_xmlXPathObjectPtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRangeNodePoint",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRangeNodes(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlNodePtr start; /* the starting node */
 | |
|     int n_start;
 | |
|     xmlNodePtr end; /* the ending node */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlNodePtr(n_start, 0);
 | |
|         end = gen_xmlNodePtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRangeNodes(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlNodePtr(n_start, start, 0);
 | |
|         des_xmlNodePtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRangeNodes",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRangePointNode(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr start; /* the starting point */
 | |
|     int n_start;
 | |
|     xmlNodePtr end; /* the ending node */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlXPathObjectPtr(n_start, 0);
 | |
|         end = gen_xmlNodePtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRangePointNode(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_start, start, 0);
 | |
|         des_xmlNodePtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRangePointNode",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrNewRangePoints(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathObjectPtr ret_val;
 | |
|     xmlXPathObjectPtr start; /* the starting point */
 | |
|     int n_start;
 | |
|     xmlXPathObjectPtr end; /* the ending point */
 | |
|     int n_end;
 | |
| 
 | |
|     for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
 | |
|     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         start = gen_xmlXPathObjectPtr(n_start, 0);
 | |
|         end = gen_xmlXPathObjectPtr(n_end, 1);
 | |
| 
 | |
|         ret_val = xmlXPtrNewRangePoints(start, end);
 | |
|         desret_xmlXPathObjectPtr(ret_val);
 | |
|         call_tests++;
 | |
|         des_xmlXPathObjectPtr(n_start, start, 0);
 | |
|         des_xmlXPathObjectPtr(n_end, end, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrNewRangePoints",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_start);
 | |
|             printf(" %d", n_end);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| 
 | |
| static int
 | |
| test_xmlXPtrRangeToFunction(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
| #if defined(LIBXML_XPTR_ENABLED) && defined(LIBXML_XPTR_LOCS_ENABLED)
 | |
|     int mem_base;
 | |
|     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
 | |
|     int n_ctxt;
 | |
|     int nargs; /* the number of args */
 | |
|     int n_nargs;
 | |
| 
 | |
|     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
 | |
|     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
 | |
|         mem_base = xmlMemBlocks();
 | |
|         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
 | |
|         nargs = gen_int(n_nargs, 1);
 | |
| 
 | |
|         xmlXPtrRangeToFunction(ctxt, nargs);
 | |
|         call_tests++;
 | |
|         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
 | |
|         des_int(n_nargs, nargs, 1);
 | |
|         xmlResetLastError();
 | |
|         if (mem_base != xmlMemBlocks()) {
 | |
|             printf("Leak of %d blocks found in xmlXPtrRangeToFunction",
 | |
| 	           xmlMemBlocks() - mem_base);
 | |
| 	    test_ret++;
 | |
|             printf(" %d", n_ctxt);
 | |
|             printf(" %d", n_nargs);
 | |
|             printf("\n");
 | |
|         }
 | |
|     }
 | |
|     }
 | |
|     function_tests++;
 | |
| #endif
 | |
| 
 | |
|     return(test_ret);
 | |
| }
 | |
| 
 | |
| static int
 | |
| test_xpointer(void) {
 | |
|     int test_ret = 0;
 | |
| 
 | |
|     if (quiet == 0) printf("Testing xpointer : 13 of 21 functions ...\n");
 | |
|     test_ret += test_xmlXPtrBuildNodeList();
 | |
|     test_ret += test_xmlXPtrEval();
 | |
|     test_ret += test_xmlXPtrEvalRangePredicate();
 | |
|     test_ret += test_xmlXPtrNewCollapsedRange();
 | |
|     test_ret += test_xmlXPtrNewContext();
 | |
|     test_ret += test_xmlXPtrNewLocationSetNodeSet();
 | |
|     test_ret += test_xmlXPtrNewLocationSetNodes();
 | |
|     test_ret += test_xmlXPtrNewRange();
 | |
|     test_ret += test_xmlXPtrNewRangeNodeObject();
 | |
|     test_ret += test_xmlXPtrNewRangeNodePoint();
 | |
|     test_ret += test_xmlXPtrNewRangeNodes();
 | |
|     test_ret += test_xmlXPtrNewRangePointNode();
 | |
|     test_ret += test_xmlXPtrNewRangePoints();
 | |
|     test_ret += test_xmlXPtrRangeToFunction();
 | |
| 
 | |
|     if (test_ret != 0)
 | |
| 	printf("Module xpointer: %d errors\n", test_ret);
 | |
|     return(test_ret);
 | |
| }
 | |
| static int
 | |
| test_module(const char *module) {
 | |
|     if (!strcmp(module, "HTMLparser")) return(test_HTMLparser());
 | |
|     if (!strcmp(module, "HTMLtree")) return(test_HTMLtree());
 | |
|     if (!strcmp(module, "SAX2")) return(test_SAX2());
 | |
|     if (!strcmp(module, "c14n")) return(test_c14n());
 | |
|     if (!strcmp(module, "catalog")) return(test_catalog());
 | |
|     if (!strcmp(module, "chvalid")) return(test_chvalid());
 | |
|     if (!strcmp(module, "debugXML")) return(test_debugXML());
 | |
|     if (!strcmp(module, "dict")) return(test_dict());
 | |
|     if (!strcmp(module, "encoding")) return(test_encoding());
 | |
|     if (!strcmp(module, "entities")) return(test_entities());
 | |
|     if (!strcmp(module, "hash")) return(test_hash());
 | |
|     if (!strcmp(module, "list")) return(test_list());
 | |
|     if (!strcmp(module, "nanohttp")) return(test_nanohttp());
 | |
|     if (!strcmp(module, "parser")) return(test_parser());
 | |
|     if (!strcmp(module, "parserInternals")) return(test_parserInternals());
 | |
|     if (!strcmp(module, "pattern")) return(test_pattern());
 | |
|     if (!strcmp(module, "relaxng")) return(test_relaxng());
 | |
|     if (!strcmp(module, "schemasInternals")) return(test_schemasInternals());
 | |
|     if (!strcmp(module, "schematron")) return(test_schematron());
 | |
|     if (!strcmp(module, "tree")) return(test_tree());
 | |
|     if (!strcmp(module, "uri")) return(test_uri());
 | |
|     if (!strcmp(module, "valid")) return(test_valid());
 | |
|     if (!strcmp(module, "xinclude")) return(test_xinclude());
 | |
|     if (!strcmp(module, "xmlIO")) return(test_xmlIO());
 | |
|     if (!strcmp(module, "xmlautomata")) return(test_xmlautomata());
 | |
|     if (!strcmp(module, "xmlerror")) return(test_xmlerror());
 | |
|     if (!strcmp(module, "xmlmodule")) return(test_xmlmodule());
 | |
|     if (!strcmp(module, "xmlreader")) return(test_xmlreader());
 | |
|     if (!strcmp(module, "xmlregexp")) return(test_xmlregexp());
 | |
|     if (!strcmp(module, "xmlsave")) return(test_xmlsave());
 | |
|     if (!strcmp(module, "xmlschemas")) return(test_xmlschemas());
 | |
|     if (!strcmp(module, "xmlschemastypes")) return(test_xmlschemastypes());
 | |
|     if (!strcmp(module, "xmlstring")) return(test_xmlstring());
 | |
|     if (!strcmp(module, "xmlunicode")) return(test_xmlunicode());
 | |
|     if (!strcmp(module, "xmlwriter")) return(test_xmlwriter());
 | |
|     if (!strcmp(module, "xpath")) return(test_xpath());
 | |
|     if (!strcmp(module, "xpathInternals")) return(test_xpathInternals());
 | |
|     if (!strcmp(module, "xpointer")) return(test_xpointer());
 | |
|     return(0);
 | |
| }
 |