From d56e2eb4216827284220fcc35af42e60b4faaea6 Mon Sep 17 00:00:00 2001 From: LaMont Jones Date: Thu, 7 Apr 2022 18:14:46 +0000 Subject: manifest_xml: use Superproject to hold XML content Always create Superproject when there is a tag, and have it hold the XML content, similar to how other manifest elements are handled. This also adds SetQuiet and SetPrintMessages to Superproject consistent with manifest.SetUseLocalManifests. Change-Id: I522bf3da542006575799f0640c67f7052704f266 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/334641 Reviewed-by: Mike Frysinger Reviewed-by: Raman Tenneti Tested-by: LaMont Jones --- tests/test_git_superproject.py | 63 ++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 33 deletions(-) (limited to 'tests/test_git_superproject.py') diff --git a/tests/test_git_superproject.py b/tests/test_git_superproject.py index a24fc7f0..1e7b1201 100644 --- a/tests/test_git_superproject.py +++ b/tests/test_git_superproject.py @@ -68,8 +68,10 @@ class SuperprojectTestCase(unittest.TestCase): """) - self._superproject = git_superproject.Superproject(manifest, self.repodir, - self.git_event_log) + self._superproject = git_superproject.Superproject( + manifest, name='superproject', + remote=manifest.remotes.get('default-remote').ToRemoteSpec('superproject'), + revision='refs/heads/main') def tearDown(self): """Tear down superproject every time.""" @@ -125,12 +127,7 @@ class SuperprojectTestCase(unittest.TestCase): """) - superproject = git_superproject.Superproject(manifest, self.repodir, self.git_event_log) - # Test that exit condition is false when there is no superproject tag. - sync_result = superproject.Sync() - self.assertFalse(sync_result.success) - self.assertFalse(sync_result.fatal) - self.verifyErrorEvent() + self.assertIsNone(manifest.superproject) def test_superproject_get_superproject_invalid_url(self): """Test with an invalid url.""" @@ -141,8 +138,11 @@ class SuperprojectTestCase(unittest.TestCase): """) - superproject = git_superproject.Superproject(manifest, self.repodir, self.git_event_log) - sync_result = superproject.Sync() + superproject = git_superproject.Superproject( + manifest, name='superproject', + remote=manifest.remotes.get('test-remote').ToRemoteSpec('superproject'), + revision='refs/heads/main') + sync_result = superproject.Sync(self.git_event_log) self.assertFalse(sync_result.success) self.assertTrue(sync_result.fatal) @@ -155,17 +155,19 @@ class SuperprojectTestCase(unittest.TestCase): """) - self._superproject = git_superproject.Superproject(manifest, self.repodir, - self.git_event_log) + self._superproject = git_superproject.Superproject( + manifest, name='superproject', + remote=manifest.remotes.get('test-remote').ToRemoteSpec('superproject'), + revision='refs/heads/main') with mock.patch.object(self._superproject, '_branch', 'junk'): - sync_result = self._superproject.Sync() + sync_result = self._superproject.Sync(self.git_event_log) self.assertFalse(sync_result.success) self.assertTrue(sync_result.fatal) def test_superproject_get_superproject_mock_init(self): """Test with _Init failing.""" with mock.patch.object(self._superproject, '_Init', return_value=False): - sync_result = self._superproject.Sync() + sync_result = self._superproject.Sync(self.git_event_log) self.assertFalse(sync_result.success) self.assertTrue(sync_result.fatal) @@ -174,7 +176,7 @@ class SuperprojectTestCase(unittest.TestCase): with mock.patch.object(self._superproject, '_Init', return_value=True): os.mkdir(self._superproject._superproject_path) with mock.patch.object(self._superproject, '_Fetch', return_value=False): - sync_result = self._superproject.Sync() + sync_result = self._superproject.Sync(self.git_event_log) self.assertFalse(sync_result.success) self.assertTrue(sync_result.fatal) @@ -230,7 +232,7 @@ class SuperprojectTestCase(unittest.TestCase): return_value=data): # Create temporary directory so that it can write the file. os.mkdir(self._superproject._superproject_path) - update_result = self._superproject.UpdateProjectsRevisionId(projects) + update_result = self._superproject.UpdateProjectsRevisionId(projects, self.git_event_log) self.assertIsNotNone(update_result.manifest_path) self.assertFalse(update_result.fatal) with open(update_result.manifest_path, 'r') as fp: @@ -256,22 +258,13 @@ class SuperprojectTestCase(unittest.TestCase): """) self.maxDiff = None - self._superproject = git_superproject.Superproject(manifest, self.repodir, - self.git_event_log) - self.assertEqual(len(self._superproject._manifest.projects), 1) - projects = self._superproject._manifest.projects - project = projects[0] - project.SetRevisionId('ABCDEF') - update_result = self._superproject.UpdateProjectsRevisionId(projects) - self.assertIsNone(update_result.manifest_path) - self.assertFalse(update_result.fatal) - self.verifyErrorEvent() + self.assertIsNone(manifest.superproject) self.assertEqual( sort_attributes(manifest.ToXml().toxml()), '' '' '' - '' + '' '') def test_superproject_update_project_revision_id_from_local_manifest_group(self): @@ -290,8 +283,10 @@ class SuperprojectTestCase(unittest.TestCase): " /> """) self.maxDiff = None - self._superproject = git_superproject.Superproject(manifest, self.repodir, - self.git_event_log) + self._superproject = git_superproject.Superproject( + manifest, name='superproject', + remote=manifest.remotes.get('default-remote').ToRemoteSpec('superproject'), + revision='refs/heads/main') self.assertEqual(len(self._superproject._manifest.projects), 2) projects = self._superproject._manifest.projects data = ('160000 commit 2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea\tart\x00') @@ -302,7 +297,7 @@ class SuperprojectTestCase(unittest.TestCase): return_value=data): # Create temporary directory so that it can write the file. os.mkdir(self._superproject._superproject_path) - update_result = self._superproject.UpdateProjectsRevisionId(projects) + update_result = self._superproject.UpdateProjectsRevisionId(projects, self.git_event_log) self.assertIsNotNone(update_result.manifest_path) self.assertFalse(update_result.fatal) with open(update_result.manifest_path, 'r') as fp: @@ -337,8 +332,10 @@ class SuperprojectTestCase(unittest.TestCase): " /> """) self.maxDiff = None - self._superproject = git_superproject.Superproject(manifest, self.repodir, - self.git_event_log) + self._superproject = git_superproject.Superproject( + manifest, name='superproject', + remote=manifest.remotes.get('default-remote').ToRemoteSpec('superproject'), + revision='refs/heads/main') self.assertEqual(len(self._superproject._manifest.projects), 3) projects = self._superproject._manifest.projects data = ('160000 commit 2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea\tart\x00' @@ -350,7 +347,7 @@ class SuperprojectTestCase(unittest.TestCase): return_value=data): # Create temporary directory so that it can write the file. os.mkdir(self._superproject._superproject_path) - update_result = self._superproject.UpdateProjectsRevisionId(projects) + update_result = self._superproject.UpdateProjectsRevisionId(projects, self.git_event_log) self.assertIsNotNone(update_result.manifest_path) self.assertFalse(update_result.fatal) with open(update_result.manifest_path, 'r') as fp: -- cgit v1.2.3-54-g00ecf