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

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,"-->"):
        !            26:     print "getErrorHandler failed"
        !            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:
        !            34:     print "error"
        !            35:     print "received %s" %(err)
        !            36:     print "expected %s" %(expect)
        !            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:
        !            53:     print "OK"
        !            54: else:
        !            55:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !            56:     libxml2.dumpMemory()

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