Rename data -> build.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 22 Nov 2010 21:50:38 +0000 (22:50 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 22 Nov 2010 21:50:38 +0000 (22:50 +0100)
buildfarm/__init__.py
buildfarm/build.py [moved from buildfarm/data.py with 100% similarity]
buildfarm/sqldb.py
buildfarm/tests/__init__.py
buildfarm/tests/test_build.py [moved from buildfarm/tests/test_data.py with 81% similarity]
buildfarm/tests/test_buildfarm.py
buildfarm/tests/test_sqldb.py
buildfarm/web/__init__.py
buildfarm/web/tests/test_status.py
import-and-analyse.py
tools/fix.py

index 68c7919875cf6b1a517274df431ca87d4c368d43..bc5f4154b5f069376cb00611b4737ce913eceb8c 100644 (file)
@@ -94,14 +94,14 @@ class BuildFarm(object):
         return "%s(%r)" % (self.__class__.__name__, self.path)
 
     def _open_build_results(self):
-        from buildfarm import data
+        from buildfarm.build import BuildResultStore
         path = os.path.join(self.path, "data", "oldrevs")
-        return data.BuildResultStore(path)
+        return BuildResultStore(path)
 
     def _open_upload_build_results(self):
-        from buildfarm import data
+        from buildfarm.build import UploadBuildResultStore
         path = os.path.join(self.path, "data", "upload")
-        return data.UploadBuildResultStore(path)
+        return UploadBuildResultStore(path)
 
     def _open_hostdb(self):
         from buildfarm import hostdb
@@ -116,13 +116,13 @@ class BuildFarm(object):
 
     def lcov_status(self, tree):
         """get status of build"""
-        from buildfarm import data
+        from buildfarm.build import NoSuchBuildError
         file = os.path.join(self.lcovdir, self.LCOVHOST, tree, "index.html")
         try:
             lcov_html = open(file, 'r')
         except (OSError, IOError):
             # File does not exist
-            raise data.NoSuchBuildError(tree, self.LCOVHOST, "lcov")
+            raise NoSuchBuildError(tree, self.LCOVHOST, "lcov")
         try:
             return lcov_extract_percentage(lcov_html)
         finally:
@@ -158,13 +158,13 @@ class BuildFarm(object):
         return max([build.upload_time for build in self.get_host_builds(host)])
 
     def get_host_builds(self, host):
-        from buildfarm import data
+        from buildfarm.build import NoSuchBuildError
         ret = []
         for compiler in self.compilers:
             for tree in sorted(self.trees.keys()):
                 try:
                     ret.append(self.get_build(tree, host, compiler))
-                except data.NoSuchBuildError:
+                except NoSuchBuildError:
                     pass
         ret.sort(reverse=True)
         return ret
similarity index 100%
rename from buildfarm/data.py
rename to buildfarm/build.py
index 56be24b403ef15d4bfc02edc59a9c74b24cbede6..95598cf6c4186b284e318f0666d57825de4d3bf0 100644 (file)
@@ -21,7 +21,7 @@ from buildfarm import (
     BuildFarm,
     Tree,
     )
-from buildfarm.data import (
+from buildfarm.build import (
     Build,
     BuildResultStore,
     BuildStatus,
index bef98f87d1e4ed7f05bbed6a53799fa001b1a351..7d9e4041178e8117a8a833003012c3e09eb30346 100644 (file)
@@ -15,7 +15,7 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-from buildfarm.data import Build
+from buildfarm.build import Build
 from buildfarm.sqldb import setup_schema
 import os
 from storm import database
similarity index 81%
rename from buildfarm/tests/test_data.py
rename to buildfarm/tests/test_build.py
index 02ae90381e645553586fba44b45c46a5bf3f0639..2dce9a36050b76b77e046389e671c6df1bf4a5f4 100755 (executable)
@@ -20,7 +20,14 @@ import os
 import testtools
 import unittest
 
-from buildfarm import data
+from buildfarm.build import (
+    Build,
+    BuildResultStore,
+    BuildStatus,
+    NoSuchBuildError,
+    UploadBuildResultStore,
+    build_status_from_logs,
+    )
 
 from buildfarm.tests import BuildFarmTestCase
 
@@ -29,7 +36,7 @@ class NonexistantTests(unittest.TestCase):
 
     def test_nonexistant(self):
         self.assertRaises(
-            Exception, data.BuildResultStore, "somedirthatdoesn'texist", None)
+            Exception, BuildResultStore, "somedirthatdoesn'texist", None)
 
 
 class BuildResultStoreTestBase(object):
@@ -46,7 +53,7 @@ class BuildResultStoreTestBase(object):
         logname = build.basename + ".log"
         build.remove()
         self.assertFalse(os.path.exists(logname))
-        self.assertRaises(data.NoSuchBuildError, self.x.get_build, "tdb", "charis", "cc", "12")
+        self.assertRaises(NoSuchBuildError, self.x.get_build, "tdb", "charis", "cc", "12")
 
     def test_build_repr(self):
         path = self.upload_mock_logfile(self.x, "tdb", "charis", "cc", 
@@ -55,7 +62,7 @@ class BuildResultStoreTestBase(object):
         self.assertEquals("<%s: revision 12 of tdb on charis using cc>" % build.__class__.__name__, repr(build))
 
     def test_get_build_nonexistant(self):
-        self.assertRaises(data.NoSuchBuildError, self.x.get_build, "tdb",
+        self.assertRaises(NoSuchBuildError, self.x.get_build, "tdb",
             "charis", "cc", "12")
 
     def test_build_upload_time(self):
@@ -120,7 +127,7 @@ error3""")
         path = self.create_mock_logfile("tdb", "charis", "cc", contents="""
 BUILD COMMIT REVISION: myrev
 """)
-        build = data.Build(path[:-4], "tdb", "charis", "cc")
+        build = Build(path[:-4], "tdb", "charis", "cc")
         self.x.upload_build(build)
         uploaded_build = self.x.get_build("tdb", "charis", "cc", "myrev")
         self.assertEquals(uploaded_build.log_checksum(), build.log_checksum())
@@ -128,14 +135,14 @@ BUILD COMMIT REVISION: myrev
     def test_upload_build_no_rev(self):
         path = self.create_mock_logfile("tdb", "charis", "cc", contents="""
 """)
-        build = data.Build(path[:-4], "tdb", "charis", "cc")
+        build = Build(path[:-4], "tdb", "charis", "cc")
         self.assertRaises(Exception, self.x.upload_build, build)
 
     def test_get_previous_revision(self):
-        self.assertRaises(data.NoSuchBuildError, self.x.get_previous_revision, "tdb", "charis", "cc", "12")
+        self.assertRaises(NoSuchBuildError, self.x.get_previous_revision, "tdb", "charis", "cc", "12")
 
     def test_get_latest_revision_none(self):
-        self.assertRaises(data.NoSuchBuildError, self.x.get_latest_revision, "tdb", "charis", "cc")
+        self.assertRaises(NoSuchBuildError, self.x.get_latest_revision, "tdb", "charis", "cc")
 
     def test_get_old_builds_none(self):
         self.assertEquals([],
@@ -146,13 +153,13 @@ BUILD COMMIT REVISION: myrev
             contents="""
 BUILD COMMIT REVISION: 12
 """)
-        build = data.Build(path[:-4], "tdb", "charis", "cc")
+        build = Build(path[:-4], "tdb", "charis", "cc")
         b1 = self.x.upload_build(build)
         path = self.create_mock_logfile("tdb", "charis", "cc",
             contents="""
 BUILD COMMIT REVISION: 15
 """)
-        build = data.Build(path[:-4], "tdb", "charis", "cc")
+        build = Build(path[:-4], "tdb", "charis", "cc")
         b2 = self.x.upload_build(build)
         path = self.create_mock_logfile("tdb", "charis", "cc",
             contents="""
@@ -167,14 +174,14 @@ class BuildResultStoreTests(BuildFarmTestCase,BuildResultStoreTestBase):
     def setUp(self):
         super(BuildResultStoreTests, self).setUp()
 
-        self.x = data.BuildResultStore(
+        self.x = BuildResultStore(
             os.path.join(self.path, "data", "oldrevs"))
 
 
 class BuildStatusFromLogs(testtools.TestCase):
 
     def parse_logs(self, log, err):
-        return data.build_status_from_logs(StringIO(log), StringIO(err))
+        return build_status_from_logs(StringIO(log), StringIO(err))
 
     def test_nothing(self):
         s = self.parse_logs("", "")
@@ -248,30 +255,30 @@ CC_CHECKER STATUS:        2
 class BuildStatusTest(testtools.TestCase):
 
     def test_cmp_equal(self):
-        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
-        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        b = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
 
         self.assertEquals(cmp(a, b), 0)
 
     def test_cmp_empty(self):
-        self.assertEquals(cmp(data.BuildStatus(), data.BuildStatus()), 0)
+        self.assertEquals(cmp(BuildStatus(), BuildStatus()), 0)
 
     def test_cmp_other_failures(self):
         self.assertEquals(cmp(
-            data.BuildStatus((), set(["foo"])), data.BuildStatus((), set(["foo"]))),
+            BuildStatus((), set(["foo"])), BuildStatus((), set(["foo"]))),
             0)
 
     def test_cmp_intermediate_errors(self):
-        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
-        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 7), ("CC_CHECKER", 3)])
+        a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
+        b = BuildStatus([("CONFIGURE", 2), ("TEST", 7), ("CC_CHECKER", 3)])
         self.assertEquals(cmp(a, b), 1)
 
     def test_cmp_bigger(self):
-        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
-        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
-        c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
-        d = data.BuildStatus([], set(["super error"]))
-        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
+        a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
+        b = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        c = BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
+        d = BuildStatus([], set(["super error"]))
+        e = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
 
         # less stage means smaller, more error/higher error code means smaller as well
         self.assertEquals(cmp(b, a), 1)
@@ -283,11 +290,11 @@ class BuildStatusTest(testtools.TestCase):
         self.assertEquals(cmp(b, e), 1)
 
     def test_cmp_smaller(self):
-        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
-        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)])
-        c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
-        d = data.BuildStatus([], set(["super error"]))
-        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
+        a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
+        b = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)])
+        c = BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
+        d = BuildStatus([], set(["super error"]))
+        e = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
 
         # less stage means smaller, more error/higher error code means smaller as well
         self.assertEquals(cmp(a, b), -1)
@@ -299,16 +306,16 @@ class BuildStatusTest(testtools.TestCase):
         self.assertEquals(cmp(e, c), -1)
 
     def test_cmp_with_other_failures(self):
-        d = data.BuildStatus([], set(["super error"]))
-        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
+        d = BuildStatus([], set(["super error"]))
+        e = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
         self.assertEquals(cmp(d, e), -1)
 
     def test_str(self):
-        a = data.BuildStatus([("CONFIGURE", 3), ("BUILD", 2)])
+        a = BuildStatus([("CONFIGURE", 3), ("BUILD", 2)])
         self.assertEquals("3/2", str(a))
 
     def test_str_other_failures(self):
-        a = data.BuildStatus([("CONFIGURE", 3), ("BUILD", 2)], set(["panic"]))
+        a = BuildStatus([("CONFIGURE", 3), ("BUILD", 2)], set(["panic"]))
         self.assertEquals("panic", str(a))
 
 
@@ -317,8 +324,8 @@ class BuildStatusRegressedSinceTests(testtools.TestCase):
     def assertRegressedSince(self, expected, old_status, new_status):
         (stages1, other_failures1) = old_status
         (stages2, other_failures2) = new_status
-        a = data.BuildStatus(stages1, set(other_failures1))
-        b = data.BuildStatus(stages2, set(other_failures2))
+        a = BuildStatus(stages1, set(other_failures1))
+        b = BuildStatus(stages2, set(other_failures2))
         self.assertEquals(expected, b.regressed_since(a))
 
     def test_same(self):
@@ -380,7 +387,7 @@ class UploadBuildResultStoreTests(UploadBuildResultStoreTestBase,BuildFarmTestCa
     def setUp(self):
         super(UploadBuildResultStoreTests, self).setUp()
 
-        self.x = data.UploadBuildResultStore(
+        self.x = UploadBuildResultStore(
             os.path.join(self.path, "data", "upload"))
 
 
index e213f904c4aef49c2d2d34481b2c6075b9e7037e..70b8cce079872e735159f71f3afee0d51b25a1e6 100644 (file)
@@ -17,9 +17,9 @@
 
 from buildfarm import (
     BuildFarm,
-    data,
     read_trees_from_conf,
     )
+from buildfarm.build import NoSuchBuildError
 from buildfarm.tests import BuildFarmTestCase
 
 import os
@@ -118,7 +118,7 @@ class BuildFarmTestBase(object):
         self.assertEquals([], list(self.x.get_host_builds("myhost")))
 
     def test_lcov_status_none(self):
-        self.assertRaises(data.NoSuchBuildError, self.x.lcov_status, "trivial")
+        self.assertRaises(NoSuchBuildError, self.x.lcov_status, "trivial")
 
     def test_tree(self):
         self.assertEquals("trivial", self.x.trees["trivial"].name)
index d43bb96573e7372dd42cfb60b45d00803345e345..0b5dc64b599cca5370852b3e8a27993eda0f237b 100644 (file)
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-from buildfarm.data import (
+from buildfarm.build import (
     Build,
     NoSuchBuildError,
     )
 from buildfarm.tests import BuildFarmTestCase
 from buildfarm.tests.test_buildfarm import BuildFarmTestBase
-from buildfarm.tests.test_data import BuildResultStoreTestBase
+from buildfarm.tests.test_build import BuildResultStoreTestBase
 from buildfarm.tests.test_hostdb import HostDatabaseTests
 from buildfarm.sqldb import (
     StormHostDatabase,
index f15441380dc0ae06dfe4b8eb9ced9fe2d19c78d6..3069be483e5231cd5aaf00197ede757d724f499f 100755 (executable)
@@ -35,10 +35,13 @@ from collections import defaultdict
 import os
 
 from buildfarm import (
-    data,
     hostdb,
     util,
     )
+from buildfarm.build import (
+    LogFileMissing,
+    NoSuchBuildError,
+    )
 
 import cgi
 from pygments import highlight
@@ -400,7 +403,7 @@ class ViewBuildPage(BuildFarmPage):
         try:
             build = self.buildfarm.get_build(tree, host, compiler, rev,
                 checksum=checksum)
-        except data.NoSuchBuildError:
+        except NoSuchBuildError:
             yield "No such build: %s on %s with %s, rev %r, checksum %r" % (
                 tree, host, compiler, rev, checksum)
             return
@@ -410,7 +413,7 @@ class ViewBuildPage(BuildFarmPage):
                 log = f.read()
             finally:
                 f.close()
-        except data.LogFileMissing:
+        except LogFileMissing:
             log = None
         f = build.read_err()
         try:
@@ -720,7 +723,7 @@ class ViewSummaryPage(BuildFarmPage):
             yield "%d</td>" % panic_count[tree]
             try:
                 lcov_status = self.buildfarm.lcov_status(tree)
-            except data.NoSuchBuildError:
+            except NoSuchBuildError:
                 yield "<td></td>"
             else:
                 if lcov_status is not None:
index a1450d3c32e3f2f32fbc9821be37f1afbb61928a..766538e98f318c9df4592b1dae911662a1b39936 100644 (file)
@@ -15,7 +15,7 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-from buildfarm.data import BuildStatus
+from buildfarm.build import BuildStatus
 from buildfarm.web import html_build_status
 
 import testtools
index 9e24ebe81ffc68fc5e71aee6a444f34302640a35..3d54e65f2a8f6adbcde79c91bdb537fa0d3ed7e1 100755 (executable)
@@ -10,7 +10,10 @@ some mail chastising the possible culprits when the build fails, based
 on recent commits.
 """
 
-from buildfarm import data
+from buildfarm.build import (
+    MissingRevisionInfo,
+    NoSuchBuildError,
+    )
 from buildfarm.sqldb import StormCachingBuildFarm
 from email.mime.text import MIMEText
 import logging
@@ -97,13 +100,13 @@ for build in buildfarm.get_new_builds():
     if not opts.dry_run:
         try:
             build = buildfarm.builds.upload_build(build)
-        except data.MissingRevisionInfo:
+        except MissingRevisionInfo:
             print "No revision info in %r, skipping" % build
             continue
 
     try:
         rev = build.revision_details()
-    except data.MissingRevisionInfo:
+    except MissingRevisionInfo:
         print "No revision info in %r, skipping" % build
         continue
 
@@ -117,7 +120,7 @@ for build in buildfarm.get_new_builds():
             prev_rev = buildfarm.builds.get_latest_revision(build.tree, build.host, build.compiler)
         else:
             prev_rev = buildfarm.builds.get_previous_revision(build.tree, build.host, build.compiler, rev)
-    except data.NoSuchBuildError:
+    except NoSuchBuildError:
         if opts.verbose >= 1:
             print "Unable to find previous build for %s,%s,%s" % (build.tree, build.host, build.compiler)
         # Can't send a nastygram until there are 2 builds..
@@ -125,7 +128,7 @@ for build in buildfarm.get_new_builds():
         try:
             assert prev_rev is not None
             prev_build = buildfarm.builds.get_build(build.tree, build.host, build.compiler, prev_rev)
-        except data.NoSuchBuildError:
+        except NoSuchBuildError:
             if opts.verbose >= 1:
                 print "Previous build %s has disappeared" % prev_build
         else:
index c57cf6c1d511877da8f9677540d4cfbd961b46f8..31c920df0d1adbfed316d8c764fbc6e9aaed7d07 100755 (executable)
@@ -35,6 +35,7 @@ for build in store.find(StormBuild, StormBuild.status_str == None):
     build.status_str = status.__serialize__()
     print "Updating status for %r" % build
 
+
 for build in store.find(StormBuild, StormBuild.revision == None):
     try:
         log = build.read_log()