Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1497)

Side by Side Diff: Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py

Issue 638573002: [webkitpy] Merge ChromiumBuildBot class into the BuildBot class. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2009, Google Inc. All rights reserved. 1 # Copyright (c) 2009, Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 def __init__(self, name, buildbot): 47 def __init__(self, name, buildbot):
48 self._name = name 48 self._name = name
49 self._buildbot = buildbot 49 self._buildbot = buildbot
50 self._builds_cache = {} 50 self._builds_cache = {}
51 self._revision_to_build_number = None 51 self._revision_to_build_number = None
52 52
53 def name(self): 53 def name(self):
54 return self._name 54 return self._name
55 55
56 def results_url(self): 56 def results_url(self):
57 return "%s/results/%s" % (self._buildbot.buildbot_url, self.url_encoded_ name()) 57 return config_urls.chromium_results_url_base_for_builder(self._name)
58 58
59 # In addition to per-build results, the build.chromium.org builders also
60 # keep a directory that accumulates test results over many runs.
61 def accumulated_results_url(self): 59 def accumulated_results_url(self):
62 return None 60 return config_urls.chromium_accumulated_results_url_base_for_builder(sel f._name)
63 61
64 def latest_layout_test_results_url(self): 62 def latest_layout_test_results_url(self):
65 return self.accumulated_results_url() or self.latest_cached_build().resu lts_url(); 63 return self.accumulated_results_url() or self.latest_cached_build().resu lts_url();
66 64
67 @memoized 65 @memoized
68 def latest_layout_test_results(self): 66 def latest_layout_test_results(self):
69 return self.fetch_layout_test_results(self.latest_layout_test_results_ur l()) 67 return self.fetch_layout_test_results(self.latest_layout_test_results_ur l())
70 68
71 def _fetch_file_from_results(self, results_url, file_name): 69 def _fetch_file_from_results(self, results_url, file_name):
72 # It seems this can return None if the url redirects and then returns 40 4. 70 # It seems this can return None if the url redirects and then returns 40 4.
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 return self._is_green 208 return self._is_green
211 209
212 def previous_build(self): 210 def previous_build(self):
213 # previous_build() allows callers to avoid assuming build numbers are se quential. 211 # previous_build() allows callers to avoid assuming build numbers are se quential.
214 # They may not be sequential across all master changes, or when non-trun k builds are made. 212 # They may not be sequential across all master changes, or when non-trun k builds are made.
215 return self._builder.build(self._number - 1) 213 return self._builder.build(self._number - 1)
216 214
217 215
218 class BuildBot(object): 216 class BuildBot(object):
219 _builder_factory = Builder 217 _builder_factory = Builder
220 _default_url = config_urls.buildbot_url 218 _default_url = config_urls.chromium_buildbot_url
221 219
222 def __init__(self, url=None): 220 def __init__(self, url=None):
223 self.buildbot_url = url if url else self._default_url 221 self.buildbot_url = url if url else self._default_url
224 self._builder_by_name = {} 222 self._builder_by_name = {}
225 223
226 def _parse_last_build_cell(self, builder, cell): 224 def _parse_last_build_cell(self, builder, cell):
227 status_link = cell.find('a') 225 status_link = cell.find('a')
228 if status_link: 226 if status_link:
229 # Will be either a revision number or a build number 227 # Will be either a revision number or a build number
230 revision_string = status_link.string 228 revision_string = status_link.string
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 395
398 builders_succeeded_in_past = set() 396 builders_succeeded_in_past = set()
399 for past_revision in revisions_in_order[i:]: 397 for past_revision in revisions_in_order[i:]:
400 if not revision_statuses[past_revision]: 398 if not revision_statuses[past_revision]:
401 break 399 break
402 builders_succeeded_in_past = builders_succeeded_in_past.union(re vision_statuses[past_revision]) 400 builders_succeeded_in_past = builders_succeeded_in_past.union(re vision_statuses[past_revision])
403 401
404 if len(builders_succeeded_in_future) == len(builder_revisions) and l en(builders_succeeded_in_past) == len(builder_revisions): 402 if len(builders_succeeded_in_future) == len(builder_revisions) and l en(builders_succeeded_in_past) == len(builder_revisions):
405 return revision 403 return revision
406 return None 404 return None
OLDNEW
« no previous file with comments | « Tools/Scripts/webkitpy/common/host_mock.py ('k') | Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698