The branch, master has been updated via fa581f9 Add get_last_builds tests. from c6a5101 Add get_tree_builds.
http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit fa581f99b057b52143b8984aba976d6223c5f637 Author: Jelmer Vernooij <jel...@samba.org> Date: Fri Nov 19 02:35:00 2010 +0100 Add get_last_builds tests. ----------------------------------------------------------------------- Summary of changes: buildfarm/sqldb.py | 2 +- buildfarm/tests/test_buildfarm.py | 30 ++++++++++++++++++++++++------ buildfarm/web/__init__.py | 2 +- 3 files changed, 26 insertions(+), 8 deletions(-) Changeset truncated at 500 lines: diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py index 47bfa79..f816dd6 100644 --- a/buildfarm/sqldb.py +++ b/buildfarm/sqldb.py @@ -253,7 +253,7 @@ class StormCachingBuildFarm(BuildFarm): StormBuild.tree == tree).group_by(StormBuild.compiler, StormBuild.host) def get_last_builds(self): - return self._get_store().find(StormBuild) + return self._get_store().find(StormBuild).group_by(StormBuild.tree, StormBuild.compiler, StormBuild.host) def commit(self): self.store.commit() diff --git a/buildfarm/tests/test_buildfarm.py b/buildfarm/tests/test_buildfarm.py index 045348a..986462f 100644 --- a/buildfarm/tests/test_buildfarm.py +++ b/buildfarm/tests/test_buildfarm.py @@ -76,7 +76,8 @@ class BuildFarmTestBase(object): def setUp(self): self.write_compilers(["cc"]) self.write_hosts({"myhost": "Fedora"}) - self.write_trees({"trivial": {"scm": "git", "repo": "git://foo", "branch": "master"}}) + self.write_trees({"trivial": {"scm": "git", "repo": "git://foo", "branch": "master"}, + "other": {"scm": "git", "repo": "other.git", "branch": "HEAD"}}) def test_get_new_builds_empty(self): self.assertEquals([], list(self.x.get_new_builds())) @@ -88,17 +89,34 @@ class BuildFarmTestBase(object): self.assertEquals([], list(self.x.get_tree_builds("trival"))) def test_get_tree_builds(self): - path = self.upload_mock_logfile(self.x.builds, "tdb", "charis", "cc", - "BUILD COMMIT REVISION: 12\n") - path = self.upload_mock_logfile(self.x.builds, "tdb", "charis", "cc", + path = self.upload_mock_logfile(self.x.builds, "tdb", "myhost", "cc", + "BUILD COMMIT REVISION: 12\n") + path = self.upload_mock_logfile(self.x.builds, "tdb", "myhost", "cc", "BUILD COMMIT REVISION: 13\n") - path = self.upload_mock_logfile(self.x.builds, "tdb", "charis", "cc", - "BUILD COMMIT REVISION: 42\n") + path = self.upload_mock_logfile(self.x.builds, "tdb", "myhost", "cc", + "BUILD COMMIT REVISION: 42\n") builds = list(self.x.get_tree_builds("tdb")) self.assertEquals(1, len(builds)) build = builds[0] self.assertEquals("42", build.revision) + def test_get_last_builds(self): + path = self.upload_mock_logfile(self.x.builds, "other", "myhost", "cc", + "BUILD COMMIT REVISION: 12\n") + path = self.upload_mock_logfile(self.x.builds, "trivial", "myhost", "cc", + "BUILD COMMIT REVISION: 13\n") + path = self.upload_mock_logfile(self.x.builds, "trivial", "myhost", "cc", + "BUILD COMMIT REVISION: 42\n") + builds = list(self.x.get_last_builds()) + builds.sort() + self.assertEquals(2, len(builds)) + build = builds[0] + self.assertEquals("42", build.revision_details()[0]) + self.assertEquals("trivial", build.tree) + build = builds[1] + self.assertEquals("12", build.revision_details()[0]) + self.assertEquals("other", build.tree) + def test_get_host_builds_empty(self): self.assertEquals([], list(self.x.get_host_builds("myhost"))) diff --git a/buildfarm/web/__init__.py b/buildfarm/web/__init__.py index 591d1b0..848f60d 100755 --- a/buildfarm/web/__init__.py +++ b/buildfarm/web/__init__.py @@ -591,7 +591,7 @@ class ViewRecentBuildsPage(BuildFarmPage): assert tree in self.buildfarm.trees, "not a build tree" assert sort_by in cmp_funcs, "not a valid sort" - for build in self.buildfarm.get_last_builds(tree=tree): + for build in self.buildfarm.get_tree_builds(tree=tree): try: host = self.buildfarm.hostdb.host(build.host) except hostdb.NoSuchHost: -- build.samba.org