Annotation of embedaddon/libxml2/python/tests/ctxterror.py, revision 1.1.1.2

1.1       misho       1: #!/usr/bin/python -u
                      2: #
                      3: # This test exercise the redirection of error messages with a
                      4: # functions defined in Python.
                      5: #
                      6: import sys
                      7: import libxml2
                      8: 
                      9: # Memory debug specific
                     10: libxml2.debugMemory(1)
                     11: 
                     12: expect="""--> (3) xmlns: URI foo is not absolute
                     13: --> (4) Opening and ending tag mismatch: x line 0 and y
                     14: """
                     15: 
                     16: err=""
                     17: def callback(arg,msg,severity,reserved):
                     18:     global err
                     19:     err = err + "%s (%d) %s" % (arg,severity,msg)
                     20: 
                     21: s = """<x xmlns="foo"></y>"""
                     22: 
                     23: parserCtxt = libxml2.createPushParser(None,"",0,"test.xml")
                     24: parserCtxt.setErrorHandler(callback, "-->")
                     25: if parserCtxt.getErrorHandler() != (callback,"-->"):
1.1.1.2 ! misho      26:     print("getErrorHandler failed")
1.1       misho      27:     sys.exit(1)
                     28: parserCtxt.parseChunk(s,len(s),1)
                     29: doc = parserCtxt.doc()
                     30: doc.freeDoc()
                     31: parserCtxt = None
                     32: 
                     33: if err != expect:
1.1.1.2 ! misho      34:     print("error")
        !            35:     print("received %s" %(err))
        !            36:     print("expected %s" %(expect))
1.1       misho      37:     sys.exit(1)
                     38: 
                     39: i = 10000
                     40: while i > 0:
                     41:     parserCtxt = libxml2.createPushParser(None,"",0,"test.xml")
                     42:     parserCtxt.setErrorHandler(callback, "-->")
                     43:     parserCtxt.parseChunk(s,len(s),1)
                     44:     doc = parserCtxt.doc()
                     45:     doc.freeDoc()
                     46:     parserCtxt = None
                     47:     err = ""
                     48:     i = i - 1
                     49: 
                     50: # Memory debug specific
                     51: libxml2.cleanupParser()
                     52: if libxml2.debugMemory(1) == 0:
1.1.1.2 ! misho      53:     print("OK")
1.1       misho      54: else:
1.1.1.2 ! misho      55:     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
1.1       misho      56:     libxml2.dumpMemory()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>