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