diff options
Diffstat (limited to 'python/tests/build.py')
-rwxr-xr-x | python/tests/build.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/python/tests/build.py b/python/tests/build.py new file mode 100755 index 0000000..bfc776c --- /dev/null +++ b/python/tests/build.py @@ -0,0 +1,59 @@ +#!/usr/bin/python -u +import libxml2 +import sys + +# Memory debug specific +libxml2.debugMemory(1) + +doc = libxml2.newDoc("1.0") +comment = doc.newDocComment("This is a generated document") +doc.addChild(comment) +pi = libxml2.newPI("test", "PI content") +doc.addChild(pi) +root = doc.newChild(None, "doc", None) +ns = root.newNs("http://example.com/doc", "my") +root.setNs(ns) +elem = root.newChild(None, "foo", "bar") +elem.setBase("http://example.com/imgs") +elem.setProp("img", "image.gif") +doc.saveFile("tmp.xml") +doc.freeDoc() + +doc = libxml2.parseFile("tmp.xml") +comment = doc.children +if comment.type != "comment" or \ + comment.content != "This is a generated document": + print "error rereading comment" + sys.exit(1) +pi = comment.next +if pi.type != "pi" or pi.name != "test" or pi.content != "PI content": + print "error rereading PI" + sys.exit(1) +root = pi.next +if root.name != "doc": + print "error rereading root" + sys.exit(1) +ns = root.ns() +if ns.name != "my" or ns.content != "http://example.com/doc": + print "error rereading namespace" + sys.exit(1) +elem = root.children +if elem.name != "foo": + print "error rereading elem" + sys.exit(1) +if elem.getBase(None) != "http://example.com/imgs": + print "error rereading base" + sys.exit(1) +if elem.prop("img") != "image.gif": + print "error rereading property" + sys.exit(1) + +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print "OK" +else: + print "Memory leak %d bytes" % (libxml2.debugMemory(1)) + libxml2.dumpMemory() |