[copr] enter_the_matrix: [frontend] skip legal-flag actions when dumping waiting actions (352f5da)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : enter_the_matrix
>---------------------------------------------------------------
commit 352f5dab06a06a8e968e63895d3c30ea9c06e72f
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Wed Nov 13 18:17:44 2013 +0100
[frontend] skip legal-flag actions when dumping waiting actions
Signed-off-by: Richard Marko <rmarko(a)fedoraproject.org>
>---------------------------------------------------------------
coprs_frontend/coprs/logic/actions_logic.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/coprs_frontend/coprs/logic/actions_logic.py b/coprs_frontend/coprs/logic/actions_logic.py
index d53ef8b..86f2310 100644
--- a/coprs_frontend/coprs/logic/actions_logic.py
+++ b/coprs_frontend/coprs/logic/actions_logic.py
@@ -16,6 +16,8 @@ class ActionsLogic(object):
query = (models.Action.query
.filter(models.Action.result ==
helpers.BackendResultEnum('waiting'))
+ .filter(models.Action.action_type !=
+ helpers.ActionTypeEnum('legal-flag'))
.order_by(models.Action.created_on.asc()))
return query
10 years, 6 months
[copr] enter_the_matrix: [frontend] rewrite backend view to use Build <-> Chroot relation (2bc17d8)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : enter_the_matrix
>---------------------------------------------------------------
commit 2bc17d84a77e39270b771bed6ba8ae7e3597d9b2
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Wed Nov 13 16:11:57 2013 +0100
[frontend] rewrite backend view to use Build <-> Chroot relation
Fix BuildsLogic to update status of chroot objects
instead of Build directly, drop some unused parameters.
Signed-off-by: Richard Marko <rmarko(a)fedoraproject.org>
>---------------------------------------------------------------
coprs_frontend/coprs/logic/builds_logic.py | 33 +++++-
.../coprs/views/backend_ns/backend_general.py | 117 +++++++++----------
.../coprs/views/coprs_ns/coprs_builds.py | 4 +-
3 files changed, 83 insertions(+), 71 deletions(-)
diff --git a/coprs_frontend/coprs/logic/builds_logic.py b/coprs_frontend/coprs/logic/builds_logic.py
index 406f94e..f198e5a 100644
--- a/coprs_frontend/coprs/logic/builds_logic.py
+++ b/coprs_frontend/coprs/logic/builds_logic.py
@@ -10,7 +10,7 @@ from coprs.logic import users_logic
class BuildsLogic(object):
@classmethod
- def get(cls, user, build_id):
+ def get(cls, build_id):
query = models.Build.query.filter(models.Build.id == build_id)
return query
@@ -38,7 +38,7 @@ class BuildsLogic(object):
return query
@classmethod
- def get_waiting_builds(cls, user):
+ def get_waiting(cls):
# return builds that aren't both started and finished (if build start submission
# fails, we still want to mark the build as non-waiting, if it ended)
# this has very different goal then get_multiple, so implement it alone
@@ -53,7 +53,7 @@ class BuildsLogic(object):
return query
@classmethod
- def get_by_ids(cls, user, ids):
+ def get_by_ids(cls, ids):
return models.Build.query.filter(models.Build.id.in_(ids))
@classmethod
@@ -91,14 +91,33 @@ class BuildsLogic(object):
db.session.add(buildchroot)
@classmethod
- def update_state_from_dict(cls, user, build, upd_dict):
- for attr in ['results', 'started_on', 'ended_on', 'status']:
+ def update_state_from_dict(cls, build, upd_dict):
+ if 'chroot' in upd_dict:
+ # update respective chroot status
+ for build_chroot in build.build_chroots:
+ if build_chroot.mock_chroot.chroot_name == upd_dict['chroot']:
+ build_chroot.status = upd_dict['status']
+
+ db.session.add(build_chroot)
+
+ for attr in ['results', 'started_on', 'ended_on']:
value = upd_dict.get(attr, None)
- if value != None:
- setattr(build, attr, value)
+ if value:
+ # only update started_on once
+ if attr == 'started_on' and build.started_on:
+ continue
+
+ # only update ended_on and results
+ # when there are no pending builds
+ if (attr in ['ended_on', 'results'] and
+ build.has_pending_chroot):
+ continue
+
if attr == 'ended_on':
signals.build_finished.send(cls, build=build)
+ setattr(build, attr, value)
+
db.session.add(build)
@classmethod
diff --git a/coprs_frontend/coprs/views/backend_ns/backend_general.py b/coprs_frontend/coprs/views/backend_ns/backend_general.py
index ca7a3dd..fbc009a 100644
--- a/coprs_frontend/coprs/views/backend_ns/backend_general.py
+++ b/coprs_frontend/coprs/views/backend_ns/backend_general.py
@@ -1,81 +1,74 @@
-import json
-
import flask
from coprs import db
-from coprs import helpers
-from coprs import models
-
+from coprs.logic import actions_logic
from coprs.logic import builds_logic
from coprs.views import misc
from coprs.views.backend_ns import backend_ns
-(a)backend_ns.route('/waiting_builds/')
-def waiting_builds():
- query = builds_logic.BuildsLogic.get_waiting_builds(None)
-
- builds = query[0:10]
- return flask.jsonify({'builds': [build.to_dict(options = {'copr': {'owner': {},
- '__columns_only__': ['id', 'name'],
- '__included_ids__': False},
- '__included_ids__': False}) for build in builds]})
-
-
-(a)backend_ns.route('/update_builds/', methods = ['POST', 'PUT'])
+(a)backend_ns.route('/waiting/')
@misc.backend_authenticated
-def update_builds():
- to_update = {}
- for build in flask.request.json['builds']: # first get ids of sent builds
- to_update[build['id']] = build
-
- if not to_update:
- return json.dumps({'warning': 'No parsed builds'})
-
- existing = {} # create a dict of existing builds {build.id: build, ...}
- for build in builds_logic.BuildsLogic.get_by_ids(None, to_update.keys()).all():
- existing[build.id] = build
-
- non_existing_ids = list(set(to_update.keys()) - set(existing.keys()))
-
- for i, build in existing.items(): # actually update existing builds
- builds_logic.BuildsLogic.update_state_from_dict(None, build, to_update[i])
-
- db.session.commit()
-
- return flask.jsonify({'updated_builds_ids': list(existing.keys()), 'non_existing_builds_ids': non_existing_ids})
-
-
-(a)backend_ns.route('/waiting_actions/')
-def waiting_actions():
- actions = models.Action.query.filter(models.Action.result==helpers.BackendResultEnum('waiting')).all()
+def waiting():
+ """
+ Return list of waiting actions and builds.
+ """
+
+ # models.Actions
+ actions_list = [action.to_dict(
+ options={'__columns_except__': ['result', 'message', 'ended_on']})
+ for action in actions_logic.ActionsLogic.get_waiting()
+ ]
+
+ # models.Builds
+ builds_list = []
+
+ for build in builds_logic.BuildsLogic.get_waiting():
+ build_dict = build.to_dict(
+ options={'copr': {'owner': {},
+ '__columns_only__': ['id', 'name'],
+ '__included_ids__': False
+ },
+ '__included_ids__': False})
+
+ # return separate build for each chroot this build
+ # is assigned with
+ for chroot in build.chroots:
+ build_dict_copy = build_dict.copy()
+ build_dict_copy['chroot'] = chroot.chroot_name
+ builds_list.append(build_dict_copy)
+
+ return flask.jsonify({'actions': actions_list, 'builds': builds_list})
+
+
+(a)backend_ns.route('/update/', methods=['POST', 'PUT'])
+(a)misc.backend_authenticated
+def update():
+ result = {}
- return flask.jsonify({'actions': [action.to_dict(options={'__columns_except__': ['result', 'message', 'ended_on']}) for action in actions]})
+ for typ, logic_cls in [('actions', actions_logic.ActionsLogic),
+ ('builds', builds_logic.BuildsLogic)]:
+ if typ not in flask.request.json:
+ continue
-# TODO: this is very similar to update_builds, we should pull out the common functionality into a single function
-(a)backend_ns.route('/update_actions/', methods=['POST', 'PUT'])
-(a)misc.backend_authenticated
-def update_actions():
- to_update = {}
- for action in flask.request.json['actions']:
- to_update[action['id']] = action
+ to_update = {}
+ for obj in flask.request.json[typ]:
+ to_update[obj['id']] = obj
- if not to_update:
- return json.dumps({'warning': 'No parsed actions'})
+ existing = {}
+ for obj in logic_cls.get_by_ids(to_update.keys()).all():
+ existing[obj.id] = obj
- existing = {}
- for action in models.Action.query.filter(models.Action.id.in_(to_update.keys())).all():
- existing[action.id] = action
+ non_existing_ids = list(set(to_update.keys()) - set(existing.keys()))
- non_existing_ids = list(set(to_update.keys()) - set(existing.keys()))
+ for i, obj in existing.items():
+ logic_cls.update_state_from_dict(obj, to_update[i])
- for i, action in existing.items():
- existing[i].result = to_update[i]['result']
- existing[i].message = to_update[i]['message']
- existing[i].ended_on = to_update[i]['ended_on']
+ db.session.commit()
- db.session.commit()
+ result.update({'updated_{0}_ids'.format(typ): list(existing.keys()),
+ 'non_existing_{0}_ids'.format(typ): non_existing_ids})
- return flask.jsonify({'updated_actions_ids': list(existing.keys()), 'non_existing_actions_ids': non_existing_ids})
+ return flask.jsonify(result)
diff --git a/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py b/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
index da87f7c..aa35ea3 100644
--- a/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -73,7 +73,7 @@ def copr_new_build(username, coprname):
@login_required
def copr_cancel_build(username, coprname, build_id):
# only the user who ran the build can cancel it
- build = builds_logic.BuildsLogic.get(flask.g.user, build_id).first()
+ build = builds_logic.BuildsLogic.get(build_id).first()
if not build: # hey, this Build doesn't exist
return page_not_found('Build with id {0} does not exist.'.format(build_id))
try:
@@ -90,7 +90,7 @@ def copr_cancel_build(username, coprname, build_id):
@coprs_ns.route('/<username>/<coprname>/repeat_build/<int:build_id>/', methods = ['POST'])
@login_required
def copr_repeat_build(username, coprname, build_id):
- build = builds_logic.BuildsLogic.get(flask.g.user, build_id).first()
+ build = builds_logic.BuildsLogic.get(build_id).first()
copr = coprs_logic.CoprsLogic.get(flask.g.user, username=username, coprname=coprname).first()
if not build: # hey, this Build doesn't exist
10 years, 6 months
[copr] enter_the_matrix: [tests]: fix test_build_logic to handle BuildChroot (9d7f888)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : enter_the_matrix
>---------------------------------------------------------------
commit 9d7f8887043f95b57114ebf68b2b75cee79c3755
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Thu Nov 14 12:50:24 2013 +0100
[tests]: fix test_build_logic to handle BuildChroot
Signed-off-by: Richard Marko <rmarko(a)fedoraproject.org>
>---------------------------------------------------------------
coprs_frontend/tests/coprs_test_case.py | 22 ++++++++++++++++---
.../tests/test_logic/test_builds_logic.py | 2 +-
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/coprs_frontend/tests/coprs_test_case.py b/coprs_frontend/tests/coprs_test_case.py
index 6dc82ea..4685b25 100644
--- a/coprs_frontend/tests/coprs_test_case.py
+++ b/coprs_frontend/tests/coprs_test_case.py
@@ -10,6 +10,7 @@ import coprs
from coprs import helpers
from coprs import models
+from coprs.logic.builds_logic import BuildsLogic
class CoprsTestCase(object):
def setup_method(self, method):
@@ -68,17 +69,20 @@ class CoprsTestCase(object):
if hasattr(self, 'c1'):
cc1 = models.CoprChroot()
cc1.mock_chroot = self.mc1
+ # c1 foocopr with fedora-18-x86_64
self.c1.copr_chroots.append(cc1)
cc2 = models.CoprChroot()
cc2.mock_chroot = self.mc2
cc3 = models.CoprChroot()
cc3.mock_chroot = self.mc3
+ # c2 foocopr with fedora-17-i386 fedora-17-x86_64
self.c2.copr_chroots.append(cc2)
self.c2.copr_chroots.append(cc3)
cc4 = models.CoprChroot()
cc4.mock_chroot = self.mc4
+ # c3 barcopr with fedora-rawhide-i386
self.c3.copr_chroots.append(cc4)
self.db.session.add_all([cc1, cc2, cc3, cc4])
@@ -86,10 +90,20 @@ class CoprsTestCase(object):
@pytest.fixture
def f_builds(self):
- self.b1 = models.Build(copr = self.c1, user = self.u1, chroots = 'fedora-18-x86_64', submitted_on = 50, started_on = 100)
- self.b2 = models.Build(copr = self.c1, user = self.u2, chroots = 'fedora-17-x86_64', submitted_on = 10, ended_on = 150)
- self.b3 = models.Build(copr = self.c2, user = self.u2, chroots = 'fedora-17-x86_64 fedora-17-i386', submitted_on = 10)
- self.b4 = models.Build(copr = self.c2, user = self.u2, chroots = 'fedora-17-x86_64 fedora-17-i386', submitted_on = 100)
+ self.b1 = models.Build(copr = self.c1, user = self.u1, submitted_on = 50, started_on = 100)
+ self.b2 = models.Build(copr = self.c1, user = self.u2, submitted_on = 10, ended_on = 150)
+ self.b3 = models.Build(copr = self.c2, user = self.u2, submitted_on = 10)
+ self.b4 = models.Build(copr = self.c2, user = self.u2, submitted_on = 100)
+
+ for build in [self.b1, self.b2, self.b3, self.b4]:
+ self.db.session.add(build)
+
+ for chroot in build.copr.active_mock_chroots:
+ buildchroot = models.BuildChroot(
+ build=build,
+ mock_chroot=chroot)
+
+ self.db.session.add(buildchroot)
self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
diff --git a/coprs_frontend/tests/test_logic/test_builds_logic.py b/coprs_frontend/tests/test_logic/test_builds_logic.py
index 2a2468b..2fe03a8 100644
--- a/coprs_frontend/tests/test_logic/test_builds_logic.py
+++ b/coprs_frontend/tests/test_logic/test_builds_logic.py
@@ -11,7 +11,7 @@ class TestBuildsLogic(CoprsTestCase):
self.db.session.commit()
b = BuildsLogic.add(self.u2, 'blah blah', self.c2)
self.db.session.commit()
- assert b.chroots == self.mc3.chroot_name
+ assert b.chroots[0].chroot_name == self.mc3.chroot_name
def test_add_raises_if_copr_has_unfinished_actions(self, f_users, f_coprs, f_actions, f_db):
with pytest.raises(ActionInProgressException):
10 years, 6 months
[copr] matrix: 1030493 - [cli] check that at least one chroot is entered (4ef718d)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit 4ef718def796eb20d65b777adebc117cfcecb7b0
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Nov 14 16:16:44 2013 +0100
1030493 - [cli] check that at least one chroot is entered
>---------------------------------------------------------------
copr_cli/subcommands.py | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/copr_cli/subcommands.py b/copr_cli/subcommands.py
index 791bd88..d3db314 100644
--- a/copr_cli/subcommands.py
+++ b/copr_cli/subcommands.py
@@ -8,8 +8,8 @@ output.
import ConfigParser
import json
import os
-
import requests
+import sys
import copr_exceptions
@@ -127,6 +127,9 @@ def listcoprs(username=None):
def create(name, chroots=[], description=None, instructions=None,
repos=None, initial_pkgs=None):
""" Create a new copr. """
+ if chroots is None:
+ print "Error: At least one chroot must be selected"
+ sys.exit(1)
user = get_user()
copr_api_url = get_api_url()
URL = '{0}/coprs/{1}/new/'.format(copr_api_url, user['username'])
10 years, 6 months
[copr] matrix: [frontend] typo (a986c44)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit a986c44fe97232a0cc050fe6770972a920745bcf
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Nov 14 16:11:16 2013 +0100
[frontend] typo
>---------------------------------------------------------------
coprs_frontend/coprs/forms.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/coprs_frontend/coprs/forms.py b/coprs_frontend/coprs/forms.py
index d66fe1d..b2db8e9 100644
--- a/coprs_frontend/coprs/forms.py
+++ b/coprs_frontend/coprs/forms.py
@@ -118,7 +118,7 @@ class CoprFormFactory(object):
if not self.validate_mock_chroots_not_empty():
self._mock_chroots_error = 'At least one chroot' \
- 'must be selected'
+ ' must be selected'
return False
return True
10 years, 6 months
[copr] matrix: fixup! [tests]: fix test_build_logic to handle BuildChroot (0afe730)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit 0afe7302fa8ae701dc6c1d05bd047d8572c62a10
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Thu Nov 14 15:07:44 2013 +0100
fixup! [tests]: fix test_build_logic to handle BuildChroot
>---------------------------------------------------------------
coprs_frontend/tests/coprs_test_case.py | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/coprs_frontend/tests/coprs_test_case.py b/coprs_frontend/tests/coprs_test_case.py
index e7e93c8..4685b25 100644
--- a/coprs_frontend/tests/coprs_test_case.py
+++ b/coprs_frontend/tests/coprs_test_case.py
@@ -10,6 +10,7 @@ import coprs
from coprs import helpers
from coprs import models
+from coprs.logic.builds_logic import BuildsLogic
class CoprsTestCase(object):
def setup_method(self, method):
@@ -94,6 +95,16 @@ class CoprsTestCase(object):
self.b3 = models.Build(copr = self.c2, user = self.u2, submitted_on = 10)
self.b4 = models.Build(copr = self.c2, user = self.u2, submitted_on = 100)
+ for build in [self.b1, self.b2, self.b3, self.b4]:
+ self.db.session.add(build)
+
+ for chroot in build.copr.active_mock_chroots:
+ buildchroot = models.BuildChroot(
+ build=build,
+ mock_chroot=chroot)
+
+ self.db.session.add(buildchroot)
+
self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
@pytest.fixture
10 years, 6 months
[copr] matrix: fixup! [frontend] add ActionsLogic (7bf4240)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit 7bf4240e3b337e577fb9d6d1f45061f0648482aa
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Thu Nov 14 13:04:51 2013 +0100
fixup! [frontend] add ActionsLogic
>---------------------------------------------------------------
coprs_frontend/coprs/logic/actions_logic.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/coprs_frontend/coprs/logic/actions_logic.py b/coprs_frontend/coprs/logic/actions_logic.py
index 6fa6b52..86f2310 100644
--- a/coprs_frontend/coprs/logic/actions_logic.py
+++ b/coprs_frontend/coprs/logic/actions_logic.py
@@ -16,7 +16,7 @@ class ActionsLogic(object):
query = (models.Action.query
.filter(models.Action.result ==
helpers.BackendResultEnum('waiting'))
- .filter(models.Action.type !=
+ .filter(models.Action.action_type !=
helpers.ActionTypeEnum('legal-flag'))
.order_by(models.Action.created_on.asc()))
10 years, 6 months
[copr] matrix: [tests]: fix test_build_logic to handle BuildChroot (51df27a)
by Richard Marko
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit 51df27a964fe320fa3bda893ff66a1c4a6ce6cc8
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Thu Nov 14 12:50:24 2013 +0100
[tests]: fix test_build_logic to handle BuildChroot
Signed-off-by: Richard Marko <rmarko(a)fedoraproject.org>
>---------------------------------------------------------------
coprs_frontend/tests/coprs_test_case.py | 11 +++++++----
.../tests/test_logic/test_builds_logic.py | 2 +-
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/coprs_frontend/tests/coprs_test_case.py b/coprs_frontend/tests/coprs_test_case.py
index 6dc82ea..e7e93c8 100644
--- a/coprs_frontend/tests/coprs_test_case.py
+++ b/coprs_frontend/tests/coprs_test_case.py
@@ -68,17 +68,20 @@ class CoprsTestCase(object):
if hasattr(self, 'c1'):
cc1 = models.CoprChroot()
cc1.mock_chroot = self.mc1
+ # c1 foocopr with fedora-18-x86_64
self.c1.copr_chroots.append(cc1)
cc2 = models.CoprChroot()
cc2.mock_chroot = self.mc2
cc3 = models.CoprChroot()
cc3.mock_chroot = self.mc3
+ # c2 foocopr with fedora-17-i386 fedora-17-x86_64
self.c2.copr_chroots.append(cc2)
self.c2.copr_chroots.append(cc3)
cc4 = models.CoprChroot()
cc4.mock_chroot = self.mc4
+ # c3 barcopr with fedora-rawhide-i386
self.c3.copr_chroots.append(cc4)
self.db.session.add_all([cc1, cc2, cc3, cc4])
@@ -86,10 +89,10 @@ class CoprsTestCase(object):
@pytest.fixture
def f_builds(self):
- self.b1 = models.Build(copr = self.c1, user = self.u1, chroots = 'fedora-18-x86_64', submitted_on = 50, started_on = 100)
- self.b2 = models.Build(copr = self.c1, user = self.u2, chroots = 'fedora-17-x86_64', submitted_on = 10, ended_on = 150)
- self.b3 = models.Build(copr = self.c2, user = self.u2, chroots = 'fedora-17-x86_64 fedora-17-i386', submitted_on = 10)
- self.b4 = models.Build(copr = self.c2, user = self.u2, chroots = 'fedora-17-x86_64 fedora-17-i386', submitted_on = 100)
+ self.b1 = models.Build(copr = self.c1, user = self.u1, submitted_on = 50, started_on = 100)
+ self.b2 = models.Build(copr = self.c1, user = self.u2, submitted_on = 10, ended_on = 150)
+ self.b3 = models.Build(copr = self.c2, user = self.u2, submitted_on = 10)
+ self.b4 = models.Build(copr = self.c2, user = self.u2, submitted_on = 100)
self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
diff --git a/coprs_frontend/tests/test_logic/test_builds_logic.py b/coprs_frontend/tests/test_logic/test_builds_logic.py
index 2a2468b..2fe03a8 100644
--- a/coprs_frontend/tests/test_logic/test_builds_logic.py
+++ b/coprs_frontend/tests/test_logic/test_builds_logic.py
@@ -11,7 +11,7 @@ class TestBuildsLogic(CoprsTestCase):
self.db.session.commit()
b = BuildsLogic.add(self.u2, 'blah blah', self.c2)
self.db.session.commit()
- assert b.chroots == self.mc3.chroot_name
+ assert b.chroots[0].chroot_name == self.mc3.chroot_name
def test_add_raises_if_copr_has_unfinished_actions(self, f_users, f_coprs, f_actions, f_db):
with pytest.raises(ActionInProgressException):
10 years, 6 months
[copr] matrix: [spec] enable/disable test using variable (acfc8e4)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : matrix
>---------------------------------------------------------------
commit acfc8e4390faab57f6d80148ae0759bfa555c5e4
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Nov 14 15:06:09 2013 +0100
[spec] enable/disable test using variable
>---------------------------------------------------------------
copr.spec | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/copr.spec b/copr.spec
index 7599534..5203312 100644
--- a/copr.spec
+++ b/copr.spec
@@ -1,3 +1,4 @@
+%global with_test 0
%if 0%{?rhel} < 7 && 0%{?rhel} > 0
%global _pkgdocdir %{_docdir}/%{name}-%{version}
%endif
@@ -259,13 +260,15 @@ install -d %{buildroot}%{_mandir}/man8
install -p -m 644 man/%{name}-selinux-enable.8 %{buildroot}/%{_mandir}/man8/
install -p -m 644 man/%{name}-selinux-relabel.8 %{buildroot}/%{_mandir}/man8/
-#%check
-#pushd coprs_frontend
-#TMPFILE=$(mktemp)
-#COPR_CONFIG="$(pwd)/config/copr_unit_test.conf" ./manage.py test | tee $TMPFILE
-# remove this when tests are fixed
-#grep "1 failed, 65 passed" $TMPFILE
-#popd
+%check
+%if ! 0%{?with_test:1}
+ pushd coprs_frontend
+ TMPFILE=$(mktemp)
+ COPR_CONFIG="$(pwd)/config/copr_unit_test.conf" ./manage.py test | tee $TMPFILE
+ # remove this when tests are fixed
+ grep "1 failed, 65 passed" $TMPFILE
+ popd
+%endif
%pre backend
getent group copr >/dev/null || groupadd -r copr
10 years, 6 months