diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-11 10:03:25 +0100 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-11 10:03:25 +0100 |
| commit | d11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (patch) | |
| tree | b318cf594dc1da2fa48224005945c9157f35bb41 /Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py | |
| parent | 6300a96eca9f152b379f1bcf3d9efdc5572d989a (diff) | |
| download | qtwebkit-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.py | 52 |
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. |
