You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
# Copyright 2019 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
|
|
from recipe_engine import recipe_api
|
|
|
|
|
|
PYTHON_VERSION_COMPATIBILITY = 'PY3'
|
|
|
|
DEPS = [
|
|
'gclient',
|
|
'presubmit',
|
|
'recipe_engine/buildbucket',
|
|
'recipe_engine/context',
|
|
'recipe_engine/path',
|
|
'recipe_engine/properties',
|
|
'recipe_engine/raw_io',
|
|
'recipe_engine/runtime',
|
|
]
|
|
|
|
|
|
PROPERTIES = {
|
|
'patch_project': recipe_api.Property(None),
|
|
'patch_repository_url': recipe_api.Property(None),
|
|
}
|
|
|
|
|
|
def RunSteps(api, patch_project, patch_repository_url):
|
|
api.gclient.set_config('infra')
|
|
with api.context(cwd=api.path.cache_dir / 'builder'):
|
|
bot_update_step = api.presubmit.prepare()
|
|
|
|
|
|
def GenTests(api):
|
|
yield (api.test('basic') + api.runtime(is_experimental=False) +
|
|
api.buildbucket.try_build(project='infra') +
|
|
api.post_process(post_process.StatusSuccess) +
|
|
api.post_process(post_process.DropExpectation))
|
|
|
|
yield (api.test('runhooks') + api.runtime(is_experimental=False) +
|
|
api.buildbucket.try_build(project='infra') +
|
|
api.presubmit(runhooks=True) +
|
|
api.post_process(post_process.MustRun, 'gclient runhooks') +
|
|
api.post_process(post_process.StatusSuccess) +
|
|
api.post_process(post_process.DropExpectation))
|
|
|
|
yield api.test(
|
|
'failed_commit',
|
|
api.runtime(is_experimental=False),
|
|
api.buildbucket.try_build(project='infra'),
|
|
api.step_data(
|
|
'commit-git-patch',
|
|
retcode=1,
|
|
stdout=api.raw_io.output_text(
|
|
'nothing to commit, working tree clean'),
|
|
),
|
|
api.expect_status('FAILURE'),
|
|
api.post_check(
|
|
post_process.SummaryMarkdownRE,
|
|
'Was an identical diff already submitted elsewhere?',
|
|
),
|
|
api.post_process(post_process.DropExpectation),
|
|
)
|