Annotation of embedaddon/libxml2/python/tests/xpath.py, revision 1.1

1.1     ! misho       1: #!/usr/bin/python -u
        !             2: #
        !             3: # this test exercise the XPath basic engine, parser, etc, and
        !             4: # allows to detect memory leaks
        !             5: #
        !             6: import sys
        !             7: import libxml2
        !             8: 
        !             9: # Memory debug specific
        !            10: libxml2.debugMemory(1)
        !            11: 
        !            12: doc = libxml2.parseFile("tst.xml")
        !            13: if doc.name != "tst.xml":
        !            14:     print "doc.name error"
        !            15:     sys.exit(1);
        !            16: 
        !            17: ctxt = doc.xpathNewContext()
        !            18: res = ctxt.xpathEval("//*")
        !            19: if len(res) != 2:
        !            20:     print "xpath query: wrong node set size"
        !            21:     sys.exit(1)
        !            22: if res[0].name != "doc" or res[1].name != "foo":
        !            23:     print "xpath query: wrong node set value"
        !            24:     sys.exit(1)
        !            25: ctxt.setContextNode(res[0])
        !            26: res = ctxt.xpathEval("foo")
        !            27: if len(res) != 1:
        !            28:     print "xpath query: wrong node set size"
        !            29:     sys.exit(1)
        !            30: if res[0].name != "foo":
        !            31:     print "xpath query: wrong node set value"
        !            32:     sys.exit(1)
        !            33: doc.freeDoc()
        !            34: ctxt.xpathFreeContext()
        !            35: i = 1000
        !            36: while i > 0:
        !            37:     doc = libxml2.parseFile("tst.xml")
        !            38:     ctxt = doc.xpathNewContext()
        !            39:     res = ctxt.xpathEval("//*")
        !            40:     doc.freeDoc()
        !            41:     ctxt.xpathFreeContext()
        !            42:     i = i -1
        !            43: del ctxt
        !            44: 
        !            45: # Memory debug specific
        !            46: libxml2.cleanupParser()
        !            47: if libxml2.debugMemory(1) == 0:
        !            48:     print "OK"
        !            49: else:
        !            50:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !            51:     libxml2.dumpMemory()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>