---
tests/test_testing.py | 69 +++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 61 insertions(+), 8 deletions(-)
diff --git a/tests/test_testing.py b/tests/test_testing.py
index e525e1d..827d971 100755
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -30,6 +30,9 @@ class TestingTestCase(PatchewTestCase, metaclass=abc.ABCMeta):
def setUp(self):
self.create_superuser()
self.p = self.add_project("QEMU", "qemu-devel@nongnu.org")
+ self.p.git = "dummy repo"
+ self.p.save()
+
self.PROJECT_BASE = '%sprojects/%d/' % (self.REST_BASE, self.p.id)
create_test(self.p, "a")
@@ -158,15 +161,35 @@ class MessageTestingTest(TestingTestCase):
return self.api_client.get('%sseries/%s/results/testing.%s/' % (
self.PROJECT_BASE, self.msg.message_id, test_name))
+class ProjectTestingTest(TestingTestCase):
+
+ def setUp(self):
+ super(ProjectTestingTest, self).setUp()
+ self.p.set_property("git.head", "5678")
+ self.p.set_property("testing.tested-head", "1234")
+ self.p.set_property("testing.ready", 1)
+
+ def do_testing_done(self, log=None, **report):
+ self._do_testing_done(self.p, log, report)
+
+ def do_testing_report(self, **report):
+ r = super(ProjectTestingTest, self).do_testing_report(**report)
+ self.assertEquals(r['type'], 'project')
+ return r
+
+ def get_test_result(self, test_name):
+ return self.api_client.get('%sresults/testing.%s/' % (
+ self.PROJECT_BASE, test_name))
+
class TesterTest(PatchewTestCase):
def setUp(self):
self.create_superuser()
- p1 = self.add_project("QEMU", "qemu-devel@nongnu.org")
- create_test(p1, "a")
- p2 = self.add_project("UMEQ", "qemu-devel@nongnu.org")
- create_test(p2, "b")
+ self.p1 = self.add_project("QEMU", "qemu-devel@nongnu.org")
+ create_test(self.p1, "a")
+ self.p2 = self.add_project("UMEQ", "qemu-devel@nongnu.org")
+ create_test(self.p2, "b")
self.cli_login()
self.cli_import('0001-simple-patch.mbox.gz')
@@ -176,10 +199,9 @@ class TesterTest(PatchewTestCase):
os.mkdir(self.repo)
subprocess.check_output(["git", "init"], cwd=self.repo)
for f in ["foo", "bar"]:
- subprocess.check_output(["touch", f], cwd=self.repo)
- subprocess.check_output(["git", "add", f], cwd=self.repo)
- subprocess.check_output(["git", "commit", "-m", "add " + f],
- cwd=self.repo)
+ self.add_file_and_commit(f)
+ self.update_head(self.p1)
+ self.update_head(self.p2)
base = subprocess.check_output(["git", "rev-parse", "HEAD~1"],
cwd=self.repo).decode()
subprocess.check_output(["git", "tag", "test"], cwd=self.repo)
@@ -189,6 +211,17 @@ class TesterTest(PatchewTestCase):
msg.set_property("git.tag", "test")
msg.set_property("git.base", base)
+ def add_file_and_commit(self, f):
+ subprocess.check_output(["touch", f], cwd=self.repo)
+ subprocess.check_output(["git", "add", f], cwd=self.repo)
+ subprocess.check_output(["git", "commit", "-m", "add " + f],
+ cwd=self.repo)
+
+ def update_head(self, p):
+ head = subprocess.check_output(["git", "rev-parse", "HEAD"],
+ cwd=self.repo).decode()
+ p.set_property("git.head", head)
+
def test_tester(self):
self.cli_login()
out, err = self.check_cli(["tester", "-p", "QEMU,UMEQ",
@@ -210,6 +243,26 @@ class TesterTest(PatchewTestCase):
self.assertIn("Nothing to test", out)
self.cli_logout()
+ def test_tester_project(self):
+ self.cli_login()
+ out, err = self.check_cli(["tester", "-p", "QEMU,UMEQ",
+ "--no-wait"])
+ self.assertIn("Project: QEMU\n", out)
+ self.assertIn("Project: UMEQ\n", out)
+
+ self.p1.git = self.repo
+ self.p1.save()
+ self.add_file_and_commit("baz")
+ self.update_head(self.p1)
+ out, err = self.check_cli(["tester", "-p", "QEMU,UMEQ",
+ "--no-wait", "-N", "1"])
+ self.assertIn("Project: QEMU\n", out)
+ self.assertIn("'type': 'project'", out)
+ out, err = self.check_cli(["tester", "-p", "QEMU,UMEQ",
+ "--no-wait", "-N", "1"])
+ self.assertIn("Nothing to test", out)
+ self.cli_logout()
+
# do not run tests on the abstract class
del TestingTestCase
--
2.16.2
_______________________________________________
Patchew-devel mailing list
Patchew-devel@redhat.com
https://www.redhat.com/mailman/listinfo/patchew-devel