Blame python/tests/validate.py

Packit Service a31ea6
#!/usr/bin/python -u
Packit Service a31ea6
import sys
Packit Service a31ea6
import libxml2
Packit Service a31ea6
Packit Service a31ea6
# Memory debug specific
Packit Service a31ea6
libxml2.debugMemory(1)
Packit Service a31ea6
Packit Service a31ea6
ctxt = libxml2.createFileParserCtxt("valid.xml")
Packit Service a31ea6
ctxt.validate(1)
Packit Service a31ea6
ctxt.parseDocument()
Packit Service a31ea6
doc = ctxt.doc()
Packit Service a31ea6
valid = ctxt.isValid()
Packit Service a31ea6
Packit Service a31ea6
if doc.name != "valid.xml":
Packit Service a31ea6
    print("doc.name failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
root = doc.children
Packit Service a31ea6
if root.name != "doc":
Packit Service a31ea6
    print("root.name failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
if valid != 1:
Packit Service a31ea6
    print("validity chec failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
doc.freeDoc()
Packit Service a31ea6
Packit Service a31ea6
i = 1000
Packit Service a31ea6
while i > 0:
Packit Service a31ea6
    ctxt = libxml2.createFileParserCtxt("valid.xml")
Packit Service a31ea6
    ctxt.validate(1)
Packit Service a31ea6
    ctxt.parseDocument()
Packit Service a31ea6
    doc = ctxt.doc()
Packit Service a31ea6
    valid = ctxt.isValid()
Packit Service a31ea6
    doc.freeDoc()
Packit Service a31ea6
    if valid != 1:
Packit Service a31ea6
        print("validity check failed")
Packit Service a31ea6
        sys.exit(1)
Packit Service a31ea6
    i = i - 1
Packit Service a31ea6
Packit Service a31ea6
#desactivate error messages from the validation
Packit Service a31ea6
def noerr(ctx, str):
Packit Service a31ea6
    pass
Packit Service a31ea6
Packit Service a31ea6
libxml2.registerErrorHandler(noerr, None)
Packit Service a31ea6
Packit Service a31ea6
ctxt = libxml2.createFileParserCtxt("invalid.xml")
Packit Service a31ea6
ctxt.validate(1)
Packit Service a31ea6
ctxt.parseDocument()
Packit Service a31ea6
doc = ctxt.doc()
Packit Service a31ea6
valid = ctxt.isValid()
Packit Service a31ea6
if doc.name != "invalid.xml":
Packit Service a31ea6
    print("doc.name failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
root = doc.children
Packit Service a31ea6
if root.name != "doc":
Packit Service a31ea6
    print("root.name failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
if valid != 0:
Packit Service a31ea6
    print("validity chec failed")
Packit Service a31ea6
    sys.exit(1)
Packit Service a31ea6
doc.freeDoc()
Packit Service a31ea6
Packit Service a31ea6
i = 1000
Packit Service a31ea6
while i > 0:
Packit Service a31ea6
    ctxt = libxml2.createFileParserCtxt("invalid.xml")
Packit Service a31ea6
    ctxt.validate(1)
Packit Service a31ea6
    ctxt.parseDocument()
Packit Service a31ea6
    doc = ctxt.doc()
Packit Service a31ea6
    valid = ctxt.isValid()
Packit Service a31ea6
    doc.freeDoc()
Packit Service a31ea6
    if valid != 0:
Packit Service a31ea6
        print("validity check failed")
Packit Service a31ea6
        sys.exit(1)
Packit Service a31ea6
    i = i - 1
Packit Service a31ea6
del ctxt
Packit Service a31ea6
Packit Service a31ea6
# Memory debug specific
Packit Service a31ea6
libxml2.cleanupParser()
Packit Service a31ea6
if libxml2.debugMemory(1) == 0:
Packit Service a31ea6
    print("OK")
Packit Service a31ea6
else:
Packit Service a31ea6
    print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
Packit Service a31ea6
    libxml2.dumpMemory()