示例#1
0
 def test_link(self):
     """Verify Link handling with new names."""
     manifest = manifest_xml.XmlManifest(self.repodir, self.manifest_file)
     with open(os.path.join(self.manifest_dir, 'foo.xml'), 'w') as fp:
         fp.write('<manifest></manifest>')
     manifest.Link('foo.xml')
     with open(self.manifest_file) as fp:
         self.assertIn('<include name="foo.xml" />', fp.read())
示例#2
0
    def test_include_levels(self):
        root_m = os.path.join(self.manifest_dir, 'root.xml')
        with open(root_m, 'w') as fp:
            fp.write("""
<manifest>
  <remote name="test-remote" fetch="http://localhost" />
  <default remote="test-remote" revision="refs/heads/main" />
  <include name="level1.xml" groups="level1-group" />
  <project name="root-name1" path="root-path1" />
  <project name="root-name2" path="root-path2" groups="r2g1,r2g2" />
</manifest>
""")
        with open(os.path.join(self.manifest_dir, 'level1.xml'), 'w') as fp:
            fp.write("""
<manifest>
  <include name="level2.xml" groups="level2-group" />
  <project name="level1-name1" path="level1-path1" />
</manifest>
""")
        with open(os.path.join(self.manifest_dir, 'level2.xml'), 'w') as fp:
            fp.write("""
<manifest>
  <project name="level2-name1" path="level2-path1" groups="l2g1,l2g2" />
</manifest>
""")
        include_m = manifest_xml.XmlManifest(self.repodir, root_m)
        for proj in include_m.projects:
            if proj.name == 'root-name1':
                # Check include group not set on root level proj.
                self.assertNotIn('level1-group', proj.groups)
            if proj.name == 'root-name2':
                # Check root proj group not removed.
                self.assertIn('r2g1', proj.groups)
            if proj.name == 'level1-name1':
                # Check level1 proj has inherited group level 1.
                self.assertIn('level1-group', proj.groups)
            if proj.name == 'level2-name1':
                # Check level2 proj has inherited group levels 1 and 2.
                self.assertIn('level1-group', proj.groups)
                self.assertIn('level2-group', proj.groups)
                # Check level2 proj group not removed.
                self.assertIn('l2g1', proj.groups)
示例#3
0
 def getXmlManifest(self, data):
     """Helper to initialize a manifest for testing."""
     with open(self.manifest_file, 'w') as fp:
         fp.write(data)
     return manifest_xml.XmlManifest(self.repodir, self.manifest_file)