| | |
| | |
| | |
| | |
| | |
| | import sys |
| | import setup_test |
| | import libxml2 |
| |
|
| | |
| | libxml2.debugMemory(1) |
| |
|
| | expect="""--> (3) xmlns: URI foo is not absolute |
| | --> (4) Opening and ending tag mismatch: x line 1 and y |
| | """ |
| |
|
| | err="" |
| | def callback(arg,msg,severity,reserved): |
| | global err |
| | err = err + "%s (%d) %s" % (arg,severity,msg) |
| |
|
| | s = """<x xmlns="foo"></y>""" |
| |
|
| | parserCtxt = libxml2.createPushParser(None,"",0,"test.xml") |
| | parserCtxt.setErrorHandler(callback, "-->") |
| | if parserCtxt.getErrorHandler() != (callback,"-->"): |
| | print("getErrorHandler failed") |
| | sys.exit(1) |
| | parserCtxt.parseChunk(s,len(s),1) |
| | doc = parserCtxt.doc() |
| | doc.freeDoc() |
| | parserCtxt = None |
| |
|
| | if err != expect: |
| | print("error") |
| | print("received %s" %(err)) |
| | print("expected %s" %(expect)) |
| | sys.exit(1) |
| |
|
| | i = 10000 |
| | while i > 0: |
| | parserCtxt = libxml2.createPushParser(None,"",0,"test.xml") |
| | parserCtxt.setErrorHandler(callback, "-->") |
| | parserCtxt.parseChunk(s,len(s),1) |
| | doc = parserCtxt.doc() |
| | doc.freeDoc() |
| | parserCtxt = None |
| | err = "" |
| | i = i - 1 |
| |
|
| | |
| | libxml2.cleanupParser() |
| | if libxml2.debugMemory(1) == 0: |
| | print("OK") |
| | else: |
| | print("Memory leak %d bytes" % (libxml2.debugMemory(1))) |
| |
|