mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-26 10:03:34 +03:00
4762c85668
As per https://peps.python.org/pep-0394/, the python binary can be one of the following options: - Python 2 - Python 3 - Not exist All of the scripts in libxml2 use 'python', which may not exist. As Python 2 reached EOL on the 1st January 2020, it's safe to move the scripts to use python3 explicitly.
33 lines
621 B
Python
Executable File
33 lines
621 B
Python
Executable File
#!/usr/bin/env python3
|
|
import libxml2
|
|
import sys
|
|
|
|
# Memory debug specific
|
|
libxml2.debugMemory(1)
|
|
|
|
dtd="""<!ELEMENT foo EMPTY>"""
|
|
instance="""<?xml version="1.0"?>
|
|
<foo></foo>"""
|
|
|
|
dtd = libxml2.parseDTD(None, 'test.dtd')
|
|
ctxt = libxml2.newValidCtxt()
|
|
doc = libxml2.parseDoc(instance)
|
|
ret = doc.validateDtd(ctxt, dtd)
|
|
if ret != 1:
|
|
print("error doing DTD validation")
|
|
sys.exit(1)
|
|
|
|
doc.freeDoc()
|
|
dtd.freeDtd()
|
|
del dtd
|
|
del ctxt
|
|
|
|
# Memory debug specific
|
|
libxml2.cleanupParser()
|
|
if libxml2.debugMemory(1) == 0:
|
|
print("OK")
|
|
else:
|
|
print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
|
|
libxml2.dumpMemory()
|
|
|