File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / python / tests / resolver.py
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:34 2014 UTC (10 years, 3 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    1: #!/usr/bin/python -u
    2: import sys
    3: import libxml2
    4: try:
    5:     import StringIO
    6:     str_io = StringIO.StringIO
    7: except:
    8:     import io
    9:     str_io = io.StringIO
   10: 
   11: # Memory debug specific
   12: libxml2.debugMemory(1)
   13: 
   14: def myResolver(URL, ID, ctxt):
   15:     return(str_io("<foo/>"))
   16: 
   17: libxml2.setEntityLoader(myResolver)
   18: 
   19: doc = libxml2.parseFile("doesnotexist.xml")
   20: root = doc.children
   21: if root.name != "foo":
   22:     print("root element name error")
   23:     sys.exit(1)
   24: doc.freeDoc()
   25: 
   26: i = 0
   27: while i < 5000:
   28:     doc = libxml2.parseFile("doesnotexist.xml")
   29:     root = doc.children
   30:     if root.name != "foo":
   31:         print("root element name error")
   32:         sys.exit(1)
   33:     doc.freeDoc()
   34:     i = i + 1
   35: 
   36: 
   37: # Memory debug specific
   38: libxml2.cleanupParser()
   39: if libxml2.debugMemory(1) == 0:
   40:     print("OK")
   41: else:
   42:     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
   43:     libxml2.dumpMemory()
   44: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>