[copr] master: 1077795 - co-own /usr/share/selinux/mls (e0d648e)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit e0d648e2f0515a68541284a4c1915a4d7f09f4e3
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Oct 20 13:42:31 2014 +0200
1077795 - co-own /usr/share/selinux/mls
>---------------------------------------------------------------
selinux/copr-selinux.spec | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/selinux/copr-selinux.spec b/selinux/copr-selinux.spec
index c5527ea..84fcbf5 100644
--- a/selinux/copr-selinux.spec
+++ b/selinux/copr-selinux.spec
@@ -108,6 +108,7 @@ fi
%{_sbindir}/%{name}-relabel
%{_mandir}/man8/%{name}-enable.8*
%{_mandir}/man8/%{name}-relabel.8*
+%dir %{_datadir}/selinux/mls
%changelog
* Tue Oct 14 2014 Miroslav Suchý <msuchy(a)redhat.com> 1.33-1
9 years, 6 months
[copr] master: Automatic commit of package [copr-cli] release [1.39-1]. (3d3479d)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 3d3479d87699c4ab125da17d44a706a6e3506c6b
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Oct 20 13:10:10 2014 +0200
Automatic commit of package [copr-cli] release [1.39-1].
>---------------------------------------------------------------
cli/copr-cli.spec | 7 ++++++-
rel-eng/packages/copr-cli | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/cli/copr-cli.spec b/cli/copr-cli.spec
index 961520b..a872e3a 100644
--- a/cli/copr-cli.spec
+++ b/cli/copr-cli.spec
@@ -4,7 +4,7 @@
%endif
Name: copr-cli
-Version: 1.38
+Version: 1.39
Release: 1%{?dist}
Summary: Command line interface for COPR
@@ -90,6 +90,11 @@ install -p man/copr.1 %{buildroot}/%{_mandir}/man1/
%endif
%changelog
+* Mon Oct 20 2014 Miroslav Suchý <msuchy(a)redhat.com> 1.39-1
+- add man page for copr(1)
+- [cli] [RHBZ: #1149889] RFE: download command in copr-cli
+- A few fixes for CI
+
* Tue Oct 07 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.38-1
- [cli] Added symlink for executable: copr -> copr-cli
- [cli] removed epydoc documentation
diff --git a/rel-eng/packages/copr-cli b/rel-eng/packages/copr-cli
index 7557165..03bded4 100644
--- a/rel-eng/packages/copr-cli
+++ b/rel-eng/packages/copr-cli
@@ -1 +1 @@
-1.38-1 cli/
+1.39-1 cli/
9 years, 6 months
[copr] master: add man page for copr(1) (a485a89)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit a485a894e7044cf7347f8ff7932bd14d2b2ed4f7
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Oct 20 13:05:58 2014 +0200
add man page for copr(1)
as alias to copr-cli(1)
>---------------------------------------------------------------
cli/copr-cli.spec | 2 ++
cli/man/copr.1 | 1 +
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/cli/copr-cli.spec b/cli/copr-cli.spec
index 6827506..961520b 100644
--- a/cli/copr-cli.spec
+++ b/cli/copr-cli.spec
@@ -73,12 +73,14 @@ ln -sf %{_bindir}/copr-cli %{buildroot}%{_bindir}/copr
install -d %{buildroot}%{_mandir}/man1
install -p -m 644 man/copr-cli.1 %{buildroot}/%{_mandir}/man1/
+install -p man/copr.1 %{buildroot}/%{_mandir}/man1/
%files
%doc LICENSE README.rst
%{_bindir}/copr-cli
%{python_sitelib}/*
%{_mandir}/man1/copr-cli.1*
+%{_mandir}/man1/copr.1*
%{_bindir}/copr
diff --git a/cli/man/copr.1 b/cli/man/copr.1
new file mode 100644
index 0000000..9b2b823
--- /dev/null
+++ b/cli/man/copr.1
@@ -0,0 +1 @@
+.so man1/copr-cli.1
9 years, 6 months
[copr] master: [backend] bugfix (813ab97)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 813ab97bbf4fc51ede5c383b65826e5c76529796
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Fri Oct 17 13:53:50 2014 +0200
[backend] bugfix
>---------------------------------------------------------------
backend/copr-be.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/copr-be.py b/backend/copr-be.py
index 450d6ba..abc5301 100755
--- a/backend/copr-be.py
+++ b/backend/copr-be.py
@@ -348,7 +348,7 @@ class CoprBackend(object):
# FIXME - if a worker bombs out - we need to check them
# and startup a new one if it happens
# check for dead workers and abort
- for w in self.workers[id]:
+ for w in self.workers[group_id]:
if not w.is_alive():
self.event("Worker {0} died unexpectedly".format(
w.worker_num))
@@ -356,7 +356,7 @@ class CoprBackend(object):
raise CoprBackendError(
"Worker died unexpectedly, exiting")
else:
- self.workers[id].remove(w) # it is not working anymore
+ self.workers[group_id].remove(w) # it is not working anymore
w.terminate() # kill it with a fire
time.sleep(self.opts.sleeptime)
9 years, 6 months
[copr] master: [backend][WIP] add file with build id to project results folder (da2c6e3)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit da2c6e33aa0866021db81a1d866babde74abf3a3
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Fri Oct 17 13:05:15 2014 +0200
[backend][WIP] add file with build id to project results folder
>---------------------------------------------------------------
backend/backend/dispatcher.py | 1 +
backend/backend/mockremote.py | 21 +++++++++++++++++----
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/backend/backend/dispatcher.py b/backend/backend/dispatcher.py
index 8dd886d..5191df0 100644
--- a/backend/backend/dispatcher.py
+++ b/backend/backend/dispatcher.py
@@ -611,6 +611,7 @@ class Worker(multiprocessing.Process):
macros=macros,
lock=self.lock,
do_sign=self.opts.do_sign,
+ build_id=job.build_id,
buildroot_pkgs=job.buildroot_pkgs,
callback=mockremote.CliLogCallBack(
quiet=True, logfn=chrootlogfile))
diff --git a/backend/backend/mockremote.py b/backend/backend/mockremote.py
index 567625d..5f90727 100755
--- a/backend/backend/mockremote.py
+++ b/backend/backend/mockremote.py
@@ -554,13 +554,18 @@ class Builder(object):
raise BuilderError(msg)
+def get_target_dir(chroot_dir, pkg_name):
+ source_basename = os.path.basename(pkg_name).replace(".src.rpm", "")
+ return os.path.join(chroot_dir, source_basename)
+
+
class MockRemote(object):
def __init__(self, builder=None, user=DEF_USER, timeout=DEF_TIMEOUT,
destdir=DEF_DESTDIR, chroot=DEF_CHROOT, cont=False,
recurse=False, repos=None, callback=None,
remote_basedir=DEF_REMOTE_BASEDIR, remote_tempdir=None,
- macros=None, lock=None, do_sign=False,
+ macros=None, lock=None, do_sign=False, build_id=None,
buildroot_pkgs=DEF_BUILDROOT_PKGS):
"""
@@ -662,14 +667,15 @@ class MockRemote(object):
:param pkg: path to the source package
"""
- source_basename = os.path.basename(pkg).replace(".src.rpm", "")
+ #source_basename = os.path.basename(pkg).replace(".src.rpm", "")
self.callback.log("Going to sign pkgs from source: {} in chroot: {}".
- format(source_basename, chroot_dir))
+ format(pkg, chroot_dir))
try:
sign_rpms_in_dir(self.macros["copr_username"],
self.macros["copr_projectname"],
- os.path.join(chroot_dir, source_basename),
+ #os.path.join(chroot_dir, source_basename),
+ get_target_dir(chroot_dir, pkg),
callback=self.callback)
except Exception as e:
self.callback.log(
@@ -758,6 +764,13 @@ class MockRemote(object):
os.path.join(chroot_dir, "mockchain.log"),
["\n\n{0}\n\n".format(pkg), b_out], [b_err])
+ ## adding info file with
+ try:
+ with open(os.path.join(get_target_dir(chroot_dir, pkg), "build.info"), 'w') as info_file:
+ info_file.write("build_id={}\n".format(self.build_id))
+ except IOError:
+ pass
+
# checking where to stick stuff
if not b_status:
if self.recurse:
9 years, 6 months
[copr] master: [frontend] [RHBZ: #1149091] bugfix: 'Repeat' does not respect chroot selection of original build (b2e28d3)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit b2e28d334612e3f8db4786d4a501862948aeae3f
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Thu Oct 16 18:12:43 2014 +0200
[frontend] [RHBZ: #1149091] bugfix: 'Repeat' does not respect chroot selection of original build
>---------------------------------------------------------------
.../coprs/views/coprs_ns/coprs_builds.py | 4 +-
frontend/coprs_frontend/tests/coprs_test_case.py | 35 ++++++++++++++-
.../tests/test_logic/test_builds_logic.py | 2 +-
.../test_views/test_coprs_ns/test_coprs_builds.py | 48 ++++++++++++++++++++
test_suite.sh | 13 +++---
5 files changed, 93 insertions(+), 9 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
index e63b222..2e99b84 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -197,7 +197,9 @@ def copr_repeat_build(username, coprname, build_id, page=1):
copr=copr,
repos=copr.repos,
memory_reqs=build.memory_reqs,
- timeout=build.timeout)
+ timeout=build.timeout,
+ chroots=build.chroots,
+ )
except (ActionInProgressException, InsufficientRightsException) as e:
db.session.rollback()
diff --git a/frontend/coprs_frontend/tests/coprs_test_case.py b/frontend/coprs_frontend/tests/coprs_test_case.py
index 5585bd1..15fb0b2 100644
--- a/frontend/coprs_frontend/tests/coprs_test_case.py
+++ b/frontend/coprs_frontend/tests/coprs_test_case.py
@@ -167,7 +167,40 @@ class CoprsTestCase(object):
self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
@pytest.fixture
- def f_builds_many_chroots(self):
+ def f_build_few_chroots(self):
+ """
+ Requires fixture: f_mock_chroots_many
+ """
+ self.b_few_chroots = models.Build(
+ id=2345,
+ copr=self.c1, user=self.u1,
+ submitted_on=50, started_on=139086644000,
+ pkgs="http://example.com/copr-keygen-1.58-1.fc20.src.rpm",
+ pkg_version="1.58"
+ )
+
+ self.db.session.add(self.b_few_chroots)
+ self.status_by_chroot = {
+ 'epel-5-i386': 0,
+ 'fedora-20-i386': 1,
+ 'fedora-20-x86_64': 1,
+ 'fedora-21-i386': 1,
+ 'fedora-21-x86_64': 4
+ }
+
+ for chroot in self.b_few_chroots.copr.active_chroots:
+ if chroot.name in self.status_by_chroot:
+ buildchroot = models.BuildChroot(
+ build=self.b_few_chroots,
+ mock_chroot=chroot,
+ status = self.status_by_chroot[chroot.name])
+ self.db.session.add(buildchroot)
+
+ self.db.session.add(self.b_few_chroots)
+
+
+ @pytest.fixture
+ def f_build_many_chroots(self):
self.b_many_chroots = models.Build(
id=12347,
copr=self.c1, user=self.u1,
diff --git a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
index 8c03475..d223fb5 100644
--- a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
+++ b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
@@ -41,7 +41,7 @@ class TestBuildsLogic(CoprsTestCase):
for k, v in params.items():
assert getattr(b, k) == v
- def test_monitor_logic(self, f_users, f_coprs, f_mock_chroots_many, f_builds_many_chroots, f_db):
+ def test_monitor_logic(self, f_users, f_coprs, f_mock_chroots_many, f_build_many_chroots, f_db):
copr = self.c1
md = BuildsMonitorLogic.get_monitor_data(copr)
results = md["packages"][-1][2]
diff --git a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
index cfd2bae..47e3a8b 100644
--- a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
+++ b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
@@ -1,3 +1,4 @@
+from coprs import models
from tests.coprs_test_case import CoprsTestCase, TransactionDecorator
@@ -142,6 +143,53 @@ class TestCoprDeleteBuild(CoprsTestCase):
class TestCoprRepeatBuild(CoprsTestCase):
+ @TransactionDecorator("u1")
+ def test_copr_build_chroots_subset_preserved_on_build_repeat(
+ self, f_users, f_coprs, f_mock_chroots_many, f_db):
+ self.b_few_chroots = models.Build(
+ id=2345,
+ copr=self.c1, user=self.u1,
+ submitted_on=50, started_on=139086644000,
+ pkgs="http://example.com/copr-keygen-1.58-1.fc20.src.rpm",
+ pkg_version="1.58"
+ )
+
+ self.db.session.add(self.b_few_chroots)
+ self.status_by_chroot = {
+ 'epel-5-i386': 0,
+ 'fedora-20-i386': 1,
+ 'fedora-20-x86_64': 1,
+ 'fedora-21-i386': 1,
+ 'fedora-21-x86_64': 4
+ }
+
+ for chroot in self.b_few_chroots.copr.active_chroots:
+ if chroot.name in self.status_by_chroot:
+ buildchroot = models.BuildChroot(
+ build=self.b_few_chroots,
+ mock_chroot=chroot,
+ status = self.status_by_chroot[chroot.name])
+ self.db.session.add(buildchroot)
+
+ self.db.session.add_all([self.u1, self.c1, self.b_few_chroots])
+ self.db.session.commit()
+
+ r = self.test_client.post(
+ "/coprs/{0}/{1}/repeat_build/{2}/"
+ .format(self.u1.name, self.c1.name, self.b_few_chroots.id),
+ data={},
+ follow_redirects=True)
+
+ assert "Build was resubmitted" in r.data
+
+ new_build = self.models.Build.query.filter(
+ self.models.Build.id != 2345).first()
+
+ expected_build_chroots_name_set = set(self.status_by_chroot.keys())
+ result_build_chroots_name_set = set([c.name for c in new_build.chroots])
+
+ assert result_build_chroots_name_set == expected_build_chroots_name_set
+
@TransactionDecorator("u1")
def test_copr_build_submitter_can_repeat_build(self, f_users,
diff --git a/test_suite.sh b/test_suite.sh
index a2a19e1..5161232 100644
--- a/test_suite.sh
+++ b/test_suite.sh
@@ -7,7 +7,8 @@ virtualenv _venv
source _venv/bin/activate
-pip install pytest mock pytest-cov sphinx flask flask-script SQLAlchemy==0.8.7 flask-whooshee Flask-OpenID Flask-SQLAlchemy==1.0 Flask-WTF blinker pytz markdown pyLibravatar pydns flexmock whoosh decorator
+# sphinx flask flask-script SQLAlchemy==0.8.7 flask-whooshee Flask-OpenID Flask-SQLAlchemy==1.0 Flask-WTF blinker pytz markdown pyLibravatar pydns flexmock whoosh decorator
+pip install pytest mock pytest-cov ipdb
cp -rv /usr/lib/python2.7/site-packages/rpmUtils _venv/lib/python2.7/site-packages/
@@ -22,19 +23,19 @@ pip install -r keygen/requirements.txt
mkdir -p _report
COPR_CONFIG="$(pwd)/frontend/coprs_frontend/config/copr_unit_test.conf" \
- python -m pytest frontend/coprs_frontend/tests --junitxml=_report/frontend.junit.xml --cov-report xml --cov frontend/coprs_frontend/coprs
+ python -m pytest frontend/coprs_frontend/tests --junitxml=_report/frontend.junit.xml --cov-report xml --cov frontend/coprs_frontend/coprs $@
mv {,_report/frontend.}coverage.xml
-python -m pytest backend/tests --junitxml=_report/backend.junit.xml --cov-report xml --cov backend/backend
+python -m pytest backend/tests --junitxml=_report/backend.junit.xml --cov-report xml --cov backend/backend $@
mv {,_report/backend.}coverage.xml
-python -m pytest python/copr/test --junitxml=_report/python-copr.junit.xml --cov-report xml --cov python/copr/client
+python -m pytest python/copr/test --junitxml=_report/python-copr.junit.xml --cov-report xml --cov python/copr/client $@
mv {,_report/python-copr.}coverage.xml
-PYTHONPATH=python/:cli/:$PYTHONPATH python -m pytest cli/tests --junitxml=_report/cli.junit.xml --cov-report xml --cov cli/copr_cli
+PYTHONPATH=python/:cli/:$PYTHONPATH python -m pytest cli/tests --junitxml=_report/cli.junit.xml --cov-report xml --cov cli/copr_cli $@
mv {,_report/cli.}coverage.xml
-PYTHONPATH=keygen/src:$PYTHONPATH python -B -m pytest keygen/tests --junitxml=_report/keygen.junit.xml --cov-report xml --cov keygen/src
+PYTHONPATH=keygen/src:$PYTHONPATH python -B -m pytest keygen/tests --junitxml=_report/keygen.junit.xml --cov-report xml --cov keygen/src $@
mv {,_report/keygen.}coverage.xml
deactivate
9 years, 6 months
[copr] master: [cli] [RHBZ: #1149889] RFE: download command in copr-cli (622db5b)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 622db5bc97e56db91d397085e4d80dc96a56299f
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Thu Oct 16 11:18:59 2014 +0200
[cli] [RHBZ: #1149889] RFE: download command in copr-cli
>---------------------------------------------------------------
cli/copr-cli.spec | 1 +
cli/copr_cli/main.py | 47 ++++++++++++++++++++++++++++++++-
cli/man/copr-cli.1.asciidoc | 3 ++
cli/tests/test_cli.py | 59 +++++++++++++++++++++++++++++++++++++++++-
4 files changed, 106 insertions(+), 4 deletions(-)
diff --git a/cli/copr-cli.spec b/cli/copr-cli.spec
index 7b227fc..6827506 100644
--- a/cli/copr-cli.spec
+++ b/cli/copr-cli.spec
@@ -30,6 +30,7 @@ BuildRequires: python-argparse
Requires: python-setuptools
Requires: python-copr
+Requires: wget
%if 0%{?rhel} < 7 && 0%{?rhel} > 0
Requires: python-argparse
%endif
diff --git a/cli/copr_cli/main.py b/cli/copr_cli/main.py
index 5f7ec1a..d384e3a 100644
--- a/cli/copr_cli/main.py
+++ b/cli/copr_cli/main.py
@@ -1,10 +1,13 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
+import os
+import subprocess
__version__ = "0.3.0"
__description__ = "CLI tool to run copr"
import argparse
+from urlparse import urlparse
import sys
import datetime
import time
@@ -202,6 +205,33 @@ class Commands(object):
result = self.client.get_build_details(args.build_id)
print(result.status)
+ def action_download_build(self, args):
+ result = self.client.get_build_details(args.build_id)
+ # TODO: can be simplified after https://bugzilla.redhat.com/show_bug.cgi?id=1133650
+ # and addition of that paths to api
+
+ o = urlparse(result.src_pkg)
+ pkgs_name = os.path.split(o.path)[-1]
+ assert pkgs_name.endswith(".src.rpm")
+
+ base_url = result.results
+ base_len = len(os.path.split(base_url))
+
+ pkg_dir = pkgs_name[:-8]
+ for chroot, status in result.data["chroots"].items():
+ if args.chroots and chroot not in args.chroots:
+ continue
+
+ cmd = "wget -r -nH --no-parent --reject 'index.html*'".split(' ')
+
+ cmd.extend(['-P', os.path.join(args.dest, chroot)])
+ cmd.extend(['--cut-dirs', str(base_len + 4)])
+ cmd.append("{}{}/{}/".format(base_url, chroot, pkg_dir))
+
+ subprocess.call(cmd)
+
+
+
@requires_api_auth
def action_cancel(self, args):
""" Method called when the 'cancel' action has been selected by the
@@ -216,10 +246,10 @@ def setup_parser():
"""
Set the main arguments.
"""
- parser = argparse.ArgumentParser(prog="copr-cli")
+ parser = argparse.ArgumentParser(prog="copr")
# General connection options
parser.add_argument("--version", action="version",
- version="copr-cli {0}".format(__version__))
+ version="copr {0}".format(__version__))
subparsers = parser.add_subparsers(title="actions")
@@ -293,6 +323,19 @@ def setup_parser():
help="Build ID")
parser_build.set_defaults(func="action_status")
+ # create the parser for the "download-build" command
+ parser_build = subparsers.add_parser("download-build", help="Fetches built packages")
+ parser_build.add_argument("build_id",
+ help="Build ID")
+ parser_build.add_argument(
+ "-r", "--chroot", dest="chroots", action="append",
+ help="Select chroots to fetch"
+ )
+ parser_build.add_argument("--dest", "-d", dest="dest",
+ help="Base directory to store packages", default=".")
+
+ parser_build.set_defaults(func="action_download_build")
+
# create the parser for the "cancel" command
parser_build = subparsers.add_parser("cancel",
help="Cancel build specified by its ID")
diff --git a/cli/man/copr-cli.1.asciidoc b/cli/man/copr-cli.1.asciidoc
index 2d25522..c0419bd 100644
--- a/cli/man/copr-cli.1.asciidoc
+++ b/cli/man/copr-cli.1.asciidoc
@@ -50,6 +50,9 @@ Get the status of the build.
cancel::
Cancel a build of given id.
+download-build::
+Download a build to local directory.
+
`copr-cli create [options]`
~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/cli/tests/test_cli.py b/cli/tests/test_cli.py
index 92ca091..ef952f6 100644
--- a/cli/tests/test_cli.py
+++ b/cli/tests/test_cli.py
@@ -102,7 +102,7 @@ def test_error_no_args(mock_cc, capsys):
assert err.value.code == 2
stdout, stderr = capsys.readouterr()
- assert "usage: copr-cli" in stderr
+ assert "usage: copr" in stderr
assert "too few arguments" in stderr
@@ -297,7 +297,7 @@ def test_status_response_no_args(mock_cc, capsys):
assert err.value.code == 2
stdout, stderr = capsys.readouterr()
- assert "usage: copr-cli" in stderr
+ assert "usage: copr" in stderr
assert "too few arguments" in stderr
@@ -315,6 +315,61 @@ def test_delete_project(mock_cc, capsys):
assert "{}\n".format(response_message) in out
+(a)mock.patch('copr_cli.main.subprocess')
+(a)mock.patch('copr_cli.main.CoprClient')
+def test_download_build(mock_cc, mock_sp, capsys):
+ mock_client = MagicMock(no_config=False)
+ mock_client.get_build_details.return_value = \
+ MagicMock(
+ data={"chroots": {
+ u'epel-6-x86_64': u'succeeded', u'epel-6-i386': u'succeeded'
+ }},
+ src_pkg="http://example/python/python-copr-1.50-1.fc20.src.rpm",
+ results="http://example.com/results/",
+ )
+ mock_cc.create_from_file_config.return_value = mock_client
+
+ mock_sp.call.return_value = None
+ main.main(argv=["download-build", "foo"])
+ stdout, stderr = capsys.readouterr()
+
+ expected_sp_call_args = [
+ mock.call(['wget', '-r', '-nH', '--no-parent', '--reject', "'index.html*'",
+ '-P', u'./epel-6-x86_64', '--cut-dirs', '6',
+ 'http://example.com/results/epel-6-x86_64/python-copr-1.50-1.fc20/']),
+ mock.call(['wget', '-r', '-nH', '--no-parent', '--reject', "'index.html*'",
+ '-P', u'./epel-6-i386', '--cut-dirs', '6',
+ 'http://example.com/results/epel-6-i386/python-copr-1.50-1.fc20/'])
+ ]
+
+ assert mock_sp.call.call_args_list == expected_sp_call_args
+
+(a)mock.patch('copr_cli.main.subprocess')
+(a)mock.patch('copr_cli.main.CoprClient')
+def test_download_build_select_chroot(mock_cc, mock_sp, capsys):
+ mock_client = MagicMock(no_config=False)
+ mock_client.get_build_details.return_value = \
+ MagicMock(
+ data={"chroots": {
+ u'epel-6-x86_64': u'succeeded', u'epel-6-i386': u'succeeded'
+ }},
+ src_pkg="http://example/python/python-copr-1.50-1.fc20.src.rpm",
+ results="http://example.com/results/",
+ )
+ mock_cc.create_from_file_config.return_value = mock_client
+
+ mock_sp.call.return_value = None
+ main.main(argv=["download-build", "foo", "-r", "epel-6-x86_64"])
+ stdout, stderr = capsys.readouterr()
+ expected_sp_call_args = [
+ mock.call(['wget', '-r', '-nH', '--no-parent', '--reject', "'index.html*'",
+ '-P', u'./epel-6-x86_64', '--cut-dirs', '6',
+ 'http://example.com/results/epel-6-x86_64/python-copr-1.50-1.fc20/']),
+ ]
+
+ assert mock_sp.call.call_args_list == expected_sp_call_args
+
+
@mock.patch('copr_cli.main.CoprClient')
def test_create_project(mock_cc, capsys):
response_message = "foobar"
9 years, 6 months
[copr] master: Automatic commit of package [copr-selinux] release [1.33-1]. (640752f)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 640752f3af01a18dc10a7c27e1e98bde1cdf5600
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Oct 14 12:04:22 2014 +0200
Automatic commit of package [copr-selinux] release [1.33-1].
>---------------------------------------------------------------
rel-eng/packages/copr-selinux | 2 +-
selinux/copr-selinux.spec | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/rel-eng/packages/copr-selinux b/rel-eng/packages/copr-selinux
index 36dbafa..191e4dd 100644
--- a/rel-eng/packages/copr-selinux
+++ b/rel-eng/packages/copr-selinux
@@ -1 +1 @@
-1.32-1 selinux/
+1.33-1 selinux/
diff --git a/selinux/copr-selinux.spec b/selinux/copr-selinux.spec
index e8d6b9d..c5527ea 100644
--- a/selinux/copr-selinux.spec
+++ b/selinux/copr-selinux.spec
@@ -8,7 +8,7 @@
%{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' %{_datadir}/selinux/devel/policyhelp 2>/dev/null)}
Name: copr-selinux
-Version: 1.32
+Version: 1.33
Release: 1%{?dist}
Summary: SELinux module for COPR
@@ -110,6 +110,9 @@ fi
%{_mandir}/man8/%{name}-relabel.8*
%changelog
+* Tue Oct 14 2014 Miroslav Suchý <msuchy(a)redhat.com> 1.33-1
+- 1077795 - use macro for /usr/share/
+
* Mon Oct 13 2014 Miroslav Suchý <msuchy(a)redhat.com> 1.32-1
- 1077795 - spec cleanup
9 years, 7 months
[copr] master: 1077795 - use macro for /usr/share/ (4c8002c)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 4c8002c753c738020a122414aedc825e4eb20ca8
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Oct 14 12:04:06 2014 +0200
1077795 - use macro for /usr/share/
>---------------------------------------------------------------
selinux/copr-selinux.spec | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/selinux/copr-selinux.spec b/selinux/copr-selinux.spec
index 538605a..e8d6b9d 100644
--- a/selinux/copr-selinux.spec
+++ b/selinux/copr-selinux.spec
@@ -5,7 +5,7 @@
%global moduletype apps
%global modulename copr
-%{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)}
+%{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' %{_datadir}/selinux/devel/policyhelp 2>/dev/null)}
Name: copr-selinux
Version: 1.32
@@ -54,10 +54,10 @@ a2x -d manpage -f manpage man/copr-selinux-relabel.8.asciidoc
perl -i -pe 'BEGIN { $VER = join ".", grep /^\d+$/, split /\./, "%{version}.%{release}"; } s!\@\@VERSION\@\@!$VER!g;' %{modulename}.te
for selinuxvariant in targeted mls; do
- make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
+ make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile
bzip2 -9 %{modulename}.pp
mv %{modulename}.pp.bz2 %{modulename}.pp.bz2.${selinuxvariant}
- make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
+ make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean
done
%install
9 years, 7 months