summaryrefslogtreecommitdiffstats
path: root/tests/test_manifest_xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_manifest_xml.py')
-rw-r--r--tests/test_manifest_xml.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_manifest_xml.py b/tests/test_manifest_xml.py
index 40385cce..939717be 100644
--- a/tests/test_manifest_xml.py
+++ b/tests/test_manifest_xml.py
@@ -235,3 +235,46 @@ class XmlManifestTests(unittest.TestCase):
235 self.assertCountEqual( 235 self.assertCountEqual(
236 result['extras'], 236 result['extras'],
237 ['g1', 'g2', 'g1', 'name:extras', 'all', 'path:path']) 237 ['g1', 'g2', 'g1', 'name:extras', 'all', 'path:path'])
238
239 def test_include_levels(self):
240 root_m = os.path.join(self.manifest_dir, 'root.xml')
241 with open(root_m, 'w') as fp:
242 fp.write("""
243<manifest>
244 <remote name="test-remote" fetch="http://localhost" />
245 <default remote="test-remote" revision="refs/heads/main" />
246 <include name="level1.xml" groups="level1-group" />
247 <project name="root-name1" path="root-path1" />
248 <project name="root-name2" path="root-path2" groups="r2g1,r2g2" />
249</manifest>
250""")
251 with open(os.path.join(self.manifest_dir, 'level1.xml'), 'w') as fp:
252 fp.write("""
253<manifest>
254 <include name="level2.xml" groups="level2-group" />
255 <project name="level1-name1" path="level1-path1" />
256</manifest>
257""")
258 with open(os.path.join(self.manifest_dir, 'level2.xml'), 'w') as fp:
259 fp.write("""
260<manifest>
261 <project name="level2-name1" path="level2-path1" groups="l2g1,l2g2" />
262</manifest>
263""")
264 include_m = manifest_xml.XmlManifest(self.repodir, root_m)
265 for proj in include_m.projects:
266 if proj.name == 'root-name1':
267 # Check include group not set on root level proj.
268 self.assertNotIn('level1-group', proj.groups)
269 if proj.name == 'root-name2':
270 # Check root proj group not removed.
271 self.assertIn('r2g1', proj.groups)
272 if proj.name == 'level1-name1':
273 # Check level1 proj has inherited group level 1.
274 self.assertIn('level1-group', proj.groups)
275 if proj.name == 'level2-name1':
276 # Check level2 proj has inherited group levels 1 and 2.
277 self.assertIn('level1-group', proj.groups)
278 self.assertIn('level2-group', proj.groups)
279 # Check level2 proj group not removed.
280 self.assertIn('l2g1', proj.groups)