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

Side by Side Diff: scripts/slave/recipe_modules/chromedriver/api.py

Issue 2181693004: Add a check that the Chromedriver prebuilt name is expected. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Changed to Sam's impl Created 4 years, 4 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
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 from recipe_engine import recipe_api 5 from recipe_engine import recipe_api
6 6
7 import re
8
7 GS_CHROMEDRIVER_DATA_BUCKET = 'chromedriver-data' 9 GS_CHROMEDRIVER_DATA_BUCKET = 'chromedriver-data'
8 GS_PREBUILTS_URL = GS_CHROMEDRIVER_DATA_BUCKET + '/prebuilts' 10 GS_PREBUILTS_URL = GS_CHROMEDRIVER_DATA_BUCKET + '/prebuilts'
9 GS_SERVER_LOGS_URL = GS_CHROMEDRIVER_DATA_BUCKET + '/server_logs' 11 GS_SERVER_LOGS_URL = GS_CHROMEDRIVER_DATA_BUCKET + '/server_logs'
10 12
13 PREBUILT_FILE_RE = re.compile(r'r\d+\.zip')
14
11 TEST_LOG_FORMAT = '%s_log.json' 15 TEST_LOG_FORMAT = '%s_log.json'
12 TEST_LOG_MAX_LENGTH = 500 16 TEST_LOG_MAX_LENGTH = 500
13 17
14 class ChromedriverApi(recipe_api.RecipeApi): 18 class ChromedriverApi(recipe_api.RecipeApi):
15 19
16 def __init__(self, *args, **kwargs): 20 def __init__(self, *args, **kwargs):
17 super(ChromedriverApi, self).__init__(*args, **kwargs) 21 super(ChromedriverApi, self).__init__(*args, **kwargs)
18 self._chromedriver_log_dir = None 22 self._chromedriver_log_dir = None
19 23
20 def download_prebuilts(self): 24 def download_prebuilts(self):
21 """Downloads the most recent prebuilts from Google storage.""" 25 """Downloads the most recent prebuilts from Google storage."""
22 with self.m.step.nest('Download Prebuilts'): 26 with self.m.step.nest('Download Prebuilts'):
23 with self.m.tempfile.temp_dir('prebuilt') as prebuilt_dir: 27 with self.m.tempfile.temp_dir('prebuilt') as prebuilt_dir:
24 zipfile = prebuilt_dir.join('build.zip')
25 unzip_dir = prebuilt_dir.join('unzipped') 28 unzip_dir = prebuilt_dir.join('unzipped')
26 self.m.gsutil.download_latest_file( 29 self.m.gsutil.download_latest_file(
27 base_url='gs://%s' % GS_PREBUILTS_URL, 30 base_url='gs://%s' % GS_PREBUILTS_URL,
28 partial_name='gs://%s/r' % GS_PREBUILTS_URL, 31 partial_name='gs://%s/r' % GS_PREBUILTS_URL,
29 destination=zipfile, 32 destination=prebuilt_dir,
30 name='download latest prebuilt') 33 name='download latest prebuilt')
34 file_list = self.m.file.listdir(
35 name='get prebuilt filename',
36 path=prebuilt_dir,
37 step_test_data=lambda: self.m.json.test_api.output(['r111111.zip']))
38 prebuilt_file = file_list[0]
39 if not PREBUILT_FILE_RE.match(prebuilt_file):
40 raise self.m.step.StepFailure('Unexpected prebuilt filename: %s'
41 % prebuilt_file)
31 self.m.zip.unzip(step_name='unzip prebuilt', 42 self.m.zip.unzip(step_name='unzip prebuilt',
32 zip_file=zipfile, 43 zip_file=prebuilt_dir.join(prebuilt_file),
33 output=unzip_dir) 44 output=unzip_dir)
34 self.m.file.move(name='move prebuilt', 45 self.m.file.move(name='move prebuilt',
35 source=unzip_dir.join('chromedriver'), 46 source=unzip_dir.join('chromedriver'),
36 dest=self.m.chromium.output_dir, 47 dest=self.m.chromium.output_dir,
37 infra_step=False) 48 infra_step=False)
38 49
39 def archive_server_log(self, server_log): 50 def archive_server_log(self, server_log):
40 """Uploads chromedriver server log to Google storage. 51 """Uploads chromedriver server log to Google storage.
41 52
42 Args: 53 Args:
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 chrome_version_name=package, 216 chrome_version_name=package,
206 android_package=package, 217 android_package=package,
207 env=test_env, 218 env=test_env,
208 archive_server_log=archive_server_logs) 219 archive_server_log=archive_server_logs)
209 self.run_java_tests(chromedriver, 220 self.run_java_tests(chromedriver,
210 chrome_version_name=package, 221 chrome_version_name=package,
211 android_package=package, 222 android_package=package,
212 verbose=True, 223 verbose=True,
213 env=test_env, 224 env=test_env,
214 archive_server_log=archive_server_logs) 225 archive_server_log=archive_server_logs)
OLDNEW
« no previous file with comments | « scripts/slave/recipe_modules/chromedriver/__init__.py ('k') | scripts/slave/recipe_modules/chromedriver/example.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698