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

Unified Diff: tools/rebaseline.py

Issue 19805007: rebaseline.py: add ability to write new expectations to a different file (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/rebaseline.py
===================================================================
--- tools/rebaseline.py (revision 10329)
+++ tools/rebaseline.py (working copy)
@@ -123,9 +123,14 @@
# params:
# expectations_root: root directory of all expectations JSON files
- # expectations_filename: filename (under expectations_root) of JSON
- # expectations file; typically
- # "expected-results.json"
+ # expectations_input_filename: filename (under expectations_root) of JSON
+ # expectations file to read; typically
+ # "expected-results.json"
+ # expectations_output_filename: filename (under expectations_root) to
+ # which updated expectations should be
+ # written; typically the same as
+ # expectations_input_filename, to overwrite
+ # the old content
# actuals_base_url: base URL from which to read actual-result JSON files
# actuals_filename: filename (under actuals_base_url) from which to read a
# summary of results; typically "actual-results.json"
@@ -136,11 +141,13 @@
# rebaseline whatever configs the JSON results summary file tells
# us to
# add_new: if True, add expectations for tests which don't have any yet
- def __init__(self, expectations_root, expectations_filename,
- actuals_base_url, actuals_filename, exception_handler,
+ def __init__(self, expectations_root, expectations_input_filename,
+ expectations_output_filename, actuals_base_url,
+ actuals_filename, exception_handler,
tests=None, configs=None, add_new=False):
self._expectations_root = expectations_root
- self._expectations_filename = expectations_filename
+ self._expectations_input_filename = expectations_input_filename
+ self._expectations_output_filename = expectations_output_filename
self._tests = tests
self._configs = configs
self._actuals_base_url = actuals_base_url
@@ -233,9 +240,9 @@
sections=sections)
# Read in current expectations.
- expectations_json_filepath = os.path.join(
- self._expectations_root, subdir, self._expectations_filename)
- expectations_dict = gm_json.LoadFromFile(expectations_json_filepath)
+ expectations_input_filepath = os.path.join(
+ self._expectations_root, subdir, self._expectations_input_filename)
+ expectations_dict = gm_json.LoadFromFile(expectations_input_filepath)
expected_results = expectations_dict[gm_json.JSONKEY_EXPECTEDRESULTS]
# Update the expectations in memory, skipping any tests/configs that
@@ -260,13 +267,15 @@
[image_results]
# Write out updated expectations.
- gm_json.WriteToFile(expectations_dict, expectations_json_filepath)
+ expectations_output_filepath = os.path.join(
+ self._expectations_root, subdir, self._expectations_output_filename)
+ gm_json.WriteToFile(expectations_dict, expectations_output_filepath)
# Mark the JSON file as plaintext, so text-style diffs can be applied.
# Fixes https://code.google.com/p/skia/issues/detail?id=1442
if self._using_svn:
self._Call(['svn', 'propset', '--quiet', 'svn:mime-type',
- 'text/x-json', expectations_json_filepath])
+ 'text/x-json', expectations_output_filepath])
# main...
@@ -301,8 +310,15 @@
parser.add_argument('--expectations-filename',
help='filename (under EXPECTATIONS_ROOT) to read ' +
'current expectations from, and to write new ' +
- 'expectations into; defaults to %(default)s',
+ 'expectations into (unless a separate ' +
+ 'EXPECTATIONS_FILENAME_OUTPUT has been specified); ' +
+ 'defaults to %(default)s',
default='expected-results.json')
+parser.add_argument('--expectations-filename-output',
epoger 2013/07/24 19:31:34 Here's what this section of the --help output look
+ help='filename (under EXPECTATIONS_ROOT) to write ' +
+ 'updated expectations into; by default, overwrites the ' +
+ 'input file (EXPECTATIONS_FILENAME)',
+ default='')
parser.add_argument('--expectations-root',
help='root of expectations directory to update-- should ' +
'contain one or more base-* subdirectories. Defaults to ' +
@@ -350,7 +366,9 @@
if os.path.isfile(expectations_json_file):
rebaseliner = JsonRebaseliner(
expectations_root=args.expectations_root,
- expectations_filename=args.expectations_filename,
+ expectations_input_filename=args.expectations_filename,
+ expectations_output_filename=(args.expectations_filename_output or
+ args.expectations_filename),
tests=args.tests, configs=args.configs,
actuals_base_url=args.actuals_base_url,
actuals_filename=args.actuals_filename,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698