def test_invalid_group(tmpdir): """ Test Invalid Group """ manifest_xml = tmpdir.join("manifest.xml") manifest_xml.write(""" \ <manifest> <remote name="origin" url="*****@*****.**" /> <repo project="foo.git" remotes="origin" /> <groups> <group name="foo-group"> <project name="foo.git" /> <project name="bar.git" /> </group> </groups> </manifest> """) manifest = qisrc.manifest.Manifest(manifest_xml.strpath) with pytest.raises(qisrc.manifest.ManifestError) as e: manifest.get_repos(groups=["foo-group"]) assert "foo-group" in str(e.value) assert "bar.git" in str(e.value) with pytest.raises(qisrc.manifest.ManifestError) as e: manifest.get_repos(groups=["mygroup"]) assert "No such group: mygroup" in str(e.value)
def test_default_group(tmpdir): manifest_xml = tmpdir.join("manifest.xml") manifest_xml.write(""" \ <manifest> <remote name="origin" url="*****@*****.**" /> <repo project="a.git" remotes="origin" /> <repo project="b.git" remotes="origin" /> <repo project="c.git" remotes="origin" /> <groups> <group name="a_group" default="true" > <project name="a.git" /> <project name="b.git" /> </group> </groups> </manifest> """) manifest = qisrc.manifest.Manifest(manifest_xml.strpath) git_projects = manifest.get_repos() assert len(git_projects) == 2
def test_all_repos(tmpdir): manifest_xml = tmpdir.join("manifest.xml") manifest_xml.write(""" \ <manifest> <remote name="origin" url="*****@*****.**" /> <repo project="a.git" remotes="origin" /> <repo project="b.git" remotes="origin" /> <repo project="c.git" remotes="origin" /> <groups> <group name="a_group" default="true" > <project name="a.git" /> <project name="b.git" /> </group> </groups> </manifest> """) manifest = qisrc.manifest.Manifest(manifest_xml.strpath) git_projects = manifest.get_repos(all=True) assert len(git_projects) == 3
def test_groups(tmpdir): manifest_xml = tmpdir.join("manifest.xml") manifest_xml.write(""" \ <manifest> <remote name="origin" url="*****@*****.**" /> <repo project="qi/libqi.git" remotes="origin" /> <repo project="qi/libqimessaging.git" remotes="origin" /> <repo project="qi/naoqi.git" remotes="origin" /> <groups> <group name="qim"> <project name="qi/libqi.git" /> <project name="qi/libqimessaging.git" /> </group> </groups> </manifest> """) manifest = qisrc.manifest.Manifest(manifest_xml.strpath) git_projects = manifest.get_repos(groups=["qim"]) assert len(git_projects) == 2 assert git_projects[0].clone_url == "[email protected]:qi/libqi.git" assert git_projects[1].clone_url == "[email protected]:qi/libqimessaging.git"