Imported Upstream version 2.9.1
[platform/upstream/libxml2.git] / python / tests / reader6.py
index 7a34601..ef33b18 100755 (executable)
@@ -3,8 +3,13 @@
 # this tests the entities substitutions with the XmlTextReader interface
 #
 import sys
-import StringIO
 import libxml2
+try:
+    import StringIO
+    str_io = StringIO.StringIO
+except:
+    import io
+    str_io = io.StringIO
 
 schema="""<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"
          datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
@@ -41,7 +46,7 @@ docstr="""<foo>
 <item>100</item>
 </foo>"""
 
-f = StringIO.StringIO(docstr)
+f = str_io(docstr)
 input = libxml2.inputBuffer(f)
 reader = input.newTextReader("correct")
 reader.RelaxNGSetSchema(rngs)
@@ -50,11 +55,11 @@ while ret == 1:
     ret = reader.Read()
 
 if ret != 0:
-    print "Error parsing the document"
+    print("Error parsing the document")
     sys.exit(1)
 
 if reader.IsValid() != 1:
-    print "Document failed to validate"
+    print("Document failed to validate")
     sys.exit(1)
 
 #
@@ -84,7 +89,7 @@ def callback(ctx, str):
     err = err + "%s" % (str)
 libxml2.registerErrorHandler(callback, "")
 
-f = StringIO.StringIO(docstr)
+f = str_io(docstr)
 input = libxml2.inputBuffer(f)
 reader = input.newTextReader("error")
 reader.RelaxNGSetSchema(rngs)
@@ -93,16 +98,16 @@ while ret == 1:
     ret = reader.Read()
 
 if ret != 0:
-    print "Error parsing the document"
+    print("Error parsing the document")
     sys.exit(1)
 
 if reader.IsValid() != 0:
-    print "Document failed to detect the validation error"
+    print("Document failed to detect the validation error")
     sys.exit(1)
 
 if err != expect:
-    print "Did not get the expected error message:"
-    print err
+    print("Did not get the expected error message:")
+    print(err)
     sys.exit(1)
 
 #
@@ -117,7 +122,7 @@ libxml2.relaxNGCleanupTypes()
 # Memory debug specific
 libxml2.cleanupParser()
 if libxml2.debugMemory(1) == 0:
-    print "OK"
+    print("OK")
 else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     libxml2.dumpMemory()