1*7c568831SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*7c568831SAndroid Build Coastguard Worker# 3*7c568831SAndroid Build Coastguard Worker# this tests the entities substitutions with the XmlTextReader interface 4*7c568831SAndroid Build Coastguard Worker# 5*7c568831SAndroid Build Coastguard Workerimport sys 6*7c568831SAndroid Build Coastguard Workerimport setup_test 7*7c568831SAndroid Build Coastguard Workerimport libxml2 8*7c568831SAndroid Build Coastguard Worker 9*7c568831SAndroid Build Coastguard Worker# Memory debug specific 10*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1) 11*7c568831SAndroid Build Coastguard Worker 12*7c568831SAndroid Build Coastguard Worker# 13*7c568831SAndroid Build Coastguard Worker# Parse a document testing the Close() API 14*7c568831SAndroid Build Coastguard Worker# 15*7c568831SAndroid Build Coastguard Workerdocstr="""<foo> 16*7c568831SAndroid Build Coastguard Worker<label>some text</label> 17*7c568831SAndroid Build Coastguard Worker<item>100</item> 18*7c568831SAndroid Build Coastguard Worker</foo>""" 19*7c568831SAndroid Build Coastguard Worker 20*7c568831SAndroid Build Coastguard Workerreader = libxml2.readerForDoc(docstr, "test1", None, 0) 21*7c568831SAndroid Build Coastguard Workerret = reader.Read() 22*7c568831SAndroid Build Coastguard Workerret = reader.Read() 23*7c568831SAndroid Build Coastguard Workerret = reader.Close() 24*7c568831SAndroid Build Coastguard Worker 25*7c568831SAndroid Build Coastguard Workerif ret != 0: 26*7c568831SAndroid Build Coastguard Worker print("Error closing the document test1") 27*7c568831SAndroid Build Coastguard Worker sys.exit(1) 28*7c568831SAndroid Build Coastguard Worker 29*7c568831SAndroid Build Coastguard Workerdel reader 30*7c568831SAndroid Build Coastguard Worker 31*7c568831SAndroid Build Coastguard Worker# Memory debug specific 32*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser() 33*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0: 34*7c568831SAndroid Build Coastguard Worker print("OK") 35*7c568831SAndroid Build Coastguard Workerelse: 36*7c568831SAndroid Build Coastguard Worker print("Memory leak %d bytes" % (libxml2.debugMemory(1))) 37