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

Side by Side Diff: scripts/master/factory/chromium_commands.py

Issue 11379003: Add Windows ASAN bots. (Closed) Base URL: http://git.chromium.org/chromium/tools/build.git@neuter
Patch Set: Make zip_build a bit better Created 8 years, 1 month 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 """Set of utilities to add commands to a buildbot factory. 5 """Set of utilities to add commands to a buildbot factory.
6 6
7 This is based on commands.py and adds chromium-specific commands.""" 7 This is based on commands.py and adds chromium-specific commands."""
8 8
9 import logging 9 import logging
10 import os 10 import os
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 self._lint_test_files_tool = J(s_dir, 'lint_test_files_wrapper.py') 62 self._lint_test_files_tool = J(s_dir, 'lint_test_files_wrapper.py')
63 self._devtools_perf_test_tool = J(s_dir, 'devtools_perf_test_wrapper.py') 63 self._devtools_perf_test_tool = J(s_dir, 'devtools_perf_test_wrapper.py')
64 self._archive_coverage = J(s_dir, 'archive_coverage.py') 64 self._archive_coverage = J(s_dir, 'archive_coverage.py')
65 self._gpu_archive_tool = J(s_dir, 'archive_gpu_pixel_test_results.py') 65 self._gpu_archive_tool = J(s_dir, 'archive_gpu_pixel_test_results.py')
66 self._crash_dump_tool = J(s_dir, 'archive_crash_dumps.py') 66 self._crash_dump_tool = J(s_dir, 'archive_crash_dumps.py')
67 self._dom_perf_tool = J(s_dir, 'dom_perf.py') 67 self._dom_perf_tool = J(s_dir, 'dom_perf.py')
68 self._asan_archive_tool = J(s_dir, 'asan_archive_build.py') 68 self._asan_archive_tool = J(s_dir, 'asan_archive_build.py')
69 self._archive_tool = J(s_dir, 'archive_build.py') 69 self._archive_tool = J(s_dir, 'archive_build.py')
70 self._sizes_tool = J(s_dir, 'sizes.py') 70 self._sizes_tool = J(s_dir, 'sizes.py')
71 self._check_lkgr_tool = J(s_dir, 'check_lkgr.py') 71 self._check_lkgr_tool = J(s_dir, 'check_lkgr.py')
72 self._windows_asan_tool = J(s_dir, 'win_apply_asan.py')
72 73
73 # Scripts in the private dir. 74 # Scripts in the private dir.
74 self._download_and_extract_official_tool = self.PathJoin( 75 self._download_and_extract_official_tool = self.PathJoin(
75 p_dir, 'get_official_build.py') 76 p_dir, 'get_official_build.py')
76 77
77 # Reliability paths. 78 # Reliability paths.
78 self._reliability_tool = J(self._script_dir, 'reliability_tests.py') 79 self._reliability_tool = J(self._script_dir, 'reliability_tests.py')
79 self._reliability_data = J('src', 'chrome', 'test', 'data', 'reliability') 80 self._reliability_data = J('src', 'chrome', 'test', 'data', 'reliability')
80 81
81 # These scripts should be move to the script dir. 82 # These scripts should be move to the script dir.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 if not perf_id: 127 if not perf_id:
127 logging.error('Error: cannot upload perf expectations: perf_id is unset') 128 logging.error('Error: cannot upload perf expectations: perf_id is unset')
128 return 129 return
129 slavesrc = 'src/tools/perf_expectations/perf_expectations.json' 130 slavesrc = 'src/tools/perf_expectations/perf_expectations.json'
130 masterdest = ('../../scripts/master/log_parser/perf_expectations/%s.json' % 131 masterdest = ('../../scripts/master/log_parser/perf_expectations/%s.json' %
131 perf_id) 132 perf_id)
132 133
133 self._factory.addStep(FileUpload(slavesrc=slavesrc, 134 self._factory.addStep(FileUpload(slavesrc=slavesrc,
134 masterdest=masterdest)) 135 masterdest=masterdest))
135 136
137 def AddWindowsASANStep(self):
138 """Adds a step to run syzygy/ASAN over the output directory."""
139 cmd = [self._python, self._windows_asan_tool,
140 '--build_directory', self._build_dir, '--target', self._target]
141 self.AddTestStep(shell.ShellCommand, 'apply_asan', cmd)
142
136 def AddArchiveBuild(self, mode='dev', show_url=True, factory_properties=None): 143 def AddArchiveBuild(self, mode='dev', show_url=True, factory_properties=None):
137 """Adds a step to the factory to archive a build.""" 144 """Adds a step to the factory to archive a build."""
138 145
139 extra_archive_paths = factory_properties.get('extra_archive_paths') 146 extra_archive_paths = factory_properties.get('extra_archive_paths')
140 use_build_number = factory_properties.get('use_build_number', False) 147 use_build_number = factory_properties.get('use_build_number', False)
141 148
142 if show_url: 149 if show_url:
143 (url, index_suffix) = _GetSnapshotUrl(factory_properties) 150 (url, index_suffix) = _GetSnapshotUrl(factory_properties)
144 text = 'download' 151 text = 'download'
145 else: 152 else:
(...skipping 1550 matching lines...) Expand 10 before | Expand all | Expand 10 after
1696 return '%s/%s/%s' % (config.Master.archive_url, archive_type, builder_name) 1703 return '%s/%s/%s' % (config.Master.archive_url, archive_type, builder_name)
1697 1704
1698 1705
1699 def _GetSnapshotUrl(factory_properties=None, builder_name='%(build_name)s'): 1706 def _GetSnapshotUrl(factory_properties=None, builder_name='%(build_name)s'):
1700 if not factory_properties or 'gs_bucket' not in factory_properties: 1707 if not factory_properties or 'gs_bucket' not in factory_properties:
1701 return (_GetArchiveUrl('snapshots', builder_name), None) 1708 return (_GetArchiveUrl('snapshots', builder_name), None)
1702 gs_bucket = factory_properties['gs_bucket'] 1709 gs_bucket = factory_properties['gs_bucket']
1703 gs_bucket = re.sub(r'^gs://', 'http://commondatastorage.googleapis.com/', 1710 gs_bucket = re.sub(r'^gs://', 'http://commondatastorage.googleapis.com/',
1704 gs_bucket) 1711 gs_bucket)
1705 return ('%s/index.html?path=%s' % (gs_bucket, builder_name), '/') 1712 return ('%s/index.html?path=%s' % (gs_bucket, builder_name), '/')
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698