| # Copyright 2018 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_android', |
| 'depot_tools/bot_update', |
| 'depot_tools/gclient', |
| 'recipe_engine/context', |
| 'recipe_engine/path', |
| 'recipe_engine/properties', |
| ] |
| |
| |
| def RunSteps(api): |
| api.gclient.set_config('chromium') |
| # Sets api.path['checkout']. |
| api.bot_update.ensure_checkout() |
| globs = api.properties.get('globs') |
| # properties convert list to tuples. |
| if globs: |
| globs = list(globs) |
| api.chromium_android.download_build('test-bucket', 'test/path', |
| api.properties.get('extract_path'), globs) |
| |
| |
| def GenTests(api): |
| def check_args(check, step_odict, expected_cwd, expected_args): |
| step_name = 'unzip_build_product' |
| expected_cwd = expected_cwd or api.path['checkout'] |
| step = step_odict.get(step_name) |
| check('No step named "%s"' % step_name, step) |
| |
| check('Expected cwd %r but got %r' % (expected_cwd, step.cwd), |
| str(expected_cwd) == step.cwd) |
| |
| check('Expected args %r but got %r' % (expected_args, step.cmd), |
| expected_args == step.cmd) |
| return step_odict |
| |
| first_args = ['unzip', '-o', '[START_DIR]/src/out/build_product.zip'] |
| yield ( |
| api.test('basic') + |
| api.post_process( |
| post_process.MustRun, 'gsutil download_build_product') + |
| api.post_process(check_args, expected_cwd=None, |
| expected_args=first_args) + |
| api.post_process(post_process.DropExpectation) |
| ) |
| mock_extract_path = api.path['tmp_base'].join('bar') |
| yield ( |
| api.test('with extract_path') + |
| api.properties(extract_path=mock_extract_path) + |
| api.post_process( |
| post_process.MustRun, 'gsutil download_build_product') + |
| api.post_process(check_args, expected_cwd=mock_extract_path, |
| expected_args=first_args) + |
| api.post_process(post_process.DropExpectation) |
| ) |
| mock_globs = ['apks/*', 'gen/*'] |
| yield ( |
| api.test('with globs') + |
| api.properties(globs=mock_globs) + |
| api.post_process( |
| post_process.MustRun, 'gsutil download_build_product') + |
| api.post_process(check_args, expected_cwd=None, |
| expected_args=first_args + mock_globs) + |
| api.post_process(post_process.DropExpectation) |
| ) |