aboutsummaryrefslogtreecommitdiffstats
path: root/check-xml-test-suite.py
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2002-02-18 14:32:39 +0000
committerDaniel Veillard <veillard@src.gnome.org>2002-02-18 14:32:39 +0000
commit55253e21f0f41f03afb4842f560a852658077a89 (patch)
treecdb6108a778a0dc3aa011d4395b67b18c3f7adcf /check-xml-test-suite.py
parent2875770e5301f96c4c7bf576d611613cf912b632 (diff)
downloadandroid_external_libxml2-55253e21f0f41f03afb4842f560a852658077a89.tar.gz
android_external_libxml2-55253e21f0f41f03afb4842f560a852658077a89.tar.bz2
android_external_libxml2-55253e21f0f41f03afb4842f560a852658077a89.zip
fixed the test script after some discussion on the semantic of
* check-xml-test-suite.py: fixed the test script after some discussion on the semantic of TYPE="error" * Makefile.am: added the script to the distrib Daniel
Diffstat (limited to 'check-xml-test-suite.py')
-rwxr-xr-xcheck-xml-test-suite.py33
1 files changed, 31 insertions, 2 deletions
diff --git a/check-xml-test-suite.py b/check-xml-test-suite.py
index 83546e48..248367d4 100755
--- a/check-xml-test-suite.py
+++ b/check-xml-test-suite.py
@@ -22,7 +22,8 @@ def errorHandler(ctx, str):
global error_nr
global error_msg
- error_nr = error_nr + 1
+ if string.find(str, "error:") >= 0:
+ error_nr = error_nr + 1
if len(error_msg) < 300:
if len(error_msg) == 0 or error_msg[-1] == '\n':
error_msg = error_msg + " >>" + str
@@ -155,6 +156,34 @@ def testWfEntDtd(filename, id):
doc.freeDoc()
return 1
+def testError(filename, id):
+ global error_nr
+ global error_msg
+ global log
+
+ error_nr = 0
+ error_msg = ''
+
+ ctxt = libxml2.createFileParserCtxt(filename)
+ if ctxt == None:
+ return -1
+ ctxt.replaceEntities(1)
+ ctxt.loadSubset(1)
+ ctxt.parseDocument()
+
+ doc = ctxt.doc()
+ if ctxt.wellFormed() == 0:
+ print "%s: warning: failed to parse the document but accepted" % (id)
+ log.write("%s: warning: failed to parse the document but accepte\n" % (id))
+ return 2
+ if error_nr != 0:
+ print "%s: warning: WF document generated an error msg" % (id)
+ log.write("%s: error: WF document generated an error msg\n" % (id))
+ doc.freeDoc()
+ return 2
+ doc.freeDoc()
+ return 1
+
def testInvalid(filename, id):
global error_nr
global error_msg
@@ -271,7 +300,7 @@ def runTest(test):
# print "Unknow value %s for an ENTITIES test value" % (extra)
# return -1
elif type == "error":
- res = testWfEntDtd(URI, id)
+ res = testError(URI, id)
else:
# TODO skipped for now
return -1