[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

abarth at webkit.org abarth at webkit.org
Wed Dec 22 13:56:37 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 4cb1afeb7e48cb4bb3e06dd6cf353ea4a1b69dde
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 30 03:57:30 2010 +0000

    2010-09-29  Adam Barth  <abarth at webkit.org>
    
            Reviewed by Eric Seidel.
    
            SheriffBot should post the list of failing tests to bugs
            https://bugs.webkit.org/show_bug.cgi?id=46871
    
            * Scripts/webkitpy/common/net/buildbot.py:
            * Scripts/webkitpy/common/net/failuremap.py:
            * Scripts/webkitpy/common/net/regressionwindow.py:
            * Scripts/webkitpy/tool/bot/sheriff.py:
            * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
            * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
            * Scripts/webkitpy/tool/commands/queues_unittest.py:
            * Scripts/webkitpy/tool/commands/sheriffbot.py:
            * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
            * Scripts/webkitpy/tool/commands/upload_unittest.py:
            * Scripts/webkitpy/tool/mocktool.py:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 8de808c..b272c77 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,22 @@
+2010-09-29  Adam Barth  <abarth at webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        SheriffBot should post the list of failing tests to bugs
+        https://bugs.webkit.org/show_bug.cgi?id=46871
+
+        * Scripts/webkitpy/common/net/buildbot.py:
+        * Scripts/webkitpy/common/net/failuremap.py:
+        * Scripts/webkitpy/common/net/regressionwindow.py:
+        * Scripts/webkitpy/tool/bot/sheriff.py:
+        * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+        * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+        * Scripts/webkitpy/tool/commands/queues_unittest.py:
+        * Scripts/webkitpy/tool/commands/sheriffbot.py:
+        * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+        * Scripts/webkitpy/tool/commands/upload_unittest.py:
+        * Scripts/webkitpy/tool/mocktool.py:
+
 2010-09-29  Brent Fulgham  <bfulgham at webkit.org>
 
         Reviewed by Martin Robinson, Eric Seidel, and Mark Rowe.
diff --git a/WebKitTools/Scripts/webkitpy/common/net/buildbot.py b/WebKitTools/Scripts/webkitpy/common/net/buildbot.py
index 17f6c7a..1a5f7f7 100644
--- a/WebKitTools/Scripts/webkitpy/common/net/buildbot.py
+++ b/WebKitTools/Scripts/webkitpy/common/net/buildbot.py
@@ -174,14 +174,14 @@ class Builder(object):
                     break
             look_back_count += 1
             if look_back_count > look_back_limit:
-                return RegressionWindow(None, current_build, common_failures=common_failures)
+                return RegressionWindow(None, current_build, failing_tests=common_failures)
             build_after_current_build = current_build
             current_build = current_build.previous_build()
         # We must iterate at least once because red_build is red.
         assert(build_after_current_build)
         # Current build must either be green or have no failures in common
         # with red build, so we've found our failure transition.
-        return RegressionWindow(current_build, build_after_current_build, common_failures=common_failures)
+        return RegressionWindow(current_build, build_after_current_build, failing_tests=common_failures)
 
     def find_blameworthy_regression_window(self, red_build_number, look_back_limit=30, avoid_flakey_tests=True):
         red_build = self.build(red_build_number)
diff --git a/WebKitTools/Scripts/webkitpy/common/net/failuremap.py b/WebKitTools/Scripts/webkitpy/common/net/failuremap.py
index b2efe08..2938d38 100644
--- a/WebKitTools/Scripts/webkitpy/common/net/failuremap.py
+++ b/WebKitTools/Scripts/webkitpy/common/net/failuremap.py
@@ -45,6 +45,17 @@ class FailureMap(object):
                              for failure_info in self._failures]
         return sorted(set(sum(failing_revisions, [])))
 
+    def builders_failing_for(self, revision):
+        return self._builders_failing_because_of([revision])
+
+    def tests_failing_for(self, revision):
+        tests = [failure_info['regression_window'].failing_tests()
+                 for failure_info in self._failures
+                 if revision in failure_info['regression_window'].revisions()]
+        return sorted(set(sum(failing_tests, [])))
+
+    # FIXME: Consider removing this method.  It might now exist only for
+    #        unit testing!
     def revisions_causing_failures(self):
         revision_to_failing_bots = {}
         for failure_info in self._failures:
diff --git a/WebKitTools/Scripts/webkitpy/common/net/regressionwindow.py b/WebKitTools/Scripts/webkitpy/common/net/regressionwindow.py
index fcceb35..ad89815 100644
--- a/WebKitTools/Scripts/webkitpy/common/net/regressionwindow.py
+++ b/WebKitTools/Scripts/webkitpy/common/net/regressionwindow.py
@@ -28,10 +28,10 @@
 
 
 class RegressionWindow(object):
-    def __init__(self, build_before_failure, failing_build, common_failures=None):
+    def __init__(self, build_before_failure, failing_build, failing_tests=None):
         self._build_before_failure = build_before_failure
         self._failing_build = failing_build
-        self._common_failures = common_failures
+        self._failing_tests = failing_tests
         self._revisions = None
 
     def build_before_failure(self):
@@ -40,8 +40,8 @@ class RegressionWindow(object):
     def failing_build(self):
         return self._failing_build
 
-    def common_failures(self):
-        return self._common_failures
+    def failing_tests(self):
+        return self._failing_tests
 
     def revisions(self):
         # Cache revisions to avoid excessive allocations.
diff --git a/WebKitTools/Scripts/webkitpy/tool/bot/sheriff.py b/WebKitTools/Scripts/webkitpy/tool/bot/sheriff.py
index a38c3cf..da506bc 100644
--- a/WebKitTools/Scripts/webkitpy/tool/bot/sheriff.py
+++ b/WebKitTools/Scripts/webkitpy/tool/bot/sheriff.py
@@ -77,55 +77,15 @@ class Sheriff(object):
         ])
         return parse_bug_id(output)
 
-    def _rollout_reason(self, builders):
-        # FIXME: This should explain which layout tests failed
-        # however, that would require Build objects here, either passed
-        # in through failure_info, or through Builder.latest_build.
-        names = [builder.name() for builder in builders]
-        return "Caused builders %s to fail." % join_with_separators(names)
-
-    def post_automatic_rollout_patch(self, commit_info, builders):
-        # For now we're only posting rollout patches for commit-queue patches.
-        commit_bot_email = "eseidel at chromium.org"
-        if commit_bot_email == commit_info.committer_email():
-            try:
-                self.post_rollout_patch(commit_info.revision(),
-                                        self._rollout_reason(builders))
-            except ScriptError, e:
-                log("Failed to create-rollout.")
-
-    def post_blame_comment_on_bug(self, commit_info, builders, blame_list):
+    def post_blame_comment_on_bug(self, commit_info, builders, tests):
         if not commit_info.bug_id():
             return
         comment = "%s might have broken %s" % (
             view_source_url(commit_info.revision()),
             join_with_separators([builder.name() for builder in builders]))
-        if len(blame_list) > 1:
-            comment += "\nThe following changes are on the blame list:\n"
-            comment += "\n".join(map(view_source_url, blame_list))
+        if tests:
+            comment += "\nThe following tests are not passing:\n"
+            comment += "\n".join(tests)
         self._tool.bugs.post_comment_to_bug(commit_info.bug_id(),
                                             comment,
                                             cc=self._sheriffbot.watchers)
-
-    # FIXME: Should some of this logic be on BuildBot?
-    def provoke_flaky_builders(self, revisions_causing_failures):
-        # We force_build builders that are red but have not "failed" (i.e.,
-        # been red twice). We do this to avoid a deadlock situation where a
-        # flaky test blocks the commit-queue and there aren't any other
-        # patches being landed to re-spin the builder.
-        failed_builders = sum([revisions_causing_failures[key] for
-                               key in revisions_causing_failures.keys()], [])
-        failed_builder_names = \
-            set([builder.name() for builder in failed_builders])
-        idle_red_builder_names = \
-            set([builder["name"]
-                 for builder in self._tool.buildbot.idle_red_core_builders()])
-
-        # We only want to provoke these builders if they are idle and have not
-        # yet "failed" (i.e., been red twice) to avoid overloading the bots.
-        flaky_builder_names = idle_red_builder_names - failed_builder_names
-
-        for name in flaky_builder_names:
-            flaky_builder = self._tool.buildbot.builder_with_name(name)
-            flaky_builder.force_build(username=self._sheriffbot.name,
-                                      comments="Probe for flakiness.")
diff --git a/WebKitTools/Scripts/webkitpy/tool/bot/sheriff_unittest.py b/WebKitTools/Scripts/webkitpy/tool/bot/sheriff_unittest.py
index c375ff9..690af1f 100644
--- a/WebKitTools/Scripts/webkitpy/tool/bot/sheriff_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/bot/sheriff_unittest.py
@@ -47,15 +47,6 @@ class MockSheriffBot(object):
 
 
 class SheriffTest(unittest.TestCase):
-    def test_rollout_reason(self):
-        sheriff = Sheriff(MockTool(), MockSheriffBot())
-        builders = [
-            Builder("Foo", None),
-            Builder("Bar", None),
-        ]
-        reason = "Caused builders Foo and Bar to fail."
-        self.assertEquals(sheriff._rollout_reason(builders), reason)
-
     def test_post_blame_comment_on_bug(self):
         def run():
             sheriff = Sheriff(MockTool(), MockSheriffBot())
@@ -68,38 +59,32 @@ class SheriffTest(unittest.TestCase):
             commit_info.revision = lambda: 4321
             # Should do nothing with no bug_id
             sheriff.post_blame_comment_on_bug(commit_info, builders, [])
-            sheriff.post_blame_comment_on_bug(commit_info, builders, [2468, 5646])
+            sheriff.post_blame_comment_on_bug(commit_info, builders, ["mock-test-1", "mock-test-2"])
             # Should try to post a comment to the bug, but MockTool.bugs does nothing.
             commit_info.bug_id = lambda: 1234
             sheriff.post_blame_comment_on_bug(commit_info, builders, [])
-            sheriff.post_blame_comment_on_bug(commit_info, builders, [3432])
-            sheriff.post_blame_comment_on_bug(commit_info, builders, [841, 5646])
+            sheriff.post_blame_comment_on_bug(commit_info, builders, ["mock-test-1"])
+            sheriff.post_blame_comment_on_bug(commit_info, builders, ["mock-test-1", "mock-test-2"])
 
-        expected_stderr = u"MOCK bug comment: bug_id=1234, cc=['watcher at example.com']\n--- Begin comment ---\\http://trac.webkit.org/changeset/4321 might have broken Foo and Bar\n--- End comment ---\n\nMOCK bug comment: bug_id=1234, cc=['watcher at example.com']\n--- Begin comment ---\\http://trac.webkit.org/changeset/4321 might have broken Foo and Bar\n--- End comment ---\n\nMOCK bug comment: bug_id=1234, cc=['watcher at example.com']\n--- Begin comment ---\\http://trac.webkit.org/changeset/4321 might have broken Foo and Bar\nThe following changes are on the blame list:\nhttp://trac.webkit.org/changeset/841\nhttp://trac.webkit.org/changeset/5646\n--- End comment ---\n\n"
-        OutputCapture().assert_outputs(self, run, expected_stderr=expected_stderr)
+        expected_stderr = u"""MOCK bug comment: bug_id=1234, cc=['watcher at example.com']
+--- Begin comment ---
+http://trac.webkit.org/changeset/4321 might have broken Foo and Bar
+--- End comment ---
 
-    def test_provoke_flaky_builders(self):
-        def run():
-            tool = MockTool()
-            tool.buildbot.light_tree_on_fire()
-            sheriff = Sheriff(tool, MockSheriffBot())
-            revisions_causing_failures = {}
-            sheriff.provoke_flaky_builders(revisions_causing_failures)
-        expected_stderr = "MOCK: force_build: name=Builder2, username=mock-sheriff-bot, comments=Probe for flakiness.\n"
-        OutputCapture().assert_outputs(self, run, expected_stderr=expected_stderr)
+MOCK bug comment: bug_id=1234, cc=['watcher at example.com']
+--- Begin comment ---
+http://trac.webkit.org/changeset/4321 might have broken Foo and Bar
+The following tests are not passing:
+mock-test-1
+--- End comment ---
 
-    def test_post_blame_comment_on_bug(self):
-        sheriff = Sheriff(MockTool(), MockSheriffBot())
-        builders = [
-            Builder("Foo", None),
-            Builder("Bar", None),
-        ]
-        commit_info = Mock()
-        commit_info.bug_id = lambda: None
-        commit_info.revision = lambda: 4321
-        commit_info.committer = lambda: None
-        commit_info.committer_email = lambda: "foo at example.com"
-        commit_info.reviewer = lambda: None
-        commit_info.author = lambda: None
-        sheriff.post_automatic_rollout_patch(commit_info, builders)
+MOCK bug comment: bug_id=1234, cc=['watcher at example.com']
+--- Begin comment ---
+http://trac.webkit.org/changeset/4321 might have broken Foo and Bar
+The following tests are not passing:
+mock-test-1
+mock-test-2
+--- End comment ---
 
+"""
+        OutputCapture().assert_outputs(self, run, expected_stderr=expected_stderr)
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
index 3b0ea47..aad59e8 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
@@ -50,7 +50,7 @@ class EarlyWarningSytemTest(QueuesTest):
             "handle_unexpected_error": "Mock error message\n",
             "next_work_item": "MOCK: update_work_items: %(name)s [103]\n" % string_replacemnts,
             "process_work_item": "MOCK: update_status: %(name)s Pass\n" % string_replacemnts,
-            "handle_script_error": "MOCK: update_status: %(name)s ScriptError error message\nMOCK bug comment: bug_id=142, cc=%(watchers)s\n--- Begin comment ---\\Attachment 197 did not build on %(port)s:\nBuild output: http://dummy_url\n--- End comment ---\n\n" % string_replacemnts,
+            "handle_script_error": "MOCK: update_status: %(name)s ScriptError error message\nMOCK bug comment: bug_id=142, cc=%(watchers)s\n--- Begin comment ---\nAttachment 197 did not build on %(port)s:\nBuild output: http://dummy_url\n--- End comment ---\n\n" % string_replacemnts,
         }
         return expected_stderr
 
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/queues_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/queues_unittest.py
index c89a0c0..5a9dc3a 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/queues_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/queues_unittest.py
@@ -320,7 +320,7 @@ class StyleQueueTest(QueuesTest):
             "should_proceed_with_work_item": "MOCK: update_status: style-queue Checking style\n",
             "process_work_item": "MOCK: update_status: style-queue Pass\n",
             "handle_unexpected_error": "Mock error message\n",
-            "handle_script_error": "MOCK: update_status: style-queue ScriptError error message\nMOCK bug comment: bug_id=142, cc=[]\n--- Begin comment ---\\Attachment 197 did not pass style-queue:\n\nScriptError error message\n\nIf any of these errors are false positives, please file a bug against check-webkit-style.\n--- End comment ---\n\n",
+            "handle_script_error": "MOCK: update_status: style-queue ScriptError error message\nMOCK bug comment: bug_id=142, cc=[]\n--- Begin comment ---\nAttachment 197 did not pass style-queue:\n\nScriptError error message\n\nIf any of these errors are false positives, please file a bug against check-webkit-style.\n--- End comment ---\n\n",
         }
         expected_exceptions = {
             "handle_script_error": SystemExit,
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot.py b/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot.py
index cd83c0d..145f485 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot.py
@@ -57,8 +57,8 @@ class SheriffBot(AbstractQueue, StepSequenceErrorHandler):
     def work_item_log_path(self, failure_map):
         return None
 
-    def _is_old_failure(self, svn_revision):
-        return self._tool.status_server.svn_revision(svn_revision)
+    def _is_old_failure(self, revision):
+        return self._tool.status_server.svn_revision(revision)
 
     def next_work_item(self):
         self._irc_bot.process_pending_messages()
@@ -77,24 +77,21 @@ class SheriffBot(AbstractQueue, StepSequenceErrorHandler):
         return True
 
     def process_work_item(self, failure_map):
-        new_failures = failure_map.revisions_causing_failures()
-        blame_list = new_failures.keys()
-        for svn_revision, builders in new_failures.items():
+        failing_revisions = failure_map.failing_revisions()
+        for revision in failing_revisions:
+            builders = failure_map.builders_failing_for(revision)
+            tests = failure_map.tests_failing_for(revision)
             try:
-                commit_info = self._tool.checkout().commit_info_for_revision(svn_revision)
+                commit_info = self._tool.checkout().commit_info_for_revision(revision)
                 if not commit_info:
                     print "FAILED to fetch CommitInfo for r%s, likely missing ChangeLog" % revision
                     continue
                 self._sheriff.post_irc_warning(commit_info, builders)
-                self._sheriff.post_blame_comment_on_bug(commit_info,
-                                                        builders,
-                                                        blame_list)
-                self._sheriff.post_automatic_rollout_patch(commit_info,
-                                                           builders)
+                self._sheriff.post_blame_comment_on_bug(commit_info, builders, tests)
+
             finally:
                 for builder in builders:
-                    self._tool.status_server.update_svn_revision(svn_revision,
-                                                                builder.name())
+                    self._tool.status_server.update_svn_revision(revision, builder.name())
         return True
 
     def handle_unexpected_error(self, failure_map, message):
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot_unittest.py
index 5343ca7..32eb016 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/sheriffbot_unittest.py
@@ -30,8 +30,7 @@ import os
 
 from webkitpy.tool.commands.queuestest import QueuesTest
 from webkitpy.tool.commands.sheriffbot import SheriffBot
-from webkitpy.tool.mocktool import MockBuilder
-from webkitpy.thirdparty.mock import Mock
+from webkitpy.tool.mocktool import *
 
 
 class SheriffBotTest(QueuesTest):
@@ -39,14 +38,19 @@ class SheriffBotTest(QueuesTest):
     builder2 = MockBuilder("Builder2")
 
     def test_sheriff_bot(self):
-        mock_work_item = Mock()
-        mock_work_item.revisions_causing_failures = lambda: {
-            29837: [self.builder1],
-        }
+        mock_work_item = MockFailureMap(MockTool().buildbot)
         expected_stderr = {
             "begin_work_queue": self._default_begin_work_queue_stderr("sheriff-bot", os.getcwd()),
             "next_work_item": "",
-            "process_work_item": "MOCK: irc.post: abarth, darin, eseidel: http://trac.webkit.org/changeset/29837 might have broken Builder1\nMOCK bug comment: bug_id=42, cc=['abarth at webkit.org', 'eric at webkit.org']\n--- Begin comment ---\\http://trac.webkit.org/changeset/29837 might have broken Builder1\n--- End comment ---\n\n",
+            "process_work_item": """MOCK: irc.post: abarth, darin, eseidel: http://trac.webkit.org/changeset/29837 might have broken Builder1
+MOCK bug comment: bug_id=42, cc=['abarth at webkit.org', 'eric at webkit.org']
+--- Begin comment ---
+http://trac.webkit.org/changeset/29837 might have broken Builder1
+The following tests are not passing:
+mock-test-1
+--- End comment ---
+
+""",
             "handle_unexpected_error": "Mock error message\n"
         }
         self.assert_queue_outputs(SheriffBot(), work_item=mock_work_item, expected_stderr=expected_stderr)
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/upload_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/upload_unittest.py
index 5f3f400..887d3b6 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/upload_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/upload_unittest.py
@@ -103,7 +103,7 @@ MOCK: user.open_url: http://example.com/42
         options = Mock()
         options.bug_id = 42
         options.comment = "MOCK comment"
-        expected_stderr = "Bug: <http://example.com/42> Bug with two r+'d and cq+'d patches, one of which has an invalid commit-queue setter.\nRevision: 9876\nMOCK: user.open_url: http://example.com/42\nAdding comment to Bug 42.\nMOCK bug comment: bug_id=42, cc=None\n--- Begin comment ---\\MOCK comment\n\nCommitted r9876: <http://trac.webkit.org/changeset/9876>\n--- End comment ---\n\n"
+        expected_stderr = "Bug: <http://example.com/42> Bug with two r+'d and cq+'d patches, one of which has an invalid commit-queue setter.\nRevision: 9876\nMOCK: user.open_url: http://example.com/42\nAdding comment to Bug 42.\nMOCK bug comment: bug_id=42, cc=None\n--- Begin comment ---\nMOCK comment\n\nCommitted r9876: <http://trac.webkit.org/changeset/9876>\n--- End comment ---\n\n"
         self.assert_execute_outputs(MarkBugFixed(), [], expected_stderr=expected_stderr, tool=tool, options=options)
 
     def test_edit_changelog(self):
diff --git a/WebKitTools/Scripts/webkitpy/tool/mocktool.py b/WebKitTools/Scripts/webkitpy/tool/mocktool.py
index ba52883..03f2864 100644
--- a/WebKitTools/Scripts/webkitpy/tool/mocktool.py
+++ b/WebKitTools/Scripts/webkitpy/tool/mocktool.py
@@ -317,7 +317,7 @@ class MockBugzilla(Mock):
             flag_name, flag_value, attachment_id, comment_text, additional_comment_text))
 
     def post_comment_to_bug(self, bug_id, comment_text, cc=None):
-        log("MOCK bug comment: bug_id=%s, cc=%s\n--- Begin comment ---\%s\n--- End comment ---\n" % (
+        log("MOCK bug comment: bug_id=%s, cc=%s\n--- Begin comment ---\n%s\n--- End comment ---\n" % (
             bug_id, cc, comment_text))
 
     def add_patch_to_bug(self,
@@ -350,7 +350,7 @@ class MockBuilder(object):
             self._name, username, comments))
 
 
-class MockFailureMap():
+class MockFailureMap(object):
     def __init__(self, buildbot):
         self._buildbot = buildbot
 
@@ -365,6 +365,15 @@ class MockFailureMap():
     def filter_out_old_failures(self, is_old_revision):
         pass
 
+    def failing_revisions(self):
+        return [29837]
+
+    def builders_failing_for(self, revision):
+        return [self._buildbot.builder_with_name("Builder1")]
+
+    def tests_failing_for(self, revision):
+        return ["mock-test-1"]
+
 
 class MockBuildBot(object):
     buildbot_host = "dummy_buildbot_host"

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list