Index: gm/rebaseline_server/results.py |
=================================================================== |
--- gm/rebaseline_server/results.py (revision 11573) |
+++ gm/rebaseline_server/results.py (working copy) |
@@ -124,6 +124,13 @@ |
""" |
test_data = [] |
category_dict = {} |
+ Results._EnsureIncludedInCategoryDict(category_dict, 'resultType', [ |
+ gm_json.JSONKEY_ACTUALRESULTS_FAILED, |
+ gm_json.JSONKEY_ACTUALRESULTS_FAILUREIGNORED, |
+ gm_json.JSONKEY_ACTUALRESULTS_NOCOMPARISON, |
+ gm_json.JSONKEY_ACTUALRESULTS_SUCCEEDED, |
+ ]) |
+ |
for builder in sorted(actual_builder_dicts.keys()): |
actual_results_for_this_builder = ( |
actual_builder_dicts[builder][gm_json.JSONKEY_ACTUALRESULTS]) |
@@ -205,17 +212,13 @@ |
"expectedHashDigest": str(expected_image[1]), |
} |
Results._AddToCategoryDict(category_dict, results_for_this_test) |
- |
- # TODO(epoger): For now, don't include succeeded results in the raw |
- # data. There are so many of them that they make the client too slow. |
- if updated_result_type != gm_json.JSONKEY_ACTUALRESULTS_SUCCEEDED: |
- test_data.append(results_for_this_test) |
+ test_data.append(results_for_this_test) |
return {"categories": category_dict, "testData": test_data} |
@staticmethod |
def _AddToCategoryDict(category_dict, test_results): |
- """Add test_results to the category dictionary we are building |
- (see documentation of self.GetAll() for the format of this dictionary). |
+ """Add test_results to the category dictionary we are building. |
+ (See documentation of self.GetAll() for the format of this dictionary.) |
params: |
category_dict: category dict-of-dicts to add to; modify this in-place |
@@ -235,3 +238,22 @@ |
if not category_dict[category].get(category_value): |
category_dict[category][category_value] = 0 |
category_dict[category][category_value] += 1 |
+ |
+ @staticmethod |
+ def _EnsureIncludedInCategoryDict(category_dict, |
+ category_name, category_values): |
+ """Ensure that the category name/value pairs are included in category_dict, |
+ even if there aren't any results with that name/value pair. |
+ (See documentation of self.GetAll() for the format of this dictionary.) |
+ |
+ params: |
+ category_dict: category dict-of-dicts to modify |
+ category_name: category name, as a string |
+ category_values: list of values we want to make sure are represented |
+ for this category |
+ """ |
+ if not category_dict.get(category_name): |
+ category_dict[category_name] = {} |
+ for category_value in category_values: |
+ if not category_dict[category_name].get(category_value): |
+ category_dict[category_name][category_value] = 0 |