libxml2 2.9.1 clean sources
[tomato/tomato-dir865l.git] / release / src / router / libxml2 / python / tests / resolver.py
blob6f21f52e2fab5cc15eb7cdad94d90c7a6f7cf8a6
1 #!/usr/bin/python -u
2 import sys
3 import libxml2
4 try:
5 import StringIO
6 str_io = StringIO.StringIO
7 except:
8 import io
9 str_io = io.StringIO
11 # Memory debug specific
12 libxml2.debugMemory(1)
14 def myResolver(URL, ID, ctxt):
15 return(str_io("<foo/>"))
17 libxml2.setEntityLoader(myResolver)
19 doc = libxml2.parseFile("doesnotexist.xml")
20 root = doc.children
21 if root.name != "foo":
22 print("root element name error")
23 sys.exit(1)
24 doc.freeDoc()
26 i = 0
27 while i < 5000:
28 doc = libxml2.parseFile("doesnotexist.xml")
29 root = doc.children
30 if root.name != "foo":
31 print("root element name error")
32 sys.exit(1)
33 doc.freeDoc()
34 i = i + 1
37 # Memory debug specific
38 libxml2.cleanupParser()
39 if libxml2.debugMemory(1) == 0:
40 print("OK")
41 else:
42 print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
43 libxml2.dumpMemory()