def main(): cl = CoprClient(username="******", login=sys.argv[1], token=sys.argv[2], copr_url="http://copr.fedoraproject.org") results=build_project(sys.argv[4],cl) for bw in results.builds_list: build_id = bw.build_id while True: count_chroot = 6 for ch, status in bw.handle.get_build_details().data["chroots"].items(): if status in ["skipped", "failed", "succeeded"]: count_chroot -= 1 time.sleep(10) if count_chroot == 0: break sort_result=sorted(bw.handle.get_build_details().data["chroots"].items(), key=itemgetter(0)) i=1 exit_code=0 for ch, status in sort_result: print("echo -en \"travis_fold:start:rpg-{}\\\\r\"".format(ch)) if (status == "succeeded"): print("echo \"{} $(tput setaf 2)succeeded $(tput sgr0)\"".format(ch)) else: print("echo \"{} $(tput setaf 1){} $(tput sgr0)\"".format(ch,status)) exit_code += 1 url="https://copr-be.cloud.fedoraproject.org/results/xvican01/"+sys.argv[4]+"/"+ch+"/"+'0'*(8-len(str(build_id)))+str(build_id)+"-rpg/build.log.gz" logfile = urllib2.urlopen(url) output = open("/home/travis/build"+str(i)+".log.gz",'wb') output.write(logfile.read()) output.close() print("zcat "+"build"+str(i)+".log.gz") i += 1 print("echo -en \"travis_fold:end:rpg-{}\\\\r\"".format(ch)) print("exit {}".format(exit_code))
def get_auto_prune_status(front_url, username, projectname): client = CoprClient(copr_url=front_url) result = client.get_project_details(projectname, username) if "auto_prune" in result.data["detail"]: return bool(result.data["detail"]["auto_prune"]) return True
def uses_devel_repo(front_url, username, projectname): client = CoprClient(copr_url=front_url) result = client.get_project_details(projectname, username) if "auto_createrepo" in result.data["detail"]: return not bool(result.data["detail"]["auto_createrepo"]) return False
def copr_set_config(self, username, login, token): """ Logs into copr with username, login and token. This has to be called before copr_create_project and copr_build To sign up on copr go here: http://copr.fedoraproject.org """ self.cl = CoprClient(username, login, token, copr_url="http://copr.fedoraproject.org")
def get_persistent_status(front_url, username, projectname): client = CoprClient(copr_url=front_url) result = client.get_project_details(projectname, username) if "persistent" in result.data["detail"]: return bool(result.data["detail"]["persistent"]) else: return True
def test_list_project_no_username2(mock_cc, capsys): mock_cc.create_from_file_config.return_value = CoprClient() with pytest.raises(SystemExit) as err: main.main(argv=["list"]) assert err.value.code == 6 out, err = capsys.readouterr() assert "Pass username to command or add it to `~/.config/copr`" in out
def test_list_project(mock_cc, capsys): response_data = json.loads(read_res('list_projects_response.json')) expected_output = read_res('list_projects_expected.txt') # no config mock_cc.create_from_file_config.side_effect = CoprNoConfException() mocked_client = MagicMock(CoprClient(no_config=True)) control_response = CoprResponse(client=None, method="", data=response_data, parsers=[ProjectListParser, CommonMsgErrorOutParser]) mocked_client.get_projects_list.return_value = control_response mock_cc.return_value = mocked_client main.main(argv=["list", "rhscl"]) out, err = capsys.readouterr() assert expected_output in out expected_warning = no_config_warning assert expected_warning in out
for project in result: if project.projectname == project_name: found_project = True break if not found_project: chroot = [ "fedora-21-x86_64", "fedora-21-i386", "fedora-22-x86_64", "fedora-22-i386", "fedora-rawhide-i386", "fedora-rawhide-x86_64" ] copr_client.create_project(project_name, chroots=chroot) result = cl.create_new_build(project_name, pkgs=[sys.argv[3]]) return result cl = CoprClient(username="******", login=sys.argv[1], token=sys.argv[2], copr_url="http://copr.fedoraproject.org") results = build_project(sys.argv[4], cl) for bw in results.builds_list: build_id = bw.build_id while True: count_chroot = 6 for ch, status in bw.handle.get_build_details().data["chroots"].items( ): if status in ["skipped", "failed", "succeeded"]: count_chroot -= 1 time.sleep(10) if count_chroot == 0: break sort_result = sorted(bw.handle.get_build_details().data["chroots"].items(), key=itemgetter(0))
def copr_set_config(self, username, login, token): self.cl = CoprClient(username, login, token, copr_url="http://copr.fedoraproject.org")