fetch_end_to_end_test: add recipe
Bug: none Change-Id: If727fd0e058dbb68a4f8a2bd210a1166bdd0449e Reviewed-on: https://chromium-review.googlesource.com/594047 Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>changes/47/594047/2
parent
8b478f0406
commit
e1054034a2
@ -0,0 +1,158 @@
|
||||
[
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
|
||||
"--spec-path",
|
||||
"cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'depot_tools', 'url': 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'}]",
|
||||
"--patch_root",
|
||||
"depot_tools",
|
||||
"--revision_mapping_file",
|
||||
"{\"got_revision\": \"depot_tools\"}",
|
||||
"--git-cache-dir",
|
||||
"[CACHE]/git",
|
||||
"--cleanup-dir",
|
||||
"[CLEANUP]/bot_update",
|
||||
"--output_json",
|
||||
"/path/to/tmp/json",
|
||||
"--revision",
|
||||
"depot_tools@HEAD"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"RECIPE_PACKAGE_REPO[depot_tools]"
|
||||
]
|
||||
},
|
||||
"infra_step": true,
|
||||
"name": "bot_update",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_TEXT@Some step text@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@{@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"depot_tools\": \"HEAD\"@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"depot_tools\": {@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/depot_tools.git\", @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"59bbfb4465019d8ed83bfe88fef566922953452a\"@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"depot_tools\", @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"59bbfb4465019d8ed83bfe88fef566922953452a\", @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#91780}\"@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"root\": \"depot_tools\", @@@",
|
||||
"@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
|
||||
"@@@STEP_LOG_LINE@json.output@}@@@",
|
||||
"@@@STEP_LOG_END@json.output@@@",
|
||||
"@@@SET_BUILD_PROPERTY@got_revision@\"59bbfb4465019d8ed83bfe88fef566922953452a\"@@@",
|
||||
"@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#91780}\"@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"listdir",
|
||||
"[START_DIR]/depot_tools/fetch_configs"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "listdir fetch_configs",
|
||||
"stdout": "/path/to/tmp/",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@listdir@[START_DIR]/depot_tools/fetch_configs/depot_tools.py@@@",
|
||||
"@@@STEP_LOG_LINE@listdir@[START_DIR]/depot_tools/fetch_configs/infra.py@@@",
|
||||
"@@@STEP_LOG_END@listdir@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"[START_DIR]/depot_tools/fetch.py",
|
||||
"depot_tools"
|
||||
],
|
||||
"cwd": "[TMP_BASE]/fetch_end_to_end_test_depot_tools_tmp_1",
|
||||
"env": {
|
||||
"DEPOT_TOOLS_UPDATE": "0"
|
||||
},
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"[START_DIR]/depot_tools"
|
||||
]
|
||||
},
|
||||
"name": "fetch depot_tools"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"rmtree",
|
||||
"[TMP_BASE]/fetch_end_to_end_test_depot_tools_tmp_1"
|
||||
],
|
||||
"env": {
|
||||
"DEPOT_TOOLS_UPDATE": "0"
|
||||
},
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"[START_DIR]/depot_tools"
|
||||
]
|
||||
},
|
||||
"infra_step": true,
|
||||
"name": "cleanup"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"[START_DIR]/depot_tools/fetch.py",
|
||||
"infra"
|
||||
],
|
||||
"cwd": "[TMP_BASE]/fetch_end_to_end_test_infra_tmp_2",
|
||||
"env": {
|
||||
"DEPOT_TOOLS_UPDATE": "0"
|
||||
},
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"[START_DIR]/depot_tools"
|
||||
]
|
||||
},
|
||||
"name": "fetch infra"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"rmtree",
|
||||
"[TMP_BASE]/fetch_end_to_end_test_infra_tmp_2"
|
||||
],
|
||||
"env": {
|
||||
"DEPOT_TOOLS_UPDATE": "0"
|
||||
},
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"[START_DIR]/depot_tools"
|
||||
]
|
||||
},
|
||||
"infra_step": true,
|
||||
"name": "cleanup (2)"
|
||||
},
|
||||
{
|
||||
"name": "$result",
|
||||
"recipe_result": null,
|
||||
"status_code": 0
|
||||
}
|
||||
]
|
@ -0,0 +1,53 @@
|
||||
# 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.
|
||||
|
||||
DEPS = [
|
||||
'bot_update',
|
||||
'gclient',
|
||||
'recipe_engine/context',
|
||||
'recipe_engine/file',
|
||||
'recipe_engine/path',
|
||||
'recipe_engine/python',
|
||||
'recipe_engine/step',
|
||||
]
|
||||
|
||||
|
||||
def RunSteps(api):
|
||||
# Create a test depot_tools checkout, possibly applying user patches.
|
||||
api.gclient.set_config('depot_tools')
|
||||
api.bot_update.ensure_checkout()
|
||||
|
||||
# List fetch configs available in the test depot_tools checkout.
|
||||
fetch_configs = sorted(
|
||||
api.path.basename(f)[:-3] for f in api.file.listdir(
|
||||
'listdir fetch_configs', api.path['checkout'].join('fetch_configs'))
|
||||
if str(f).endswith('.py'))
|
||||
|
||||
# Try to run "fetch" for each of the configs. It's important to use
|
||||
# the checkout under test.
|
||||
with api.context(
|
||||
env={'DEPOT_TOOLS_UPDATE': '0'},
|
||||
env_prefixes={'PATH': [api.path['checkout']]}):
|
||||
with api.step.defer_results():
|
||||
for config_name in fetch_configs:
|
||||
# Create a dedicated temp directory. We want to test checking out
|
||||
# from scratch.
|
||||
temp_dir = api.path.mkdtemp('fetch_end_to_end_test_%s' % config_name)
|
||||
|
||||
try:
|
||||
with api.context(cwd=temp_dir):
|
||||
api.python(
|
||||
'fetch %s' % config_name,
|
||||
api.path['checkout'].join('fetch.py'),
|
||||
[config_name])
|
||||
finally:
|
||||
api.file.rmtree('cleanup', temp_dir)
|
||||
|
||||
|
||||
def GenTests(api):
|
||||
yield (
|
||||
api.test('basic') +
|
||||
api.step_data('listdir fetch_configs', api.file.listdir(
|
||||
['depot_tools.py', 'infra.py']))
|
||||
)
|
Loading…
Reference in New Issue