xref: /aosp_15_r20/external/libxml2/python/tests/reader8.py (revision 7c5688314b92172186c154356a6374bf7684c3ca)
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