Merge branch 'tizen' into tizen_base
[platform/upstream/libxml2.git] / python / tests / resolver.py
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
10
11 # Memory debug specific
12 libxml2.debugMemory(1)
13
14 def myResolver(URL, ID, ctxt):
15     return(str_io("<foo/>"))
16
17 libxml2.setEntityLoader(myResolver)
18
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()
25
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
35
36
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()
44