Last change
on this file since 7979 was 6076, checked in by vboxsync, 17 years ago |
Merged dmik/s2 branch (r25959:26751) to the trunk.
|
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Date Revision Author Id
|
File size:
1.2 KB
|
Line | |
---|
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()
|
---|
Note:
See
TracBrowser
for help on using the repository browser.