summaryrefslogtreecommitdiff
path: root/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-01-11 10:03:25 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-01-11 10:03:25 +0100
commitd11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (patch)
treeb318cf594dc1da2fa48224005945c9157f35bb41 /Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
parent6300a96eca9f152b379f1bcf3d9efdc5572d989a (diff)
downloadqtwebkit-d11f84f5b5cdc0d92a08af01b13472fdd5f9acb9.tar.gz
Imported WebKit commit 75bb2fc5882d2e1b3d5572c2961507996cbca5e3 (http://svn.webkit.org/repository/webkit/trunk@104681)
Diffstat (limited to 'Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py')
-rw-r--r--Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py52
1 files changed, 6 insertions, 46 deletions
diff --git a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
index 7581925b0..644a8219a 100644
--- a/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
+++ b/Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
@@ -287,26 +287,6 @@ class BuildBot(object):
self.buildbot_url = url if url else self._default_url
self._builder_by_name = {}
- # If any core builder is red we should not be landing patches. Other
- # builders should be added to this list once they are known to be
- # reliable.
- # See https://bugs.webkit.org/show_bug.cgi?id=33296 and related bugs.
- self.core_builder_names_regexps = [
- "SnowLeopard.*Build",
- "SnowLeopard.*\(Test",
- "SnowLeopard.*\(WebKit2 Test",
- "Leopard.*\((?:Build|Test)",
- "Windows.*Build",
- "Windows.*\(Test",
- "WinCE",
- "EFL",
- "GTK.*32",
- "GTK.*64",
- "Qt",
- "Chromium.*(Mac|Linux|Win).*Release$",
- "Chromium.*(Mac|Linux|Win).*Release.*\(Tests",
- ]
-
def _parse_last_build_cell(self, builder, cell):
status_link = cell.find('a')
if status_link:
@@ -360,26 +340,10 @@ class BuildBot(object):
return True
return False
- # FIXME: Should move onto Builder
- def _is_core_builder(self, builder_name):
- return self._matches_regexps(builder_name, self.core_builder_names_regexps)
-
# FIXME: This method needs to die, but is used by a unit test at the moment.
def _builder_statuses_with_names_matching_regexps(self, builder_statuses, name_regexps):
return [builder for builder in builder_statuses if self._matches_regexps(builder["name"], name_regexps)]
- def red_core_builders(self):
- return [builder for builder in self.core_builder_statuses() if not builder["is_green"]]
-
- def red_core_builders_names(self):
- return [builder["name"] for builder in self.red_core_builders()]
-
- def idle_red_core_builders(self):
- return [builder for builder in self.red_core_builders() if builder["activity"] == "idle"]
-
- def core_builders_are_green(self):
- return not self.red_core_builders()
-
# FIXME: These _fetch methods should move to a networking class.
def _fetch_build_dictionary(self, builder, build_number):
# Note: filter=1 will remove None and {} and '', which cuts noise but can
@@ -437,9 +401,6 @@ class BuildBot(object):
soup = BeautifulSoup(self._fetch_one_box_per_builder())
return [self._parse_builder_status_from_row(status_row) for status_row in soup.find('table').findAll('tr')]
- def core_builder_statuses(self):
- return [builder for builder in self.builder_statuses() if self._is_core_builder(builder["name"])]
-
def builder_with_name(self, name):
builder = self._builder_by_name.get(name)
if not builder:
@@ -447,11 +408,10 @@ class BuildBot(object):
self._builder_by_name[name] = builder
return builder
- def failure_map(self, only_core_builders=True):
- builder_statuses = self.core_builder_statuses() if only_core_builders else self.builder_statuses()
+ def failure_map(self):
failure_map = FailureMap()
revision_to_failing_bots = {}
- for builder_status in builder_statuses:
+ for builder_status in self.builder_statuses():
if builder_status["is_green"]:
continue
builder = self.builder_with_name(builder_status["name"])
@@ -462,8 +422,8 @@ class BuildBot(object):
# This makes fewer requests than calling Builder.latest_build would. It grabs all builder
# statuses in one request using self.builder_statuses (fetching /one_box_per_builder instead of builder pages).
- def _latest_builds_from_builders(self, only_core_builders=True):
- builder_statuses = self.core_builder_statuses() if only_core_builders else self.builder_statuses()
+ def _latest_builds_from_builders(self):
+ builder_statuses = self.builder_statuses()
return [self.builder_with_name(status["name"]).build(status["build_number"]) for status in builder_statuses]
def _build_at_or_before_revision(self, build, revision):
@@ -472,8 +432,8 @@ class BuildBot(object):
return build
build = build.previous_build()
- def last_green_revision(self, only_core_builders=True):
- builds = self._latest_builds_from_builders(only_core_builders)
+ def last_green_revision(self):
+ builds = self._latest_builds_from_builders()
target_revision = builds[0].revision()
# An alternate way to do this would be to start at one revision and walk backwards
# checking builder.build_for_revision, however build_for_revision is very slow on first load.