OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 """ Compare the generated GM images to the baselines """ | |
7 | |
8 # System-level imports | |
9 import os | |
10 import sys | |
11 | |
12 from build_step import BuildStep, BuildStepWarning | |
13 from py.utils import misc | |
14 import run_gm | |
15 import skia_vars | |
16 | |
17 LIVE_REBASELINE_SERVER_BASEURL = ( | |
18 'http://skia-tree-status.appspot.com/redirect/rebaseline-server/' | |
19 'static/view.html#/view.html') | |
20 | |
21 | |
22 class CompareGMs(BuildStep): | |
23 def _Run(self): | |
24 json_summary_path = misc.GetAbsPath(os.path.join( | |
25 self._gm_actual_dir, run_gm.JSON_SUMMARY_FILENAME)) | |
26 | |
27 # Temporary list of builders who are allowed to fail this step without the | |
28 # bot turning red. | |
29 may_fail_with_warning = [] | |
30 # This import must happen after BuildStep.__init__ because it requires that | |
31 # CWD is in PYTHONPATH, and BuildStep.__init__ may change the CWD. | |
32 from gm import display_json_results | |
33 success = display_json_results.Display(json_summary_path) | |
34 print ('%s<a href="%s?resultsToLoad=/results/failures&builder=%s">' | |
35 'link</a>' % ( | |
36 skia_vars.GetGlobalVariable('latest_gm_failures_preamble'), | |
37 LIVE_REBASELINE_SERVER_BASEURL, self._builder_name)) | |
38 if not success: | |
39 if self._builder_name in may_fail_with_warning: | |
40 raise BuildStepWarning('Expectations mismatch in %s!' % | |
41 json_summary_path) | |
42 else: | |
43 raise Exception('Expectations mismatch in %s!' % json_summary_path) | |
44 | |
45 | |
46 if '__main__' == __name__: | |
47 sys.exit(BuildStep.RunBuildStep(CompareGMs)) | |
OLD | NEW |