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