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

Side by Side Diff: gm/rebaseline_server/compare_configs.py

Issue 385783002: roll "common" DEPS, and replace tools/pyutils with it (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rearrange DEPS a bit Created 6 years, 5 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
« no previous file with comments | « DEPS ('k') | gm/rebaseline_server/compare_rendered_pictures.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 """ 3 """
4 Copyright 2014 Google Inc. 4 Copyright 2014 Google Inc.
5 5
6 Use of this source code is governed by a BSD-style license that can be 6 Use of this source code is governed by a BSD-style license that can be
7 found in the LICENSE file. 7 found in the LICENSE file.
8 8
9 Compare GM results for two configs, across all builders. 9 Compare GM results for two configs, across all builders.
10 """ 10 """
11 11
12 # System-level imports 12 # System-level imports
13 import argparse 13 import argparse
14 import fnmatch
15 import json
16 import logging 14 import logging
17 import re
18 import time 15 import time
19 16
17 # Must fix up PYTHONPATH before importing from within Skia
18 import fix_pythonpath # pylint: disable=W0611
19
20 # Imports from within Skia 20 # Imports from within Skia
21 import fix_pythonpath # must do this first 21 from py.utils import url_utils
22 from pyutils import url_utils
23 import gm_json 22 import gm_json
24 import imagediffdb 23 import imagediffdb
25 import imagepair 24 import imagepair
26 import imagepairset 25 import imagepairset
27 import results 26 import results
28 27
29 28
30 class ConfigComparisons(results.BaseComparisons): 29 class ConfigComparisons(results.BaseComparisons):
31 """Loads results from two different configurations into an ImagePairSet. 30 """Loads results from two different configurations into an ImagePairSet.
32 31
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 (builder_num, num_builders, builder)) 104 (builder_num, num_builders, builder))
106 actual_results_for_this_builder = ( 105 actual_results_for_this_builder = (
107 actual_builder_dicts[builder][gm_json.JSONKEY_ACTUALRESULTS]) 106 actual_builder_dicts[builder][gm_json.JSONKEY_ACTUALRESULTS])
108 for result_type in sorted(actual_results_for_this_builder.keys()): 107 for result_type in sorted(actual_results_for_this_builder.keys()):
109 results_of_this_type = actual_results_for_this_builder[result_type] 108 results_of_this_type = actual_results_for_this_builder[result_type]
110 if not results_of_this_type: 109 if not results_of_this_type:
111 continue 110 continue
112 111
113 tests_found = set() 112 tests_found = set()
114 for image_name in sorted(results_of_this_type.keys()): 113 for image_name in sorted(results_of_this_type.keys()):
115 (test, config) = results.IMAGE_FILENAME_RE.match(image_name).groups() 114 (test, _) = results.IMAGE_FILENAME_RE.match(image_name).groups()
116 tests_found.add(test) 115 tests_found.add(test)
117 116
118 for test in tests_found: 117 for test in tests_found:
119 # Get image_relative_url (or None) for each of configA, configB 118 # Get image_relative_url (or None) for each of configA, configB
120 image_name_A = results.IMAGE_FILENAME_FORMATTER % (test, configA) 119 image_name_A = results.IMAGE_FILENAME_FORMATTER % (test, configA)
121 configA_image_relative_url = ConfigComparisons._create_relative_url( 120 configA_image_relative_url = ConfigComparisons._create_relative_url(
122 hashtype_and_digest=results_of_this_type.get(image_name_A), 121 hashtype_and_digest=results_of_this_type.get(image_name_A),
123 test_name=test) 122 test_name=test)
124 image_name_B = results.IMAGE_FILENAME_FORMATTER % (test, configB) 123 image_name_B = results.IMAGE_FILENAME_FORMATTER % (test, configB)
125 configB_image_relative_url = ConfigComparisons._create_relative_url( 124 configB_image_relative_url = ConfigComparisons._create_relative_url(
(...skipping 27 matching lines...) Expand all
153 image_diff_db=self._image_diff_db, 152 image_diff_db=self._image_diff_db,
154 base_url=gm_json.GM_ACTUALS_ROOT_HTTP_URL, 153 base_url=gm_json.GM_ACTUALS_ROOT_HTTP_URL,
155 imageA_relative_url=configA_image_relative_url, 154 imageA_relative_url=configA_image_relative_url,
156 imageB_relative_url=configB_image_relative_url, 155 imageB_relative_url=configB_image_relative_url,
157 extra_columns=extra_columns_dict) 156 extra_columns=extra_columns_dict)
158 all_image_pairs.add_image_pair(image_pair) 157 all_image_pairs.add_image_pair(image_pair)
159 if result_type != results.KEY__RESULT_TYPE__SUCCEEDED: 158 if result_type != results.KEY__RESULT_TYPE__SUCCEEDED:
160 failing_image_pairs.add_image_pair(image_pair) 159 failing_image_pairs.add_image_pair(image_pair)
161 except (KeyError, TypeError): 160 except (KeyError, TypeError):
162 logging.exception( 161 logging.exception(
163 'got exception while creating ImagePair for image_name ' 162 'got exception while creating ImagePair for test '
164 '"%s", builder "%s"' % (image_name, builder)) 163 '"%s", builder "%s"' % (test, builder))
165 164
165 # pylint: disable=W0201
166 self._results = { 166 self._results = {
167 results.KEY__HEADER__RESULTS_ALL: all_image_pairs.as_dict(), 167 results.KEY__HEADER__RESULTS_ALL: all_image_pairs.as_dict(),
168 results.KEY__HEADER__RESULTS_FAILURES: failing_image_pairs.as_dict(), 168 results.KEY__HEADER__RESULTS_FAILURES: failing_image_pairs.as_dict(),
169 } 169 }
170 170
171 171
172 def main(): 172 def main():
173 logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', 173 logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
174 datefmt='%m/%d/%Y %H:%M:%S', 174 datefmt='%m/%d/%Y %H:%M:%S',
175 level=logging.INFO) 175 level=logging.INFO)
(...skipping 22 matching lines...) Expand all
198 results_obj = ConfigComparisons(configs=args.config, 198 results_obj = ConfigComparisons(configs=args.config,
199 actuals_root=args.actuals, 199 actuals_root=args.actuals,
200 generated_images_root=args.workdir) 200 generated_images_root=args.workdir)
201 gm_json.WriteToFile( 201 gm_json.WriteToFile(
202 results_obj.get_packaged_results_of_type(results_type=args.results), 202 results_obj.get_packaged_results_of_type(results_type=args.results),
203 args.outfile) 203 args.outfile)
204 204
205 205
206 if __name__ == '__main__': 206 if __name__ == '__main__':
207 main() 207 main()
OLDNEW
« no previous file with comments | « DEPS ('k') | gm/rebaseline_server/compare_rendered_pictures.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698