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