diff options
Diffstat (limited to 'libxml2-2.9.10/python/tests/validate.py')
| -rwxr-xr-x | libxml2-2.9.10/python/tests/validate.py | 82 | 
1 files changed, 82 insertions, 0 deletions
| diff --git a/libxml2-2.9.10/python/tests/validate.py b/libxml2-2.9.10/python/tests/validate.py new file mode 100755 index 0000000..16c0386 --- /dev/null +++ b/libxml2-2.9.10/python/tests/validate.py @@ -0,0 +1,82 @@ +#!/usr/bin/python -u +import sys +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +ctxt = libxml2.createFileParserCtxt("valid.xml") +ctxt.validate(1) +ctxt.parseDocument() +doc = ctxt.doc() +valid = ctxt.isValid() + +if doc.name != "valid.xml": +    print("doc.name failed") +    sys.exit(1) +root = doc.children +if root.name != "doc": +    print("root.name failed") +    sys.exit(1) +if valid != 1: +    print("validity chec failed") +    sys.exit(1) +doc.freeDoc() + +i = 1000 +while i > 0: +    ctxt = libxml2.createFileParserCtxt("valid.xml") +    ctxt.validate(1) +    ctxt.parseDocument() +    doc = ctxt.doc() +    valid = ctxt.isValid() +    doc.freeDoc() +    if valid != 1: +        print("validity check failed") +        sys.exit(1) +    i = i - 1 + +#desactivate error messages from the validation +def noerr(ctx, str): +    pass + +libxml2.registerErrorHandler(noerr, None) + +ctxt = libxml2.createFileParserCtxt("invalid.xml") +ctxt.validate(1) +ctxt.parseDocument() +doc = ctxt.doc() +valid = ctxt.isValid() +if doc.name != "invalid.xml": +    print("doc.name failed") +    sys.exit(1) +root = doc.children +if root.name != "doc": +    print("root.name failed") +    sys.exit(1) +if valid != 0: +    print("validity chec failed") +    sys.exit(1) +doc.freeDoc() + +i = 1000 +while i > 0: +    ctxt = libxml2.createFileParserCtxt("invalid.xml") +    ctxt.validate(1) +    ctxt.parseDocument() +    doc = ctxt.doc() +    valid = ctxt.isValid() +    doc.freeDoc() +    if valid != 0: +        print("validity check failed") +        sys.exit(1) +    i = i - 1 +del ctxt + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: +    print("OK") +else: +    print("Memory leak %d bytes" % (libxml2.debugMemory(1))) +    libxml2.dumpMemory() | 
