| # Copyright 2017 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 post_process |
| |
| DEPS = [ |
| 'chromium_checkout', |
| 'chromium_tests', |
| 'recipe_engine/buildbucket', |
| 'recipe_engine/path', |
| 'recipe_engine/platform', |
| 'recipe_engine/properties', |
| 'recipe_engine/runtime', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| bot_config = api.chromium_tests.create_bot_config_object( |
| [api.chromium_tests.create_bot_id('chromium.linux', 'Linux Builder')]) |
| |
| api.chromium_tests.configure_build(bot_config) |
| |
| api.chromium_checkout.ensure_checkout(bot_config) |
| |
| api.step('details', []) |
| api.step.active_result.presentation.logs['details'] = [ |
| 'working_dir: %r' % (api.chromium_checkout.working_dir,), |
| 'affected_files: %r' % ( |
| api.chromium_checkout.get_files_affected_by_patch(),), |
| ] |
| |
| |
| def GenTests(api): |
| yield api.test('full') |
| |
| def verify_checkout_dir(check, step_odict, expected_path): |
| step = step_odict['git diff to analyze patch'] |
| check(step['cwd'] == str(expected_path)) |
| return {} |
| |
| def try_build(): |
| return api.buildbucket.try_build( |
| project='chromium', |
| builder='linux', |
| git_repo='https://chromium.googlesource.com/chromium/src') |
| |
| yield ( |
| api.test('buildbot_annotated_run') + |
| try_build() + |
| api.platform('win', 64) + |
| api.properties( |
| buildername='example_buildername', |
| path_config='buildbot') + |
| api.post_process(verify_checkout_dir, api.path['start_dir'].join('src')) |
| ) |
| |
| yield ( |
| api.test('buildbot_remote_run') + |
| try_build() + |
| api.properties( |
| buildername='example_buildername', |
| path_config='kitchen') + # not a typo... T_T |
| api.post_process(verify_checkout_dir, |
| api.path['builder_cache'].join('linux', 'src')) |
| ) |
| |
| yield ( |
| api.test('buildbot_remote_run_kitchen') + |
| try_build() + |
| api.properties( |
| buildername='example_buildername', |
| path_config='generic') + |
| api.post_process(verify_checkout_dir, |
| api.path['builder_cache'].join('linux', 'src')) |
| ) |
| |
| yield ( |
| api.test('luci') + |
| try_build() + |
| api.runtime(is_luci=True, is_experimental=False) + |
| api.properties( |
| buildername='does not matter') + |
| api.post_process(verify_checkout_dir, |
| api.path['cache'].join('builder', 'src')) |
| ) |