| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 """Utility class to build the chromium master BuildFactory's. | 5 """Utility class to build the chromium master BuildFactory's. |
| 6 | 6 |
| 7 Based on gclient_factory.py and adds chromium-specific steps.""" | 7 Based on gclient_factory.py and adds chromium-specific steps.""" |
| 8 | 8 |
| 9 import os | 9 import os |
| 10 import re | 10 import re |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 # triggered by a webkit poller. | 61 # triggered by a webkit poller. |
| 62 CUSTOM_VARS_WEBKIT_LATEST = [('webkit_trunk', config.Master.webkit_trunk_url), | 62 CUSTOM_VARS_WEBKIT_LATEST = [('webkit_trunk', config.Master.webkit_trunk_url), |
| 63 ('webkit_revision', '$$WK_REV$$')] | 63 ('webkit_revision', '$$WK_REV$$')] |
| 64 # safe sync urls | 64 # safe sync urls |
| 65 SAFESYNC_URL_CHROMIUM = 'http://chromium-status.appspot.com/lkgr' | 65 SAFESYNC_URL_CHROMIUM = 'http://chromium-status.appspot.com/lkgr' |
| 66 | 66 |
| 67 # gclient additional custom deps | 67 # gclient additional custom deps |
| 68 CUSTOM_DEPS_V8_LATEST = ('src/v8', | 68 CUSTOM_DEPS_V8_LATEST = ('src/v8', |
| 69 'http://v8.googlecode.com/svn/branches/bleeding_edge') | 69 'http://v8.googlecode.com/svn/branches/bleeding_edge') |
| 70 CUSTOM_DEPS_AVPERF = ('src/chrome/test/data/media/avperf', | 70 CUSTOM_DEPS_AVPERF = ('src/chrome/test/data/media/avperf', |
| 71 'http://src.chromium.org/svn/trunk/deps/avperf') | 71 'http://src.chromium.org/svn/trunk/deps/avperf') |
| 72 CUSTOM_DEPS_NACL_LATEST = [ | 72 CUSTOM_DEPS_NACL_LATEST = [ |
| 73 ('src/native_client', | 73 ('src/native_client', |
| 74 'http://src.chromium.org/native_client/trunk/src/native_client'), | 74 'http://src.chromium.org/native_client/trunk/src/native_client'), |
| 75 ('src/native_client/src/third_party/ppapi', | 75 ('src/native_client/src/third_party/ppapi', |
| 76 'http://src.chromium.org/svn/trunk/src/ppapi'), | 76 'http://src.chromium.org/svn/trunk/src/ppapi'), |
| 77 ] | 77 ] |
| 78 CUSTOM_DEPS_VALGRIND = ('src/third_party/valgrind', | 78 CUSTOM_DEPS_VALGRIND = ('src/third_party/valgrind', |
| 79 config.Master.trunk_url + '/deps/third_party/valgrind/binaries') | 79 config.Master.trunk_url + '/deps/third_party/valgrind/binaries') |
| 80 CUSTOM_DEPS_DEVTOOLS_PERF = [ | 80 CUSTOM_DEPS_DEVTOOLS_PERF = [ |
| 81 ('src/third_party/WebKit/PerformanceTests', | 81 ('src/third_party/WebKit/PerformanceTests', |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 'autodiscovery': | 132 'autodiscovery': |
| 133 [('src/data/autodiscovery', None)], | 133 [('src/data/autodiscovery', None)], |
| 134 'esctf': | 134 'esctf': |
| 135 [('src/data/esctf', None)], | 135 [('src/data/esctf', None)], |
| 136 'grit': | 136 'grit': |
| 137 [('src/tools/grit/grit/test/data', None)], | 137 [('src/tools/grit/grit/test/data', None)], |
| 138 'mozilla_js': | 138 'mozilla_js': |
| 139 [('src/data/mozilla_js_tests', None)], | 139 [('src/data/mozilla_js_tests', None)], |
| 140 } | 140 } |
| 141 | 141 |
| 142 # List of test groups for media tests. Media tests generate a lot of data, so |
| 143 # it's nice to separate them into different graphs. Each tuple corresponds to |
| 144 # a PyAuto test suite name and indicates if the suite contains perf tests. |
| 145 MEDIA_TEST_GROUPS = [ |
| 146 ('AV_PERF', True), |
| 147 ] |
| 148 |
| 142 # Minimal deps for running PyAuto. | 149 # Minimal deps for running PyAuto. |
| 143 # http://dev.chromium.org/developers/pyauto | 150 # http://dev.chromium.org/developers/pyauto |
| 144 PYAUTO_DEPS = \ | 151 PYAUTO_DEPS = \ |
| 145 [('src/chrome/test/data', | 152 [('src/chrome/test/data', |
| 146 'http://src.chromium.org/svn/trunk/src/chrome/test/data'), | 153 'http://src.chromium.org/svn/trunk/src/chrome/test/data'), |
| 147 ('src/chrome/test/pyautolib', | 154 ('src/chrome/test/pyautolib', |
| 148 'http://src.chromium.org/svn/trunk/src/chrome/test/pyautolib'), | 155 'http://src.chromium.org/svn/trunk/src/chrome/test/pyautolib'), |
| 149 ('src/chrome/test/functional', | 156 ('src/chrome/test/functional', |
| 150 'http://src.chromium.org/svn/trunk/src/chrome/test/functional'), | 157 'http://src.chromium.org/svn/trunk/src/chrome/test/functional'), |
| 151 ('src/third_party/simplejson', | 158 ('src/third_party/simplejson', |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 'linux2': 'lucid64bit' } | 405 'linux2': 'lucid64bit' } |
| 399 zip_plat = platmap[self._target_platform] | 406 zip_plat = platmap[self._target_platform] |
| 400 workdir = os.path.join(f.working_dir, 'chrome-' + zip_plat) | 407 workdir = os.path.join(f.working_dir, 'chrome-' + zip_plat) |
| 401 f.AddPyAutoFunctionalTest('pyauto_functional_tests', | 408 f.AddPyAutoFunctionalTest('pyauto_functional_tests', |
| 402 src_base='..', | 409 src_base='..', |
| 403 workdir=workdir, | 410 workdir=workdir, |
| 404 factory_properties=fp) | 411 factory_properties=fp) |
| 405 | 412 |
| 406 # HTML5 media tag performance/functional test using PyAuto. | 413 # HTML5 media tag performance/functional test using PyAuto. |
| 407 if R('avperf'): | 414 if R('avperf'): |
| 408 platform_mapping = { | |
| 409 'win32': 'win32', | |
| 410 'darwin': 'mac', | |
| 411 'linux2': 'lucid64bit', | |
| 412 } | |
| 413 | |
| 414 zip_platform = platform_mapping[self._target_platform] | |
| 415 workdir = os.path.join(f.working_dir, 'chrome-' + zip_platform) | |
| 416 # Performance test should be run on virtual X buffer. | 415 # Performance test should be run on virtual X buffer. |
| 417 fp['use_xvfb_on_linux'] = True | 416 fp['use_xvfb_on_linux'] = True |
| 418 # Run test with matrix form input file. | 417 f.AddMediaTests(factory_properties=fp, test_groups=self.MEDIA_TEST_GROUPS) |
| 419 f.AddAvPerfTests(factory_properties=fp, src_base='..', workdir=workdir, | |
| 420 matrix=True, number_of_media_files=1, | |
| 421 suite_name='AV_PERF') | |
| 422 # Run functional tests. | |
| 423 f.AddAvPerfTests(factory_properties=fp, src_base='..', workdir=workdir, | |
| 424 matrix=False, number_of_media_files=1, | |
| 425 suite_name='AV_FUNC') | |
| 426 if R('chromedriver_tests'): | 418 if R('chromedriver_tests'): |
| 427 f.AddChromeDriverTest() | 419 f.AddChromeDriverTest() |
| 428 if R('webdriver_tests'): | 420 if R('webdriver_tests'): |
| 429 f.AddWebDriverTest() | 421 f.AddWebDriverTest() |
| 430 | 422 |
| 431 # When adding a test that uses a new executable, update kill_processes.py. | 423 # When adding a test that uses a new executable, update kill_processes.py. |
| 432 | 424 |
| 433 # Coverage tests. Add coverage processing absoluely last, after | 425 # Coverage tests. Add coverage processing absoluely last, after |
| 434 # all tests have run. Tests which run after coverage processing | 426 # all tests have run. Tests which run after coverage processing |
| 435 # don't get counted. | 427 # don't get counted. |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 608 | 600 |
| 609 def ChromiumAVPerfFactory(self, target='Release', clobber=False, tests=None, | 601 def ChromiumAVPerfFactory(self, target='Release', clobber=False, tests=None, |
| 610 mode=None, slave_type='BuilderTester', | 602 mode=None, slave_type='BuilderTester', |
| 611 options=None, compile_timeout=1200, | 603 options=None, compile_timeout=1200, |
| 612 build_url=None, project=None, | 604 build_url=None, project=None, |
| 613 factory_properties=None): | 605 factory_properties=None): |
| 614 self._solutions[0].custom_deps_list = [self.CUSTOM_DEPS_AVPERF] | 606 self._solutions[0].custom_deps_list = [self.CUSTOM_DEPS_AVPERF] |
| 615 return self.ChromiumFactory(target, clobber, tests, mode, slave_type, | 607 return self.ChromiumFactory(target, clobber, tests, mode, slave_type, |
| 616 options, compile_timeout, build_url, project, | 608 options, compile_timeout, build_url, project, |
| 617 factory_properties) | 609 factory_properties) |
| 618 | 610 |
| 619 def ChromiumNativeClientLatestFactory( | 611 def ChromiumNativeClientLatestFactory( |
| 620 self, target='Release', clobber=False, tests=None, mode=None, | 612 self, target='Release', clobber=False, tests=None, mode=None, |
| 621 slave_type='BuilderTester', options=None, compile_timeout=1200, | 613 slave_type='BuilderTester', options=None, compile_timeout=1200, |
| 622 build_url=None, project=None, factory_properties=None, | 614 build_url=None, project=None, factory_properties=None, |
| 623 on_nacl_waterfall=True, use_chrome_lkgr=True): | 615 on_nacl_waterfall=True, use_chrome_lkgr=True): |
| 624 factory_properties = factory_properties or {} | 616 factory_properties = factory_properties or {} |
| 625 self._solutions[0].custom_deps_list = self.CUSTOM_DEPS_NACL_LATEST | 617 self._solutions[0].custom_deps_list = self.CUSTOM_DEPS_NACL_LATEST |
| 626 self._solutions[0].safesync_url = self.SAFESYNC_URL_CHROMIUM | 618 self._solutions[0].safesync_url = self.SAFESYNC_URL_CHROMIUM |
| 627 # Add an extra frivilous checkout of part of NativeClient when it is built | 619 # Add an extra frivilous checkout of part of NativeClient when it is built |
| 628 # on the # NativeClient waterfall. This way, console view gets revision | 620 # on the # NativeClient waterfall. This way, console view gets revision |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 834 if 'cros_deps' not in [s.name for s in self._solutions]: | 826 if 'cros_deps' not in [s.name for s in self._solutions]: |
| 835 self._solutions.append(gclient_factory.GClientSolution( | 827 self._solutions.append(gclient_factory.GClientSolution( |
| 836 config.Master.trunk_url + '/src/tools/cros.DEPS', name='cros_deps')) | 828 config.Master.trunk_url + '/src/tools/cros.DEPS', name='cros_deps')) |
| 837 if 'asan.DEPS' not in [s.name for s in self._solutions]: | 829 if 'asan.DEPS' not in [s.name for s in self._solutions]: |
| 838 self._solutions.append(gclient_factory.GClientSolution( | 830 self._solutions.append(gclient_factory.GClientSolution( |
| 839 'http://src.chromium.org/svn/trunk/deps/asan.DEPS', | 831 'http://src.chromium.org/svn/trunk/deps/asan.DEPS', |
| 840 'asan.DEPS')) | 832 'asan.DEPS')) |
| 841 return self.ChromiumFactory(target, clobber, tests, mode, slave_type, | 833 return self.ChromiumFactory(target, clobber, tests, mode, slave_type, |
| 842 options, compile_timeout, build_url, project, | 834 options, compile_timeout, build_url, project, |
| 843 factory_properties) | 835 factory_properties) |
| OLD | NEW |