Index: Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations.py |
diff --git a/Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations.py b/Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations.py |
index 8e626b22740f85bc8fd0c92af1c006c53309bce5..9b0f5d5dee3f1ecef25fcbbad2adffa6b8c80ce8 100644 |
--- a/Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations.py |
+++ b/Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations.py |
@@ -110,26 +110,39 @@ class BotTestExpectationsFactory(object): |
def _results_json_for_port(self, port_name, builder_category): |
if builder_category == 'deps': |
- builder_name = builders.deps_builder_name_for_port_name(port_name) |
+ builder = builders.deps_builder_name_for_port_name(port_name) |
else: |
- builder_name = builders.builder_name_for_port_name(port_name) |
+ builder = builders.builder_name_for_port_name(port_name) |
- if not builder_name: |
+ if not builder: |
return None |
- results_url = self.RESULTS_URL_PREFIX + urllib.quote(builder_name) |
+ return self._results_json_for_builder(builder) |
+ |
+ def _results_json_for_builder(self, builder): |
+ results_url = self.RESULTS_URL_PREFIX + urllib.quote(builder) |
try: |
_log.debug('Fetching flakiness data from appengine.') |
- return ResultsJSON(builder_name, json.load(urllib2.urlopen(results_url))) |
+ return ResultsJSON(builder, json.load(urllib2.urlopen(results_url))) |
except urllib2.URLError as error: |
_log.warning('Could not retrieve flakiness data from the bot. url: %s', results_url) |
_log.warning(error) |
def expectations_for_port(self, port_name, builder_category='layout'): |
+ # FIXME: This only grabs release builder's flakiness data. If we're running debug, |
+ # when we should grab the debug builder's data. |
+ # FIXME: What should this do if there is no debug builder for a port, e.g. we have |
+ # no debug XP builder? Should it use the release bot or another Windows debug bot? |
+ # At the very least, it should log an error. |
results_json = self._results_json_for_port(port_name, builder_category) |
if not results_json: |
return None |
return BotTestExpectations(results_json) |
+ def expectations_for_builder(self, builder): |
+ results_json = self._results_json_for_builder(builder) |
+ if not results_json: |
+ return None |
+ return BotTestExpectations(results_json) |
class BotTestExpectations(object): |
# FIXME: Get this from the json instead of hard-coding it. |