Chromium Code Reviews| Index: scripts/slave/recipes/chromedriver/chromedriver_android.py |
| diff --git a/scripts/slave/recipes/chromedriver/chromedriver_android.py b/scripts/slave/recipes/chromedriver/chromedriver_android.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5a88e697d3342c8dac83111fadbd03f00c600947 |
| --- /dev/null |
| +++ b/scripts/slave/recipes/chromedriver/chromedriver_android.py |
| @@ -0,0 +1,117 @@ |
| +# Copyright 2016 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +from recipe_engine import recipe_api |
| +from recipe_engine.types import freeze |
| + |
| +DEPS = [ |
| + 'adb', |
| + 'archive', |
| + 'chromedriver', |
| + 'chromium', |
| + 'chromium_android', |
| + 'commit_position', |
| + 'depot_tools/bot_update', |
| + 'depot_tools/gclient', |
| + 'recipe_engine/platform', |
| + 'recipe_engine/properties', |
| + 'recipe_engine/step', |
| +] |
| + |
| +BUILDERS = freeze({ |
| + 'chromium.fyi': { |
| + 'Android ChromeDriver Tests (dbg)': { |
| + 'config': 'main_builder', |
| + 'target': 'Debug', |
| + 'update_test_log': True, |
| + 'android_packages': [ |
| + 'chrome_beta', |
| + 'chrome_public', |
| + 'chrome_stable', |
| + 'chromedriver_webview_shell', |
| + ], |
| + 'install_apks': [ |
| + 'ChromeDriverWebViewShell.apk', |
| + 'ChromePublic.apk', |
| + ], |
| + }, |
| + }, |
| +}) |
| + |
| +REPO_URL = 'https://chromium.googlesource.com/chromium/src.git' |
| + |
| +def RunSteps(api): |
|
jbudorick
2016/06/24 13:31:09
Are you planning to have a separate recipe for non
mikecase (-- gone --)
2016/06/24 18:57:50
Yeah, I guess it would be nice to just have 1 reci
|
| + mastername = api.properties['mastername'] |
| + buildername = api.properties['buildername'] |
| + builder = BUILDERS[mastername][buildername] |
| + api.chromium_android.configure_from_properties( |
| + builder['config'], |
| + REPO_NAME='src', |
| + REPO_URL=REPO_URL, |
| + INTERNAL=False, |
| + BUILD_CONFIG=builder['target']) |
| + android_packages = builder.get('android_packages') |
| + update_test_log = builder.get('update_test_log') |
| + platform = api.chromedriver.get_chromedriver_platform(bool(android_packages)) |
|
jbudorick
2016/06/24 13:31:09
Is this necessary in a "chromedriver_android" reci
mikecase (-- gone --)
2016/06/24 18:57:50
Deleting (for now at least). When I add more platf
|
| + |
| + api.gclient.set_config('chromium') |
| + api.gclient.apply_config('android') |
| + api.bot_update.ensure_checkout() |
| + api.chromium_android.clean_local_files() |
| + api.chromium.runhooks() |
| + api.chromium_android.run_tree_truth() |
| + |
| + api.chromium_android.common_tests_setup_steps() |
| + |
| + api.archive.download_and_unzip_build( |
| + step_name='extract build', |
| + target=api.chromium.c.BUILD_CONFIG, |
| + build_url=None, |
| + build_archive_url=api.properties.get('parent_build_archive_url')) |
| + commit_position = api.commit_position.parse_revision( |
| + api.properties['got_revision_cp']) |
| + |
| + if builder['install_apks']: |
| + for apk in builder['install_apks']: |
| + api.chromium_android.adb_install_apk(apk) |
| + api.chromedriver.download_prebuilts() |
| + |
| + passed = True |
| + try: |
| + api.chromedriver.run_all_tests( |
| + android_packages=android_packages, |
| + archive_server_logs=True) |
| + except api.step.StepFailure: |
| + passed = False |
| + if update_test_log: |
| + api.chromedriver.update_test_results_log(platform, commit_position, passed) |
| + |
| + api.chromium_android.common_tests_final_steps() |
| + |
| +def GenTests(api): |
| + sanitize = lambda s: ''.join(c if c.isalnum() else '_' for c in s) |
| + |
| + yield ( |
| + api.test('%s_basic' % sanitize('Android ChromeDriver Tests (dbg)')) + |
| + api.properties.generic( |
| + buildername='Android ChromeDriver Tests (dbg)', |
| + slavename='slavename', |
| + mastername='chromium.fyi') + |
| + api.properties( |
| + parent_build_archive_url='gs://test-domain/test-archive.zip', |
| + got_revision='4f4b02f6b7fa20a3a25682c457bbc8ad589c8a00', |
| + got_revision_cp='refs/heads/master@{#333333}')) |
| + |
| + yield ( |
| + api.test( |
| + '%s_test_failure' % sanitize('Android ChromeDriver Tests (dbg)')) + |
| + api.properties.generic( |
| + buildername='Android ChromeDriver Tests (dbg)', |
| + slavename='slavename', |
| + mastername='chromium.fyi') + |
| + api.properties( |
| + parent_build_archive_url='gs://test-domain/test-archive.zip', |
| + got_revision='4f4b02f6b7fa20a3a25682c457bbc8ad589c8a00', |
| + got_revision_cp='refs/heads/master@{#333333}') + |
| + api.step_data('java_tests(chrome_stable)', retcode=1)) |