| Index: gm/rebaseline_server/compare_to_expectations.py
|
| diff --git a/gm/rebaseline_server/compare_to_expectations.py b/gm/rebaseline_server/compare_to_expectations.py
|
| index 1a93c6674fd77e00354898500bda76a826896cb1..e1a5f5f4744801370df0a1636bc10daca4714a9f 100755
|
| --- a/gm/rebaseline_server/compare_to_expectations.py
|
| +++ b/gm/rebaseline_server/compare_to_expectations.py
|
| @@ -12,16 +12,18 @@ Repackage expected/actual GM results as needed by our HTML rebaseline viewer.
|
| # System-level imports
|
| import argparse
|
| import fnmatch
|
| -import json
|
| import logging
|
| import os
|
| -import re
|
| -import sys
|
| import time
|
|
|
| +# Must fix up PYTHONPATH before importing from within Skia
|
| +# pylint: disable=W0611
|
| +import fix_pythonpath
|
| +# pylint: enable=W0611
|
| +
|
| # Imports from within Skia
|
| -import fix_pythonpath # must do this first
|
| from pyutils import url_utils
|
| +import column
|
| import gm_json
|
| import imagediffdb
|
| import imagepair
|
| @@ -33,6 +35,17 @@ EXPECTATION_FIELDS_PASSED_THRU_VERBATIM = [
|
| results.KEY__EXPECTATIONS__IGNOREFAILURE,
|
| results.KEY__EXPECTATIONS__REVIEWED,
|
| ]
|
| +FREEFORM_COLUMN_IDS = [
|
| + results.KEY__EXTRACOLUMNS__BUILDER,
|
| + results.KEY__EXTRACOLUMNS__TEST,
|
| +]
|
| +ORDERED_COLUMN_IDS = [
|
| + results.KEY__EXTRACOLUMNS__RESULT_TYPE,
|
| + results.KEY__EXTRACOLUMNS__BUILDER,
|
| + results.KEY__EXTRACOLUMNS__TEST,
|
| + results.KEY__EXTRACOLUMNS__CONFIG,
|
| +]
|
| +
|
| TRUNK_DIRECTORY = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
| DEFAULT_EXPECTATIONS_DIR = os.path.join(TRUNK_DIRECTORY, 'expectations', 'gm')
|
| DEFAULT_IGNORE_FAILURES_FILE = 'ignored-tests.txt'
|
| @@ -171,7 +184,7 @@ class ExpectationComparisons(results.BaseComparisons):
|
| if not os.path.isdir(root):
|
| raise IOError('no directory found at path %s' % root)
|
| actual_builders_written = []
|
| - for dirpath, dirnames, filenames in os.walk(root):
|
| + for dirpath, _, filenames in os.walk(root):
|
| for matching_filename in fnmatch.filter(filenames, pattern):
|
| builder = os.path.basename(dirpath)
|
| per_builder_dict = meta_dict.get(builder)
|
| @@ -211,6 +224,15 @@ class ExpectationComparisons(results.BaseComparisons):
|
| descriptions=IMAGEPAIR_SET_DESCRIPTIONS,
|
| diff_base_url=self._diff_base_url)
|
|
|
| + # Override settings for columns that should be filtered using freeform text.
|
| + for column_id in FREEFORM_COLUMN_IDS:
|
| + factory = column.ColumnHeaderFactory(
|
| + header_text=column_id, use_freeform_filter=True)
|
| + all_image_pairs.set_column_header_factory(
|
| + column_id=column_id, column_header_factory=factory)
|
| + failing_image_pairs.set_column_header_factory(
|
| + column_id=column_id, column_header_factory=factory)
|
| +
|
| all_image_pairs.ensure_extra_column_values_in_summary(
|
| column_id=results.KEY__EXTRACOLUMNS__RESULT_TYPE, values=[
|
| results.KEY__RESULT_TYPE__FAILED,
|
| @@ -339,9 +361,12 @@ class ExpectationComparisons(results.BaseComparisons):
|
| except Exception:
|
| logging.exception('got exception while creating new ImagePair')
|
|
|
| + # pylint: disable=W0201
|
| self._results = {
|
| - results.KEY__HEADER__RESULTS_ALL: all_image_pairs.as_dict(),
|
| - results.KEY__HEADER__RESULTS_FAILURES: failing_image_pairs.as_dict(),
|
| + results.KEY__HEADER__RESULTS_ALL: all_image_pairs.as_dict(
|
| + column_ids_in_order=ORDERED_COLUMN_IDS),
|
| + results.KEY__HEADER__RESULTS_FAILURES: failing_image_pairs.as_dict(
|
| + column_ids_in_order=ORDERED_COLUMN_IDS),
|
| }
|
|
|
|
|
|
|