diff options
author | Daniel Veillard <veillard@redhat.com> | 2009-08-26 18:37:43 +0200 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2009-08-26 18:37:43 +0200 |
commit | ec18c96008cf8f3b6b0b81ed8bfc2ccfe51d26e7 (patch) | |
tree | fe5509f797d867b627e01f6f85c37e94fef44b52 | |
parent | fd78077281da3a3f51e1dc4de7113acfcb3c017c (diff) | |
download | android_external_libxml2-ec18c96008cf8f3b6b0b81ed8bfc2ccfe51d26e7.tar.gz android_external_libxml2-ec18c96008cf8f3b6b0b81ed8bfc2ccfe51d26e7.tar.bz2 android_external_libxml2-ec18c96008cf8f3b6b0b81ed8bfc2ccfe51d26e7.zip |
558452 fight with reg test and error report
* relaxng.c: tiny fix and provide more context on some errors
* result/relaxng/558452_0* test/relaxng/558452*: add some regression
tests for the bugs
* Makefile.am runtest.c: fight with the fact streaming error messages
can differ due to missing node context
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | relaxng.c | 4 | ||||
-rw-r--r-- | result/relaxng/558452_0 | 0 | ||||
-rw-r--r-- | result/relaxng/558452_0.err | 1 | ||||
-rw-r--r-- | result/relaxng/558452_1 | 0 | ||||
-rw-r--r-- | result/relaxng/558452_1.err | 2 | ||||
-rw-r--r-- | result/relaxng/558452_2 | 0 | ||||
-rw-r--r-- | result/relaxng/558452_2.err | 1 | ||||
-rw-r--r-- | result/relaxng/558452_3 | 0 | ||||
-rw-r--r-- | result/relaxng/558452_3.err | 1 | ||||
-rw-r--r-- | result/relaxng/558452_4 | 0 | ||||
-rw-r--r-- | result/relaxng/558452_4.err | 2 | ||||
-rw-r--r-- | result/relaxng/558452_err | 1 | ||||
-rw-r--r-- | result/relaxng/558452_valid | 0 | ||||
-rw-r--r-- | runtest.c | 3 | ||||
-rw-r--r-- | test/relaxng/558452.rng | 21 | ||||
-rw-r--r-- | test/relaxng/558452_0.xml | 6 | ||||
-rw-r--r-- | test/relaxng/558452_1.xml | 3 | ||||
-rw-r--r-- | test/relaxng/558452_2.xml | 4 | ||||
-rw-r--r-- | test/relaxng/558452_3.xml | 5 | ||||
-rw-r--r-- | test/relaxng/558452_4.xml | 7 |
21 files changed, 61 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index ebaae313..807e21d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1053,7 +1053,7 @@ Relaxtests: xmllint$(EXEEXT) > res.$$name 2> err.$$name;\ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\ - if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" ] ; then \ + if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" -a "$$name" != "tutor8_2" ] ; then \ diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \ err.$$name | grep -v "error detected at";\ fi ; grep Unimplemented err.$$name`; \ @@ -2374,6 +2374,9 @@ xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt, } else { node = seq = NULL; } + if ((node == NULL) && (seq == NULL)) { + node = ctxt->pnode; + } xmlRelaxNGShowValidError(ctxt, err, node, seq, arg1, arg2); } /* @@ -4682,6 +4685,7 @@ xmlRelaxNGParseImportRefs(xmlRelaxNGParserCtxtPtr ctxt, return(-1); } xmlHashScan(grammar->refs, xmlRelaxNGParseImportRef, ctxt); + return(0); } /** diff --git a/result/relaxng/558452_0 b/result/relaxng/558452_0 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_0 diff --git a/result/relaxng/558452_0.err b/result/relaxng/558452_0.err new file mode 100644 index 00000000..fecc3e90 --- /dev/null +++ b/result/relaxng/558452_0.err @@ -0,0 +1 @@ +./test/relaxng/558452_0.xml validates diff --git a/result/relaxng/558452_1 b/result/relaxng/558452_1 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_1 diff --git a/result/relaxng/558452_1.err b/result/relaxng/558452_1.err new file mode 100644 index 00000000..1e225be1 --- /dev/null +++ b/result/relaxng/558452_1.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_1.xml:2: element doc: Relax-NG validity error : Expecting an element , got nothing +./test/relaxng/558452_1.xml fails to validate diff --git a/result/relaxng/558452_2 b/result/relaxng/558452_2 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_2 diff --git a/result/relaxng/558452_2.err b/result/relaxng/558452_2.err new file mode 100644 index 00000000..d48287c0 --- /dev/null +++ b/result/relaxng/558452_2.err @@ -0,0 +1 @@ +./test/relaxng/558452_2.xml validates diff --git a/result/relaxng/558452_3 b/result/relaxng/558452_3 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_3 diff --git a/result/relaxng/558452_3.err b/result/relaxng/558452_3.err new file mode 100644 index 00000000..0d33cdb8 --- /dev/null +++ b/result/relaxng/558452_3.err @@ -0,0 +1 @@ +./test/relaxng/558452_3.xml validates diff --git a/result/relaxng/558452_4 b/result/relaxng/558452_4 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_4 diff --git a/result/relaxng/558452_4.err b/result/relaxng/558452_4.err new file mode 100644 index 00000000..22e12fa1 --- /dev/null +++ b/result/relaxng/558452_4.err @@ -0,0 +1,2 @@ +./test/relaxng/558452_4.xml:6: element elem: Relax-NG validity error : Did not expect element elem there +./test/relaxng/558452_4.xml fails to validate diff --git a/result/relaxng/558452_err b/result/relaxng/558452_err new file mode 100644 index 00000000..b1628461 --- /dev/null +++ b/result/relaxng/558452_err @@ -0,0 +1 @@ +./test/relaxng/558452.rng validates diff --git a/result/relaxng/558452_valid b/result/relaxng/558452_valid new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/558452_valid @@ -3257,7 +3257,8 @@ rngStreamTest(const char *filename, * hack is also done in the Makefile */ if ((!strcmp(prefix, "tutor10_1")) || (!strcmp(prefix, "tutor10_2")) || - (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377"))) + (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377")) || + (!strcmp(prefix, "tutor8_2"))) disable_err = 1; snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix); diff --git a/test/relaxng/558452.rng b/test/relaxng/558452.rng new file mode 100644 index 00000000..80fbf7b5 --- /dev/null +++ b/test/relaxng/558452.rng @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<grammar ns="http://www.example.com/choice" + xmlns="http://relaxng.org/ns/structure/1.0"> + <start> + <element name="doc" ns=""> + <ref name="elem"/> + <optional> + <ref name="elem"/> + <optional> + <ref name="elem"/> + </optional> + </optional> + </element> + </start> + + <define name="elem"> + <element name="elem" ns=""> + <text/> + </element> + </define> +</grammar> diff --git a/test/relaxng/558452_0.xml b/test/relaxng/558452_0.xml new file mode 100644 index 00000000..70440e23 --- /dev/null +++ b/test/relaxng/558452_0.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<doc> + <elem/> + <elem/> + <elem/> +</doc> diff --git a/test/relaxng/558452_1.xml b/test/relaxng/558452_1.xml new file mode 100644 index 00000000..2c569f91 --- /dev/null +++ b/test/relaxng/558452_1.xml @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<doc> +</doc> diff --git a/test/relaxng/558452_2.xml b/test/relaxng/558452_2.xml new file mode 100644 index 00000000..6e246261 --- /dev/null +++ b/test/relaxng/558452_2.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<doc> + <elem/> +</doc> diff --git a/test/relaxng/558452_3.xml b/test/relaxng/558452_3.xml new file mode 100644 index 00000000..5ceb4682 --- /dev/null +++ b/test/relaxng/558452_3.xml @@ -0,0 +1,5 @@ +<?xml version="1.0"?> +<doc> + <elem/> + <elem/> +</doc> diff --git a/test/relaxng/558452_4.xml b/test/relaxng/558452_4.xml new file mode 100644 index 00000000..a1ee72bf --- /dev/null +++ b/test/relaxng/558452_4.xml @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<doc> + <elem/> + <elem/> + <elem/> + <elem/> +</doc> |