1*7c568831SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*7c568831SAndroid Build Coastguard Workerimport sys 3*7c568831SAndroid Build Coastguard Workerimport setup_test 4*7c568831SAndroid Build Coastguard Workerimport libxml2 5*7c568831SAndroid Build Coastguard Worker 6*7c568831SAndroid Build Coastguard Worker# Memory debug specific 7*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1) 8*7c568831SAndroid Build Coastguard Worker 9*7c568831SAndroid Build Coastguard Workerctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml") 10*7c568831SAndroid Build Coastguard Workerctxt.parseChunk("/>", 2, 1) 11*7c568831SAndroid Build Coastguard Workerdoc = ctxt.doc() 12*7c568831SAndroid Build Coastguard Workerctxt=None 13*7c568831SAndroid Build Coastguard Workerif doc.name != "test.xml": 14*7c568831SAndroid Build Coastguard Worker print("document name error") 15*7c568831SAndroid Build Coastguard Worker sys.exit(1) 16*7c568831SAndroid Build Coastguard Workerroot = doc.children 17*7c568831SAndroid Build Coastguard Workerif root.name != "foo": 18*7c568831SAndroid Build Coastguard Worker print("root element name error") 19*7c568831SAndroid Build Coastguard Worker sys.exit(1) 20*7c568831SAndroid Build Coastguard Workerdoc.freeDoc() 21*7c568831SAndroid Build Coastguard Workeri = 10000 22*7c568831SAndroid Build Coastguard Workerwhile i > 0: 23*7c568831SAndroid Build Coastguard Worker ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml") 24*7c568831SAndroid Build Coastguard Worker ctxt.parseChunk("/>", 2, 1) 25*7c568831SAndroid Build Coastguard Worker doc = ctxt.doc() 26*7c568831SAndroid Build Coastguard Worker doc.freeDoc() 27*7c568831SAndroid Build Coastguard Worker i = i -1 28*7c568831SAndroid Build Coastguard Workerctxt=None 29*7c568831SAndroid Build Coastguard Worker 30*7c568831SAndroid Build Coastguard Worker# Memory debug specific 31*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser() 32*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0: 33*7c568831SAndroid Build Coastguard Worker print("OK") 34*7c568831SAndroid Build Coastguard Workerelse: 35*7c568831SAndroid Build Coastguard Worker print("Memory leak %d bytes" % (libxml2.debugMemory(1))) 36