tests: Make the tests pass for Python < 3.8
Before Python 3.8, xml.dom.minidom sorted the attributes of an element when writing it to a file, while later versions output the attributes in the order they were created. Avoid these differences by sorting the attributes for each element before comparing the generated manifests with the expected ones. Bug: https://crbug.com/gerrit/14382 Change-Id: Ie2597727afcc48f9063a7261ad970e8a549f0587 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/303326 Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
parent
d177609cb0
commit
5d58c18146
2 changed files with 55 additions and 28 deletions
|
@ -23,6 +23,7 @@ from unittest import mock
|
|||
import git_superproject
|
||||
import manifest_xml
|
||||
import platform_utils
|
||||
from test_manifest_xml import sort_attributes
|
||||
|
||||
|
||||
class SuperprojectTestCase(unittest.TestCase):
|
||||
|
@ -140,12 +141,12 @@ class SuperprojectTestCase(unittest.TestCase):
|
|||
with open(manifest_path, 'r') as fp:
|
||||
manifest_xml = fp.read()
|
||||
self.assertEqual(
|
||||
manifest_xml,
|
||||
sort_attributes(manifest_xml),
|
||||
'<?xml version="1.0" ?><manifest>'
|
||||
'<remote name="default-remote" fetch="http://localhost"/>'
|
||||
'<remote fetch="http://localhost" name="default-remote"/>'
|
||||
'<default remote="default-remote" revision="refs/heads/main"/>'
|
||||
'<project name="platform/art" path="art" revision="ABCDEF" '
|
||||
'groups="notdefault,platform-' + self.platform + '"/>'
|
||||
'<project groups="notdefault,platform-' + self.platform + '" '
|
||||
'name="platform/art" path="art" revision="ABCDEF"/>'
|
||||
'<superproject name="superproject"/>'
|
||||
'</manifest>')
|
||||
|
||||
|
@ -167,13 +168,13 @@ class SuperprojectTestCase(unittest.TestCase):
|
|||
with open(manifest_path, 'r') as fp:
|
||||
manifest_xml = fp.read()
|
||||
self.assertEqual(
|
||||
manifest_xml,
|
||||
sort_attributes(manifest_xml),
|
||||
'<?xml version="1.0" ?><manifest>'
|
||||
'<remote name="default-remote" fetch="http://localhost"/>'
|
||||
'<remote fetch="http://localhost" name="default-remote"/>'
|
||||
'<default remote="default-remote" revision="refs/heads/main"/>'
|
||||
'<project name="platform/art" path="art" '
|
||||
'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea" '
|
||||
'groups="notdefault,platform-' + self.platform + '"/>'
|
||||
'<project groups="notdefault,platform-' + self.platform + '" '
|
||||
'name="platform/art" path="art" '
|
||||
'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"/>'
|
||||
'<superproject name="superproject"/>'
|
||||
'</manifest>')
|
||||
|
||||
|
@ -208,16 +209,17 @@ class SuperprojectTestCase(unittest.TestCase):
|
|||
with open(manifest_path, 'r') as fp:
|
||||
manifest_xml = fp.read()
|
||||
self.assertEqual(
|
||||
manifest_xml,
|
||||
sort_attributes(manifest_xml),
|
||||
'<?xml version="1.0" ?><manifest>'
|
||||
'<remote name="default-remote" fetch="http://localhost"/>'
|
||||
'<remote name="goog" fetch="http://localhost2"/>'
|
||||
'<remote fetch="http://localhost" name="default-remote"/>'
|
||||
'<remote fetch="http://localhost2" name="goog"/>'
|
||||
'<default remote="default-remote" revision="refs/heads/main"/>'
|
||||
'<project name="platform/art" path="art" '
|
||||
'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea" '
|
||||
'groups="notdefault,platform-' + self.platform + '"/>'
|
||||
'<project name="platform/vendor/x" path="vendor/x" remote="goog" '
|
||||
'revision="master-with-vendor" groups="vendor" clone-depth="1"/>'
|
||||
'<project groups="notdefault,platform-' + self.platform + '" '
|
||||
'name="platform/art" path="art" '
|
||||
'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"/>'
|
||||
'<project clone-depth="1" groups="vendor" '
|
||||
'name="platform/vendor/x" path="vendor/x" remote="goog" '
|
||||
'revision="master-with-vendor"/>'
|
||||
'<superproject name="superproject"/>'
|
||||
'</manifest>')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue