#!/usr/bin/python -u import sys import libxml2 # Memory debug specific libxml2.debugMemory(1) ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml") ctxt.parseChunk("/>", 2, 1) doc = ctxt.doc() ctxt=None if doc.name != "test.xml": print("document name error") sys.exit(1) root = doc.children if root.name != "foo": print("root element name error") sys.exit(1) doc.freeDoc() i = 10000 while i > 0: ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml") ctxt.parseChunk("/>", 2, 1) doc = ctxt.doc() doc.freeDoc() i = i -1 ctxt=None # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print("OK") else: print("Memory leak %d bytes" % (libxml2.debugMemory(1))) libxml2.dumpMemory()