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