blob: 2c4d08c2542d48bd2077a913876b18a7e1ac2141 [file] [log] [blame]
# 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)
)