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

Side by Side Diff: chrome/test/chromedriver/run_buildbot_steps.py

Issue 14301024: [chromedriver] Clean tmp directory and kill Chrome processes before each run cycle. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Created 7 years, 7 months 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/test/chromedriver/test_expectations » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Runs all the buildbot steps for ChromeDriver except for update/compile.""" 6 """Runs all the buildbot steps for ChromeDriver except for update/compile."""
7 7
8 import optparse 8 import optparse
9 import os 9 import os
10 import subprocess 10 import subprocess
11 import shutil
11 import sys 12 import sys
13 import tempfile
12 import urllib2 14 import urllib2
13 import zipfile 15 import zipfile
14 16
15 _THIS_DIR = os.path.abspath(os.path.dirname(__file__)) 17 _THIS_DIR = os.path.abspath(os.path.dirname(__file__))
16 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib')) 18 sys.path.insert(0, os.path.join(_THIS_DIR, os.pardir, 'pylib'))
17 19
18 from common import chrome_paths 20 from common import chrome_paths
19 from common import util 21 from common import util
20 22
21 GS_BUCKET = 'gs://chromedriver-prebuilts' 23 GS_BUCKET = 'gs://chromedriver-prebuilts'
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 '--project', 'chromedriver', 125 '--project', 'chromedriver',
124 '--user', 'chromedriver.bot@gmail.com', 126 '--user', 'chromedriver.bot@gmail.com',
125 '--label', 'Release', 127 '--label', 'Release',
126 zip_path 128 zip_path
127 ] 129 ]
128 with open(os.devnull, 'wb') as no_output: 130 with open(os.devnull, 'wb') as no_output:
129 if subprocess.Popen(cmd, stdout=no_output, stderr=no_output).wait(): 131 if subprocess.Popen(cmd, stdout=no_output, stderr=no_output).wait():
130 print '@@@STEP_FAILURE@@@' 132 print '@@@STEP_FAILURE@@@'
131 133
132 134
135 def KillChromes():
136 chrome_map = {
137 'win': 'chrome.exe',
138 'mac': 'Chromium',
139 'linux': 'chrome',
140 }
141 if util.IsWindows():
142 cmd = ['taskkill', '/F', '/IM']
143 else:
144 cmd = ['pkill', '-9']
145 cmd.append(chrome_map[util.GetPlatformName()])
146 util.RunCommand(cmd)
147
148
149 def CleanTmpDir():
150 tmp_dir = tempfile.gettempdir()
151 print 'cleaning temp directory:', tmp_dir
152 for file_name in os.listdir(tmp_dir):
153 if os.path.isdir(os.path.join(tmp_dir, file_name)):
154 print 'deleting sub-directory', file_name
155 shutil.rmtree(os.path.join(tmp_dir, file_name), True)
156
157
133 def main(): 158 def main():
134 parser = optparse.OptionParser() 159 parser = optparse.OptionParser()
135 parser.add_option( 160 parser.add_option(
136 '', '--android-package', 161 '', '--android-package',
137 help='Application package name, if running tests on Android.') 162 help='Application package name, if running tests on Android.')
138 parser.add_option( 163 parser.add_option(
139 '-r', '--revision', type='string', default=None, 164 '-r', '--revision', type='string', default=None,
140 help='Chromium revision') 165 help='Chromium revision')
141 options, _ = parser.parse_args() 166 options, _ = parser.parse_args()
142 167
168 if not options.android_package:
169 KillChromes()
170 CleanTmpDir()
171
143 if options.android_package: 172 if options.android_package:
144 Download() 173 Download()
145 else: 174 else:
146 if options.revision is None: 175 if options.revision is None:
147 parser.error('Must supply a --revision') 176 parser.error('Must supply a --revision')
148 177
149 platform = util.GetPlatformName() 178 platform = util.GetPlatformName()
150 if 'linux' in platform: 179 if 'linux' in platform:
151 Archive(options.revision) 180 Archive(options.revision)
152 181
153 cmd = [ 182 cmd = [
154 sys.executable, 183 sys.executable,
155 os.path.join(_THIS_DIR, 'run_all_tests.py'), 184 os.path.join(_THIS_DIR, 'run_all_tests.py'),
156 ] 185 ]
157 if options.android_package: 186 if options.android_package:
158 cmd.append('--android-package=' + options.android_package) 187 cmd.append('--android-package=' + options.android_package)
159 188
160 passed = (util.RunCommand(cmd) == 0) 189 passed = (util.RunCommand(cmd) == 0)
161 190
162 if not options.android_package and passed: 191 if not options.android_package and passed:
163 MaybeRelease(options.revision) 192 MaybeRelease(options.revision)
164 193
165 194
166 if __name__ == '__main__': 195 if __name__ == '__main__':
167 main() 196 main()
OLDNEW
« no previous file with comments | « no previous file | chrome/test/chromedriver/test_expectations » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698