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