Home | History | Annotate | Download | only in tests
      1 #!/usr/bin/python -u
      2 import libxml2
      3 import sys
      4 
      5 # Memory debug specific
      6 libxml2.debugMemory(1)
      7 
      8 dtd="""<!ELEMENT foo EMPTY>"""
      9 instance="""<?xml version="1.0"?>
     10 <foo></foo>"""
     11 
     12 dtd = libxml2.parseDTD(None, 'test.dtd')
     13 ctxt = libxml2.newValidCtxt()
     14 doc = libxml2.parseDoc(instance)
     15 ret = doc.validateDtd(ctxt, dtd)
     16 if ret != 1:
     17     print("error doing DTD validation")
     18     sys.exit(1)
     19 
     20 doc.freeDoc()
     21 dtd.freeDtd()
     22 del dtd
     23 del ctxt
     24 
     25 # Memory debug specific
     26 libxml2.cleanupParser()
     27 if libxml2.debugMemory(1) == 0:
     28     print("OK")
     29 else:
     30     print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
     31     libxml2.dumpMemory()
     32 
     33