Esempio n. 1
0
    def test_cmp_smaller(self):
        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)

        self.assertEquals(cmp(c, b), -1)

        self.assertEquals(cmp(d, c), -1)

        self.assertEquals(cmp(e, c), -1)
Esempio n. 2
0
    def get_summary_builds(self, min_age=0):
        """Return last build age, status for each tree/host/compiler.

        :param min_age: Minimum timestamp of builds to report
        :return: iterator over tree, status
        """
        store = self._get_store()
        return ((tree, BuildStatus.__deserialize__(status_str))
                for (tree, status_str) in store.execute("""
SELECT obd.tree, obd.status AS status_str
FROM build obd
INNER JOIN(
    SELECT MAX(age) age, tree, host, compiler
    FROM build
    WHERE age > ?
    GROUP BY tree, host, compiler
) ibd ON obd.age = ibd.age AND
         obd.tree = ibd.tree AND
         obd.host = ibd.host AND
         obd.compiler = ibd.compiler;
""", (min_age, )))
Esempio n. 3
0
    def get_summary_builds(self, min_age=0):
        """Return last build age, status for each tree/host/compiler.

        :param min_age: Minimum timestamp of builds to report
        :return: iterator over tree, status
        """
        store = self._get_store()
        return ((tree, BuildStatus.__deserialize__(status_str))
                for (tree, status_str) in store.execute(
                    """
SELECT obd.tree, obd.status AS status_str
FROM build obd
INNER JOIN(
    SELECT MAX(age) age, tree, host, compiler
    FROM build
    WHERE age > ?
    GROUP BY tree, host, compiler
) ibd ON obd.age = ibd.age AND
         obd.tree = ibd.tree AND
         obd.host = ibd.host AND
         obd.compiler = ibd.compiler;
""", (min_age, )))
Esempio n. 4
0
 def test_disk_full(self):
     status = BuildStatus([("CONFIGURE", 0), ("BUILD", 4)], set(["timeout"]))
     self.assertEquals(
         '<span class="status passed">ok</span>/<span class="status failed">4</span>'
         '(<span class="status failed">timeout</span>)', html_build_status(status))
Esempio n. 5
0
 def test_failed_build(self):
     status = BuildStatus([("CONFIGURE", 0), ("BUILD", 4)])
     self.assertEquals(
         '<span class="status passed">ok</span>/<span class="status failed">4</span>',
         html_build_status(status))
Esempio n. 6
0
 def test_empty(self):
     status = BuildStatus()
     self.assertEquals("?", html_build_status(status))
Esempio n. 7
0
 def assertRegressedSince(self, expected, old_status, new_status):
     (stages1, other_failures1) = old_status
     (stages2, other_failures2) = new_status
     a = BuildStatus(stages1, set(other_failures1))
     b = BuildStatus(stages2, set(other_failures2))
     self.assertEquals(expected, b.regressed_since(a))
Esempio n. 8
0
 def test_str_other_failures(self):
     a = BuildStatus([("CONFIGURE", 3), ("BUILD", 2)], set(["panic"]))
     self.assertEquals("panic", str(a))
Esempio n. 9
0
 def test_str(self):
     a = BuildStatus([("CONFIGURE", 3), ("BUILD", 2)])
     self.assertEquals("3/2", str(a))
Esempio n. 10
0
 def test_cmp_with_other_failures(self):
     d = BuildStatus([], set(["super error"]))
     e = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
     self.assertEquals(cmp(d, e), -1)
Esempio n. 11
0
 def test_cmp_intermediate_errors(self):
     a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
     b = BuildStatus([("CONFIGURE", 2), ("TEST", 7), ("CC_CHECKER", 3)])
     self.assertEquals(cmp(a, b), 1)
Esempio n. 12
0
 def test_cmp_other_failures(self):
     self.assertEquals(cmp(
         BuildStatus((), set(["foo"])), BuildStatus((), set(["foo"]))),
         0)
Esempio n. 13
0
 def test_cmp_empty(self):
     self.assertEquals(cmp(BuildStatus(), BuildStatus()), 0)
Esempio n. 14
0
    def test_cmp_equal(self):
        a = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
        b = BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])

        self.assertEquals(cmp(a, b), 0)