Skip to content
Snippets Groups Projects
Commit 25dfd78b81ed authored by Ross Burton's avatar Ross Burton
Browse files

python/tests/reader2: use absolute paths everywhere

The expected errors contain an relative path, but the messages from the
parser contain absolute paths.  However, due to the tests not actually
failing if there was an error this wasn't noticed.

Instead of putting relative paths in the expected messages use format()
to embed the correct absolute path.

Also use os.path.join() consistently when constructing paths to ensure
uniformly formatted paths.
parent efb9783e0dd2
Branches
No related tags found
No related merge requests found
......@@ -19,10 +19,11 @@
err = ""
basedir = os.path.dirname(os.path.realpath(__file__))
dir_prefix = os.path.join(basedir, "../../test/valid/")
dir_prefix = os.path.realpath(os.path.join(basedir, "..", "..", "test", "valid"))
# This dictionary reflects the contents of the files
# ../../test/valid/*.xml.err that are not empty, except that
# the file paths in the messages start with ../../test/
expect = {
'766956':
......@@ -23,9 +24,9 @@
# This dictionary reflects the contents of the files
# ../../test/valid/*.xml.err that are not empty, except that
# the file paths in the messages start with ../../test/
expect = {
'766956':
"""../../test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
"""{0}/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
%ä%ent;
^
......@@ -30,8 +31,8 @@
%ä%ent;
^
../../test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset
{0}/dtds/766956.dtd:2: parser error : Content error in the external subset
%ä%ent;
^
Entity: line 1:
value
^
......@@ -33,7 +34,7 @@
%ä%ent;
^
Entity: line 1:
value
^
""",
""".format(dir_prefix),
'781333':
......@@ -39,4 +40,4 @@
'781333':
"""../../test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got
"""{0}/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got
<a/>
^
......@@ -41,5 +42,5 @@
<a/>
^
../../test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child
{0}/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child
^
......@@ -44,4 +45,4 @@
^
""",
""".format(dir_prefix),
'cond_sect2':
......@@ -47,7 +48,7 @@
'cond_sect2':
"""../../test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity
"""{0}/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity
%ent;
^
Entity: line 1:
]]>
^
......@@ -49,8 +50,8 @@
%ent;
^
Entity: line 1:
]]>
^
../../test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset
{0}/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset
^
......@@ -55,4 +56,4 @@
^
""",
""".format(dir_prefix),
'rss':
......@@ -58,4 +59,4 @@
'rss':
"""../../test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version
"""{0}/rss.xml:177: element rss: validity error : Element rss does not carry attribute version
</rss>
^
......@@ -60,4 +61,4 @@
</rss>
^
""",
""".format(dir_prefix),
't8':
......@@ -63,8 +64,8 @@
't8':
"""../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
"""{0}/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT root (middle) >
^
......@@ -65,13 +66,13 @@
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT root (middle) >
^
../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
{0}/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT middle (test) >
^
......@@ -72,13 +73,13 @@
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT middle (test) >
^
../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
{0}/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT test (#PCDATA) >
^
......@@ -79,8 +80,8 @@
%defroot; %defmiddle; %deftest;
^
Entity: line 1:
&lt;!ELEMENT test (#PCDATA) >
^
""",
""".format(dir_prefix),
't8a':
......@@ -86,8 +87,8 @@
't8a':
"""../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
"""{0}/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT root (middle) >
^
......@@ -88,13 +89,13 @@
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT root (middle) >
^
../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
{0}/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT middle (test) >
^
......@@ -95,13 +96,13 @@
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT middle (test) >
^
../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
{0}/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT test (#PCDATA) >
^
......@@ -102,8 +103,8 @@
%defroot;%defmiddle;%deftest;
^
Entity: line 1:
&lt;!ELEMENT test (#PCDATA) >
^
""",
""".format(dir_prefix),
'xlink':
......@@ -109,5 +110,5 @@
'xlink':
"""../../test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined
"""{0}/xlink.xml:450: element termdef: validity error : ID dt-arc already defined
<p><termdef id="dt-arc" term="Arc">An <ter
^
validity error : attribute def line 199 references an unknown ID "dt-xlg"
......@@ -111,7 +112,7 @@
<p><termdef id="dt-arc" term="Arc">An <ter
^
validity error : attribute def line 199 references an unknown ID "dt-xlg"
""",
""".format(dir_prefix),
}
# Add prefix_dir and extension to the keys
......@@ -115,7 +116,7 @@
}
# Add prefix_dir and extension to the keys
expect = {"{}{}.xml".format(dir_prefix, key): val for key, val in expect.items()}
expect = {os.path.join(dir_prefix, key + ".xml"): val for key, val in expect.items()}
def callback(ctx, str):
global err
......@@ -123,5 +124,5 @@
libxml2.registerErrorHandler(callback, "")
parsing_error_files = ["766956", "cond_sect2", "t8", "t8a"]
expect_parsing_error = ["{}{}.xml".format(dir_prefix, f) for f in parsing_error_files]
expect_parsing_error = [os.path.join(dir_prefix, f + ".xml") for f in parsing_error_files]
......@@ -127,5 +128,5 @@
valid_files = glob.glob(dir_prefix + "*.x*")
valid_files = glob.glob(os.path.join(dir_prefix, "*.x*"))
assert valid_files, "found no valid files in '{}'".format(dir_prefix)
valid_files.sort()
failures = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment