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