| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 | 5 |
| 6 """Utility class to build the Skia master BuildFactory's. | 6 """Utility class to build the Skia master BuildFactory's. |
| 7 | 7 |
| 8 Based on gclient_factory.py and adds Skia-specific steps.""" | 8 Based on gclient_factory.py and adds Skia-specific steps.""" |
| 9 | 9 |
| 10 | 10 |
| 11 from buildbot.process.properties import WithProperties | 11 from buildbot.process.properties import WithProperties |
| 12 from buildbot.status import builder | 12 from buildbot.status import builder |
| 13 from config_private import AUTOGEN_SVN_BASEURL, SKIA_GIT_URL | 13 from config_private import AUTOGEN_SVN_BASEURL, SKIA_GIT_URL |
| 14 from master.factory import gclient_factory | 14 from master.factory import gclient_factory |
| 15 from master.factory.build_factory import BuildFactory | 15 from master.factory.build_factory import BuildFactory |
| 16 from skia_master_scripts import commands as skia_commands | 16 from skia_master_scripts import commands as skia_commands |
| 17 | 17 |
| 18 import builder_name_schema | 18 import builder_name_schema |
| 19 import config | 19 import config |
| 20 import config_private | 20 import config_private |
| 21 import ntpath | 21 import ntpath |
| 22 import os | 22 import os |
| 23 import posixpath | 23 import posixpath |
| 24 import skia_vars |
| 24 import utils | 25 import utils |
| 25 | 26 |
| 26 | 27 |
| 27 # TODO(epoger): My intent is to make the build steps identical on all platforms | 28 # TODO(epoger): My intent is to make the build steps identical on all platforms |
| 28 # and thus remove the need for the whole target_platform parameter. | 29 # and thus remove the need for the whole target_platform parameter. |
| 29 # For now, these must match the target_platform values used in | 30 # For now, these must match the target_platform values used in |
| 30 # third_party/chromium_buildbot/scripts/master/factory/gclient_factory.py , | 31 # third_party/chromium_buildbot/scripts/master/factory/gclient_factory.py , |
| 31 # because we pass these values into GClientFactory.__init__() . | 32 # because we pass these values into GClientFactory.__init__() . |
| 32 TARGET_PLATFORM_LINUX = 'linux' | 33 TARGET_PLATFORM_LINUX = 'linux' |
| 33 TARGET_PLATFORM_MAC = 'mac' | 34 TARGET_PLATFORM_MAC = 'mac' |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 def PostBench(self): | 525 def PostBench(self): |
| 525 """ Step to run after the benchmarking steps. """ | 526 """ Step to run after the benchmarking steps. """ |
| 526 self.AddFlavoredSlaveScript(script='postbench.py', | 527 self.AddFlavoredSlaveScript(script='postbench.py', |
| 527 description='PostBench', | 528 description='PostBench', |
| 528 exception_on_failure=True) | 529 exception_on_failure=True) |
| 529 | 530 |
| 530 def CompareGMs(self): | 531 def CompareGMs(self): |
| 531 """Compare the actually-generated GM images to the checked-in baselines.""" | 532 """Compare the actually-generated GM images to the checked-in baselines.""" |
| 532 self.AddSlaveScript(script='compare_gms.py', | 533 self.AddSlaveScript(script='compare_gms.py', |
| 533 description='CompareGMs', | 534 description='CompareGMs', |
| 535 get_props_from_stdout={ |
| 536 'latest_gm_failures_url': |
| 537 '%s([^\n]*)\n' % skia_vars.GetGlobalVariable( |
| 538 'latest_gm_failures_preamble')}, |
| 534 is_rebaseline_step=True) | 539 is_rebaseline_step=True) |
| 535 | 540 |
| 536 def CompareRenderedSKPs(self): | 541 def CompareRenderedSKPs(self): |
| 537 """Compare the actual image results of SKP rendering to expectations.""" | 542 """Compare the actual image results of SKP rendering to expectations.""" |
| 538 self.AddSlaveScript(script='compare_rendered_skps.py', | 543 self.AddSlaveScript(script='compare_rendered_skps.py', |
| 539 description='CompareRenderedSKPs', | 544 description='CompareRenderedSKPs', |
| 540 is_rebaseline_step=True) | 545 is_rebaseline_step=True) |
| 541 | 546 |
| 542 def RunBench(self): | 547 def RunBench(self): |
| 543 """ Run "bench", piping the output somewhere so we can graph | 548 """ Run "bench", piping the output somewhere so we can graph |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 807 # Perf-only builder. | 812 # Perf-only builder. |
| 808 if not self._perf_output_basedir: | 813 if not self._perf_output_basedir: |
| 809 raise ValueError( | 814 raise ValueError( |
| 810 'BuildPerfOnly requires perf_output_basedir to be defined.') | 815 'BuildPerfOnly requires perf_output_basedir to be defined.') |
| 811 if self._configuration != CONFIG_RELEASE: | 816 if self._configuration != CONFIG_RELEASE: |
| 812 raise ValueError('BuildPerfOnly should run in %s configuration.' % | 817 raise ValueError('BuildPerfOnly should run in %s configuration.' % |
| 813 CONFIG_RELEASE) | 818 CONFIG_RELEASE) |
| 814 self.PerfSteps() | 819 self.PerfSteps() |
| 815 self.Validate() | 820 self.Validate() |
| 816 return self | 821 return self |
| OLD | NEW |