Annotation of embedaddon/libxml2/python/tests/error.py, revision 1.1.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='--> I/O --> warning : --> failed to load external entity "missing.xml"\n'
                     13: err=""
                     14: def callback(ctx, str):
                     15:      global err
                     16: 
                     17:      err = err + "%s %s" % (ctx, str)
                     18: 
                     19: got_exc = 0
                     20: libxml2.registerErrorHandler(callback, "-->")
                     21: try:
                     22:     doc = libxml2.parseFile("missing.xml")
                     23: except libxml2.parserError:
                     24:     got_exc = 1
                     25: 
                     26: if got_exc == 0:
                     27:     print "Failed to get a parser exception"
                     28:     sys.exit(1)
                     29: 
                     30: if err != expect:
                     31:     print "error"
                     32:     print "received %s" %(err)
                     33:     print "expected %s" %(expect)
                     34:     sys.exit(1)
                     35: 
                     36: i = 10000
                     37: while i > 0:
                     38:     try:
                     39:         doc = libxml2.parseFile("missing.xml")
                     40:     except libxml2.parserError:
                     41:         got_exc = 1
                     42:     err = ""
                     43:     i = i - 1
                     44: 
                     45: # Memory debug specific
                     46: libxml2.cleanupParser()
                     47: if libxml2.debugMemory(1) == 0:
                     48:     print "OK"
                     49: else:
                     50:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
                     51:     libxml2.dumpMemory()

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