Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > a242511b0ee0a37e6146e1c872b76fee > files > 39

libxml2-python-2.7.8-9.4.mga1.i586.rpm

#!/usr/bin/python -u
import sys
import libxml2
import StringIO

# Memory debug specific
libxml2.debugMemory(1)

def myResolver(URL, ID, ctxt):
    return(StringIO.StringIO("<foo/>"))

libxml2.setEntityLoader(myResolver)

doc = libxml2.parseFile("doesnotexist.xml")
root = doc.children
if root.name != "foo":
    print "root element name error"
    sys.exit(1)
doc.freeDoc()

i = 0
while i < 5000:
    doc = libxml2.parseFile("doesnotexist.xml")
    root = doc.children
    if root.name != "foo":
        print "root element name error"
        sys.exit(1)
    doc.freeDoc()
    i = i + 1


# Memory debug specific
libxml2.cleanupParser()
if libxml2.debugMemory(1) == 0:
    print "OK"
else:
    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
    libxml2.dumpMemory()