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

Unified Diff: scripts/slave/recipe_modules/chromedriver/api.py

Issue 2164043002: Clean up steps in Chromedriver recipe. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Use tempfile.tempdir Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: scripts/slave/recipe_modules/chromedriver/api.py
diff --git a/scripts/slave/recipe_modules/chromedriver/api.py b/scripts/slave/recipe_modules/chromedriver/api.py
index ff94bbd0cf95909cd0e791d80c418a6a2fc08eb7..916c730ac6b22330c94600d6f52c5a5d30fded86 100644
--- a/scripts/slave/recipe_modules/chromedriver/api.py
+++ b/scripts/slave/recipe_modules/chromedriver/api.py
@@ -20,8 +20,7 @@ class ChromedriverApi(recipe_api.RecipeApi):
def download_prebuilts(self):
"""Downloads the most recent prebuilts from Google storage."""
with self.m.step.nest('Download Prebuilts'):
- try:
- prebuilt_dir = self.m.path.mkdtemp('prebuilt')
+ with self.m.tempfile.temp_dir('prebuilt') as prebuilt_dir:
zipfile = prebuilt_dir.join('build.zip')
unzip_dir = prebuilt_dir.join('unzipped')
self.m.gsutil.download_latest_file(
@@ -36,8 +35,6 @@ class ChromedriverApi(recipe_api.RecipeApi):
source=unzip_dir.join('chromedriver'),
dest=self.m.chromium.output_dir,
infra_step=False)
- finally:
- self.m.file.rmtree(name='remove temp dir', path=prebuilt_dir)
def archive_server_log(self, server_log):
"""Uploads chromedriver server log to Google storage.
@@ -62,30 +59,27 @@ class ChromedriverApi(recipe_api.RecipeApi):
booleans indicating whether the tests passed.
"""
with self.m.step.nest('Download Test Results Log'):
- try:
+ with self.m.tempfile.temp_dir('results_log') as temp_log_dir:
log_name = TEST_LOG_FORMAT % chromedriver_platform
- temp_log_dir = self.m.path.mkdtemp('results_log')
temp_log_file = temp_log_dir.join(log_name)
self.m.gsutil.download(name='download results log',
source=log_name,
bucket=GS_CHROMEDRIVER_DATA_BUCKET,
dest=temp_log_file)
- json_data = self.m.file.read(name='read results log file',
- path=temp_log_file,
- test_data='{}')
- json_dict = self.m.json.loads(json_data)
- except self.m.step.StepFailure:
- json_dict = {}
- finally:
- self.m.file.rmtree(name='remove temp dir', path=temp_log_dir)
+ try:
+ json_data = self.m.file.read(name='read results log file',
+ path=temp_log_file,
+ test_data='{}')
+ json_dict = self.m.json.loads(json_data)
+ except self.m.step.StepFailure:
+ json_dict = {}
return {int(k): v for k, v in json_dict.iteritems()}
def upload_test_results_log(self, chromedriver_platform, test_results_log):
"""Uploads the given test results log to Google storage."""
with self.m.step.nest('Upload Test Results Log'):
- try:
+ with self.m.tempfile.temp_dir('results_log') as temp_log_dir:
log_name = TEST_LOG_FORMAT % chromedriver_platform
- temp_log_dir = self.m.path.mkdtemp('results_log')
temp_log_file = temp_log_dir.join(log_name)
self.m.file.write(name='write results log to file %s' % log_name,
path=temp_log_file,
@@ -95,8 +89,6 @@ class ChromedriverApi(recipe_api.RecipeApi):
bucket=GS_CHROMEDRIVER_DATA_BUCKET,
dest=log_name,
link_name='results log')
- finally:
- self.m.file.rmtree(name='remove temp dir', path=temp_log_dir)
def update_test_results_log(self, chromedriver_platform,
commit_position, passed):
@@ -122,7 +114,7 @@ class ChromedriverApi(recipe_api.RecipeApi):
ref_chromedriver=None, android_package=None,
verbose=None):
cmd = [
- script,
+ script,
'--chromedriver', chromedriver,
'--log-path', str(log_path)
]
@@ -140,41 +132,50 @@ class ChromedriverApi(recipe_api.RecipeApi):
chrome_version_name=None, android_package=None,
archive_server_log=True, **kwargs):
"""Run the Chromedriver Python tests."""
- version_info = ''
- if chrome_version_name:
- version_info = '(%s)' % chrome_version_name
- with self.m.tempfile.temp_dir('server_log') as log_dir:
- server_log = log_dir.join('server_log')
- test_script_path = self.m.path['checkout'].join(
- 'chrome', 'test', 'chromedriver', 'test', 'run_py_tests.py')
- self.m.step('python_tests%s' % version_info,
- self._generate_test_command(
- test_script_path, chromedriver, server_log,
- ref_chromedriver=ref_chromedriver,
- android_package=android_package),
- **kwargs)
- if archive_server_log:
- self.archive_server_log(server_log)
+ test_name = 'python_tests%s' % (
+ ' %s' % chrome_version_name if chrome_version_name else '')
+ build_number = self.m.properties['buildnumber']
+
+ with self.m.step.nest(test_name):
+ with self.m.tempfile.temp_dir('server_log') as server_log_dir:
+ server_log = server_log_dir.join(
+ ('%s_%s' % (test_name, build_number)).replace(' ', '_'))
+
+ test_script_path = self.m.path['checkout'].join(
+ 'chrome', 'test', 'chromedriver', 'test', 'run_py_tests.py')
+ self.m.step('Run test %s' % test_name,
+ self._generate_test_command(
+ test_script_path, chromedriver, server_log,
+ ref_chromedriver=ref_chromedriver,
+ android_package=android_package),
+ **kwargs)
+ if archive_server_log:
+ self.archive_server_log(server_log)
def run_java_tests(self, chromedriver, chrome=None, chrome_version_name=None,
jbudorick 2016/07/20 21:49:22 These two functions seem very similar % test_name
mikecase (-- gone --) 2016/07/20 22:50:20 Factored out their common implementation into a _r
android_package=None, verbose=False,
archive_server_log=True, **kwargs):
"""Run the Chromedriver Java tests."""
- version_info = ''
- if chrome_version_name:
- version_info = '(%s)' % chrome_version_name
- with self.m.tempfile.temp_dir('server_log') as log_dir:
- server_log = log_dir.join('server_log')
- test_script_path = self.m.path['checkout'].join(
- 'chrome', 'test', 'chromedriver', 'test', 'run_java_tests.py')
- self.m.step('java_tests%s' % version_info,
- self._generate_test_command(
- test_script_path, chromedriver, server_log,
- ref_chromedriver=None, android_package=android_package,
- verbose=verbose),
- **kwargs)
- if archive_server_log:
- self.archive_server_log(server_log)
+ test_name = 'java_tests%s' % (
+ ' %s' % chrome_version_name if chrome_version_name else '')
+ build_number = self.m.properties['buildnumber']
+
+ with self.m.step.nest(test_name):
+ with self.m.tempfile.temp_dir('server_log') as server_log_dir:
+ server_log_dir = self.m.path.mkdtemp('server_log')
+ server_log = server_log_dir.join(
+ ('%s_%s' % (test_name, build_number)).replace(' ', '_'))
+
+ test_script_path = self.m.path['checkout'].join(
+ 'chrome', 'test', 'chromedriver', 'test', 'run_java_tests.py')
+ self.m.step('Run test %s' % test_name,
+ self._generate_test_command(
+ test_script_path, chromedriver, server_log,
+ ref_chromedriver=None, android_package=android_package,
+ verbose=verbose),
+ **kwargs)
+ if archive_server_log:
+ self.archive_server_log(server_log)
def run_all_tests(self, android_packages=None, archive_server_logs=True):
"""Run all Chromedriver tests."""
« 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