xref: /aosp_15_r20/external/libxml2/python/tests/inbuf.py (revision 7c5688314b92172186c154356a6374bf7684c3ca)
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 Workertry:
6*7c568831SAndroid Build Coastguard Worker    import StringIO
7*7c568831SAndroid Build Coastguard Worker    str_io = StringIO.StringIO
8*7c568831SAndroid Build Coastguard Workerexcept:
9*7c568831SAndroid Build Coastguard Worker    import io
10*7c568831SAndroid Build Coastguard Worker    str_io = io.StringIO
11*7c568831SAndroid Build Coastguard Worker
12*7c568831SAndroid Build Coastguard Worker# Memory debug specific
13*7c568831SAndroid Build Coastguard Workerlibxml2.debugMemory(1)
14*7c568831SAndroid Build Coastguard Worker
15*7c568831SAndroid Build Coastguard Workeri = 0
16*7c568831SAndroid Build Coastguard Workerwhile i < 5000:
17*7c568831SAndroid Build Coastguard Worker    f = str_io("foobar")
18*7c568831SAndroid Build Coastguard Worker    buf = libxml2.inputBuffer(f)
19*7c568831SAndroid Build Coastguard Worker    i = i + 1
20*7c568831SAndroid Build Coastguard Worker
21*7c568831SAndroid Build Coastguard Workerdel f
22*7c568831SAndroid Build Coastguard Workerdel buf
23*7c568831SAndroid Build Coastguard Worker
24*7c568831SAndroid Build Coastguard Worker# Memory debug specific
25*7c568831SAndroid Build Coastguard Workerlibxml2.cleanupParser()
26*7c568831SAndroid Build Coastguard Workerif libxml2.debugMemory(1) == 0:
27*7c568831SAndroid Build Coastguard Worker    print("OK")
28*7c568831SAndroid Build Coastguard Workerelse:
29*7c568831SAndroid Build Coastguard Worker    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
30*7c568831SAndroid Build Coastguard Worker
31