| Index: gm/rebaseline_server/server.py
|
| diff --git a/gm/rebaseline_server/server.py b/gm/rebaseline_server/server.py
|
| index f817597a0f69d72684c7b386a2a38b372ac1de97..b3c78637f5339a6f1673160c22d90cab38769338 100755
|
| --- a/gm/rebaseline_server/server.py
|
| +++ b/gm/rebaseline_server/server.py
|
| @@ -23,6 +23,7 @@ import subprocess
|
| import thread
|
| import threading
|
| import time
|
| +import urllib
|
| import urlparse
|
|
|
| # Must fix up PYTHONPATH before importing from within Skia
|
| @@ -30,6 +31,7 @@ import fix_pythonpath # pylint: disable=W0611
|
|
|
| # Imports from within Skia
|
| from py.utils import gs_utils
|
| +import buildbot_globals
|
| import gm_json
|
|
|
| # Imports from local dir
|
| @@ -99,13 +101,26 @@ LIVE_PARAM__SET_B_SECTION = 'setBSection'
|
| # results to load.
|
| RELOAD_INTERVAL_UNTIL_READY = 10
|
|
|
| -SUMMARY_TYPES = [
|
| +_GM_SUMMARY_TYPES = [
|
| results_mod.KEY__HEADER__RESULTS_FAILURES,
|
| results_mod.KEY__HEADER__RESULTS_ALL,
|
| ]
|
| # If --compare-configs is specified, compare these configs.
|
| CONFIG_PAIRS_TO_COMPARE = [('8888', 'gpu')]
|
|
|
| +# SKP results that are available to compare.
|
| +#
|
| +# TODO(stephana): We don't actually want to maintain this list of platforms.
|
| +# We are just putting them in here for now, as "convenience" links for testing
|
| +# SKP diffs.
|
| +# Ultimately, we will depend on buildbot steps linking to their own diffs on
|
| +# the shared rebaseline_server instance.
|
| +_SKP_BASE_GS_URL = 'gs://' + buildbot_globals.Get('skp_summaries_bucket')
|
| +_SKP_PLATFORMS = [
|
| + 'Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug',
|
| + 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release',
|
| +]
|
| +
|
| _HTTP_HEADER_CONTENT_LENGTH = 'Content-Length'
|
| _HTTP_HEADER_CONTENT_TYPE = 'Content-Type'
|
|
|
| @@ -170,22 +185,25 @@ def _create_index(file_path, config_pairs):
|
| '<!DOCTYPE html><html>'
|
| '<head><title>rebaseline_server</title></head>'
|
| '<body><ul>')
|
| - if SUMMARY_TYPES:
|
| - file_handle.write('<li>Expectations vs Actuals</li><ul>')
|
| - for summary_type in SUMMARY_TYPES:
|
| +
|
| + if _GM_SUMMARY_TYPES:
|
| + file_handle.write('<li>GM Expectations vs Actuals</li><ul>')
|
| + for summary_type in _GM_SUMMARY_TYPES:
|
| file_handle.write(
|
| - '<li><a href="/{static_directive}/view.html#/view.html?'
|
| + '\n<li><a href="/{static_directive}/view.html#/view.html?'
|
| 'resultsToLoad=/{results_directive}/{summary_type}">'
|
| '{summary_type}</a></li>'.format(
|
| results_directive=GET__PRECOMPUTED_RESULTS,
|
| static_directive=GET__STATIC_CONTENTS,
|
| summary_type=summary_type))
|
| file_handle.write('</ul>')
|
| +
|
| if config_pairs:
|
| - file_handle.write('<li>Comparing configs within actual results</li><ul>')
|
| + file_handle.write(
|
| + '\n<li>Comparing configs within actual GM results</li><ul>')
|
| for config_pair in config_pairs:
|
| file_handle.write('<li>%s vs %s:' % config_pair)
|
| - for summary_type in SUMMARY_TYPES:
|
| + for summary_type in _GM_SUMMARY_TYPES:
|
| file_handle.write(
|
| ' <a href="/%s/view.html#/view.html?'
|
| 'resultsToLoad=/%s/%s/%s-vs-%s_%s.json">%s</a>' % (
|
| @@ -194,7 +212,40 @@ def _create_index(file_path, config_pairs):
|
| summary_type, summary_type))
|
| file_handle.write('</li>')
|
| file_handle.write('</ul>')
|
| - file_handle.write('</ul></body></html>')
|
| +
|
| + if _SKP_PLATFORMS:
|
| + file_handle.write('\n<li>Rendered SKPs:<ul>')
|
| + for builder in _SKP_PLATFORMS:
|
| + file_handle.write(
|
| + '\n<li><a href="../live-view.html#live-view.html?%s">' %
|
| + urllib.urlencode({
|
| + LIVE_PARAM__SET_A_SECTION:
|
| + gm_json.JSONKEY_EXPECTEDRESULTS,
|
| + LIVE_PARAM__SET_A_DIR:
|
| + posixpath.join(_SKP_BASE_GS_URL, builder),
|
| + LIVE_PARAM__SET_B_SECTION:
|
| + gm_json.JSONKEY_ACTUALRESULTS,
|
| + LIVE_PARAM__SET_B_DIR:
|
| + posixpath.join(_SKP_BASE_GS_URL, builder),
|
| + }))
|
| + file_handle.write('expected vs actuals on %s</a></li>' % builder)
|
| + file_handle.write(
|
| + '\n<li><a href="../live-view.html#live-view.html?%s">' %
|
| + urllib.urlencode({
|
| + LIVE_PARAM__SET_A_SECTION:
|
| + gm_json.JSONKEY_ACTUALRESULTS,
|
| + LIVE_PARAM__SET_A_DIR:
|
| + posixpath.join(_SKP_BASE_GS_URL, _SKP_PLATFORMS[0]),
|
| + LIVE_PARAM__SET_B_SECTION:
|
| + gm_json.JSONKEY_ACTUALRESULTS,
|
| + LIVE_PARAM__SET_B_DIR:
|
| + posixpath.join(_SKP_BASE_GS_URL, _SKP_PLATFORMS[1]),
|
| + }))
|
| + file_handle.write('actuals on %s vs %s</a></li>' % (
|
| + _SKP_PLATFORMS[0], _SKP_PLATFORMS[1]))
|
| + file_handle.write('</li>')
|
| +
|
| + file_handle.write('\n</ul></body></html>')
|
|
|
|
|
| class Server(object):
|
| @@ -406,7 +457,7 @@ class Server(object):
|
| diff_base_url=posixpath.join(
|
| os.pardir, GENERATED_IMAGES_SUBDIR),
|
| builder_regex_list=self._builder_regex_list)
|
| - for summary_type in SUMMARY_TYPES:
|
| + for summary_type in _GM_SUMMARY_TYPES:
|
| gm_json.WriteToFile(
|
| config_comparisons.get_packaged_results_of_type(
|
| results_type=summary_type),
|
|
|