| Index: tools/rebaseline_imagefiles.py
|
| ===================================================================
|
| --- tools/rebaseline_imagefiles.py (revision 10108)
|
| +++ tools/rebaseline_imagefiles.py (working copy)
|
| @@ -53,6 +53,7 @@
|
| # json_base_url: base URL from which to read json_filename
|
| # json_filename: filename (under json_base_url) from which to read a
|
| # summary of results; typically "actual-results.json"
|
| + # exception_handler: reference to rebaseline.ExceptionHandler object
|
| # tests: list of tests to rebaseline, or None if we should rebaseline
|
| # whatever files the JSON results summary file tells us to
|
| # configs: which configs to run for each test, or None if we should
|
| @@ -65,13 +66,14 @@
|
| # missing_json_is_fatal: whether to halt execution if we cannot read a
|
| # JSON actual result summary file
|
| def __init__(self, expectations_root, json_base_url, json_filename,
|
| - tests=None, configs=None, dry_run=False,
|
| + exception_handler, tests=None, configs=None, dry_run=False,
|
| add_new=False, missing_json_is_fatal=False):
|
| self._expectations_root = expectations_root
|
| self._tests = tests
|
| self._configs = configs
|
| self._json_base_url = json_base_url
|
| self._json_filename = json_filename
|
| + self._exception_handler = exception_handler
|
| self._dry_run = dry_run
|
| self._add_new = add_new
|
| self._missing_json_is_fatal = missing_json_is_fatal
|
| @@ -254,10 +256,11 @@
|
| # builder : e.g. 'Test-Win7-ShuttleA-HD2000-x86-Release'
|
| def RebaselineSubdir(self, subdir, builder):
|
| if not os.path.isdir(os.path.join(self._expectations_root, subdir)):
|
| - raise Exception((
|
| + self._exception_handler.RaiseExceptionOrContinue(Exception((
|
| 'Could not find "%s" subdir within expectations_root "%s". ' +
|
| 'Are you sure --expectations-root is pointing at a valid ' +
|
| - 'gm-expected directory?') % (subdir, self._expectations_root))
|
| + 'gm-expected directory?') % (subdir, self._expectations_root)))
|
| + return
|
|
|
| json_url = '/'.join([self._json_base_url,
|
| subdir, builder, subdir,
|
| @@ -278,15 +281,11 @@
|
| continue
|
| outfilename = os.path.join(self._expectations_root, subdir,
|
| filename);
|
| - # TODO(epoger): Until we resolve
|
| - # https://code.google.com/p/skia/issues/detail?id=1410 ('some GM
|
| - # result images not available for download from Google Storage'),
|
| - # keep going in the face of missing results for any one test.
|
| try:
|
| self._RebaselineOneFile(expectations_subdir=subdir,
|
| builder_name=builder,
|
| infilename=filename,
|
| outfilename=outfilename,
|
| all_results=all_results)
|
| - except Exception as e:
|
| - print 'WARNING: swallowing exception %s' % e
|
| + except BaseException as e:
|
| + self._exception_handler.RaiseExceptionOrContinue(e)
|
|
|