From 0ac8c15eb4d94b43c9923d46287b54d2d68586ec Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 6 Dec 2022 15:48:55 +0000 Subject: [PATCH] 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. --- python/tests/reader2.py | 51 +++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/python/tests/reader2.py b/python/tests/reader2.py index e783c499..6e6353b4 100755 --- a/python/tests/reader2.py +++ b/python/tests/reader2.py @@ -19,103 +19,104 @@ libxml2.debugMemory(1) 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': -"""../../test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +"""{0}/dtds/766956.dtd:2: parser error : PEReference: expecting ';' %ä%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 ^ -""", +""".format(dir_prefix), '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 ^ -../../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 ^ -""", +""".format(dir_prefix), '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: ]]> ^ -../../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 ^ -""", +""".format(dir_prefix), '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 ^ -""", +""".format(dir_prefix), '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: <!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: <!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: <!ELEMENT test (#PCDATA) > ^ -""", +""".format(dir_prefix), '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: <!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: <!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: <!ELEMENT test (#PCDATA) > ^ -""", +""".format(dir_prefix), '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

An