| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 """ | 3 """ |
| 4 Copyright 2013 Google Inc. | 4 Copyright 2013 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 HTTP server for our HTML rebaseline viewer. | 9 HTTP server for our HTML rebaseline viewer. |
| 10 """ | 10 """ |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 CONFIG_PAIRS_TO_COMPARE = [('8888', 'gpu')] | 109 CONFIG_PAIRS_TO_COMPARE = [('8888', 'gpu')] |
| 110 | 110 |
| 111 # SKP results that are available to compare. | 111 # SKP results that are available to compare. |
| 112 # | 112 # |
| 113 # TODO(stephana): We don't actually want to maintain this list of platforms. | 113 # TODO(stephana): We don't actually want to maintain this list of platforms. |
| 114 # We are just putting them in here for now, as "convenience" links for testing | 114 # We are just putting them in here for now, as "convenience" links for testing |
| 115 # SKP diffs. | 115 # SKP diffs. |
| 116 # Ultimately, we will depend on buildbot steps linking to their own diffs on | 116 # Ultimately, we will depend on buildbot steps linking to their own diffs on |
| 117 # the shared rebaseline_server instance. | 117 # the shared rebaseline_server instance. |
| 118 _SKP_BASE_GS_URL = 'gs://' + buildbot_globals.Get('skp_summaries_bucket') | 118 _SKP_BASE_GS_URL = 'gs://' + buildbot_globals.Get('skp_summaries_bucket') |
| 119 _SKP_BASE_REPO_URL = ( |
| 120 compare_rendered_pictures.REPO_URL_PREFIX + posixpath.join( |
| 121 'expectations', 'skp')) |
| 119 _SKP_PLATFORMS = [ | 122 _SKP_PLATFORMS = [ |
| 120 'Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug', | 123 'Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug', |
| 121 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release', | 124 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release', |
| 122 ] | 125 ] |
| 123 | 126 |
| 124 _HTTP_HEADER_CONTENT_LENGTH = 'Content-Length' | 127 _HTTP_HEADER_CONTENT_LENGTH = 'Content-Length' |
| 125 _HTTP_HEADER_CONTENT_TYPE = 'Content-Type' | 128 _HTTP_HEADER_CONTENT_TYPE = 'Content-Type' |
| 126 | 129 |
| 127 _SERVER = None # This gets filled in by main() | 130 _SERVER = None # This gets filled in by main() |
| 128 | 131 |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 | 218 |
| 216 if _SKP_PLATFORMS: | 219 if _SKP_PLATFORMS: |
| 217 file_handle.write('\n<li>Rendered SKPs:<ul>') | 220 file_handle.write('\n<li>Rendered SKPs:<ul>') |
| 218 for builder in _SKP_PLATFORMS: | 221 for builder in _SKP_PLATFORMS: |
| 219 file_handle.write( | 222 file_handle.write( |
| 220 '\n<li><a href="../live-view.html#live-view.html?%s">' % | 223 '\n<li><a href="../live-view.html#live-view.html?%s">' % |
| 221 urllib.urlencode({ | 224 urllib.urlencode({ |
| 222 LIVE_PARAM__SET_A_SECTION: | 225 LIVE_PARAM__SET_A_SECTION: |
| 223 gm_json.JSONKEY_EXPECTEDRESULTS, | 226 gm_json.JSONKEY_EXPECTEDRESULTS, |
| 224 LIVE_PARAM__SET_A_DIR: | 227 LIVE_PARAM__SET_A_DIR: |
| 225 posixpath.join(_SKP_BASE_GS_URL, builder), | 228 posixpath.join(_SKP_BASE_REPO_URL, builder), |
| 226 LIVE_PARAM__SET_B_SECTION: | 229 LIVE_PARAM__SET_B_SECTION: |
| 227 gm_json.JSONKEY_ACTUALRESULTS, | 230 gm_json.JSONKEY_ACTUALRESULTS, |
| 228 LIVE_PARAM__SET_B_DIR: | 231 LIVE_PARAM__SET_B_DIR: |
| 229 posixpath.join(_SKP_BASE_GS_URL, builder), | 232 posixpath.join(_SKP_BASE_GS_URL, builder), |
| 230 })) | 233 })) |
| 231 file_handle.write('expected vs actuals on %s</a></li>' % builder) | 234 file_handle.write('expected vs actuals on %s</a></li>' % builder) |
| 232 file_handle.write( | 235 file_handle.write( |
| 233 '\n<li><a href="../live-view.html#live-view.html?%s">' % | 236 '\n<li><a href="../live-view.html#live-view.html?%s">' % |
| 234 urllib.urlencode({ | 237 urllib.urlencode({ |
| 235 LIVE_PARAM__SET_A_SECTION: | 238 LIVE_PARAM__SET_A_SECTION: |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 """ Handle a GET request for live-generated image diff data. | 584 """ Handle a GET request for live-generated image diff data. |
| 582 | 585 |
| 583 Args: | 586 Args: |
| 584 url_remainder: string indicating which image diffs to generate | 587 url_remainder: string indicating which image diffs to generate |
| 585 prefetch_only: if True, the user isn't waiting around for results | 588 prefetch_only: if True, the user isn't waiting around for results |
| 586 """ | 589 """ |
| 587 param_dict = urlparse.parse_qs(url_remainder) | 590 param_dict = urlparse.parse_qs(url_remainder) |
| 588 download_all_images = ( | 591 download_all_images = ( |
| 589 param_dict.get(LIVE_PARAM__DOWNLOAD_ONLY_DIFFERING, [''])[0].lower() | 592 param_dict.get(LIVE_PARAM__DOWNLOAD_ONLY_DIFFERING, [''])[0].lower() |
| 590 not in ['1', 'true']) | 593 not in ['1', 'true']) |
| 594 setA_dirs = param_dict[LIVE_PARAM__SET_A_DIR] |
| 595 setB_dirs = param_dict[LIVE_PARAM__SET_B_DIR] |
| 591 setA_section = self._validate_summary_section( | 596 setA_section = self._validate_summary_section( |
| 592 param_dict.get(LIVE_PARAM__SET_A_SECTION, [None])[0]) | 597 param_dict.get(LIVE_PARAM__SET_A_SECTION, [None])[0]) |
| 593 setB_section = self._validate_summary_section( | 598 setB_section = self._validate_summary_section( |
| 594 param_dict.get(LIVE_PARAM__SET_B_SECTION, [None])[0]) | 599 param_dict.get(LIVE_PARAM__SET_B_SECTION, [None])[0]) |
| 595 results_obj = compare_rendered_pictures.RenderedPicturesComparisons( | 600 results_obj = compare_rendered_pictures.RenderedPicturesComparisons( |
| 596 setA_dirs=param_dict[LIVE_PARAM__SET_A_DIR], | 601 setA_dirs=setA_dirs, setB_dirs=setB_dirs, |
| 597 setB_dirs=param_dict[LIVE_PARAM__SET_B_DIR], | |
| 598 setA_section=setA_section, setB_section=setB_section, | 602 setA_section=setA_section, setB_section=setB_section, |
| 599 image_diff_db=_SERVER.image_diff_db, | 603 image_diff_db=_SERVER.image_diff_db, |
| 600 diff_base_url='/static/generated-images', | 604 diff_base_url='/static/generated-images', |
| 601 gs=_SERVER.gs, truncate_results=_SERVER.truncate_results, | 605 gs=_SERVER.gs, truncate_results=_SERVER.truncate_results, |
| 602 prefetch_only=prefetch_only, download_all_images=download_all_images) | 606 prefetch_only=prefetch_only, download_all_images=download_all_images) |
| 603 if prefetch_only: | 607 if prefetch_only: |
| 604 self.send_response(200) | 608 self.send_response(200) |
| 605 else: | 609 else: |
| 606 self.send_json_dict(results_obj.get_packaged_results_of_type( | 610 self.send_json_dict(results_obj.get_packaged_results_of_type( |
| 607 results_mod.KEY__HEADER__RESULTS_ALL)) | 611 results_type=results_mod.KEY__HEADER__RESULTS_ALL)) |
| 608 | 612 |
| 609 def do_GET_live_results(self, url_remainder): | 613 def do_GET_live_results(self, url_remainder): |
| 610 """ Handle a GET request for live-generated image diff data. | 614 """ Handle a GET request for live-generated image diff data. |
| 611 | 615 |
| 612 Args: | 616 Args: |
| 613 url_remainder: string indicating which image diffs to generate | 617 url_remainder: string indicating which image diffs to generate |
| 614 """ | 618 """ |
| 615 logging.debug('do_GET_live_results: url_remainder="%s"' % url_remainder) | 619 logging.debug('do_GET_live_results: url_remainder="%s"' % url_remainder) |
| 616 self._get_live_results_or_prefetch( | 620 self._get_live_results_or_prefetch( |
| 617 url_remainder=url_remainder, prefetch_only=False) | 621 url_remainder=url_remainder, prefetch_only=False) |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 870 reload_seconds=args.reload, config_pairs=config_pairs, | 874 reload_seconds=args.reload, config_pairs=config_pairs, |
| 871 builder_regex_list=args.builders, boto_file_path=args.boto, | 875 builder_regex_list=args.builders, boto_file_path=args.boto, |
| 872 imagediffdb_threads=args.threads) | 876 imagediffdb_threads=args.threads) |
| 873 if args.truncate: | 877 if args.truncate: |
| 874 _SERVER.truncate_results = True | 878 _SERVER.truncate_results = True |
| 875 _SERVER.run() | 879 _SERVER.run() |
| 876 | 880 |
| 877 | 881 |
| 878 if __name__ == '__main__': | 882 if __name__ == '__main__': |
| 879 main() | 883 main() |
| OLD | NEW |