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.
113 lines
3.9 KiB
Python
113 lines
3.9 KiB
Python
# Copyright 2014 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.
|
|
|
|
PYTHON_VERSION_COMPATIBILITY = 'PY2+3'
|
|
|
|
DEPS = [
|
|
'gerrit',
|
|
'recipe_engine/buildbucket',
|
|
'recipe_engine/json',
|
|
'recipe_engine/raw_io',
|
|
'recipe_engine/path',
|
|
'recipe_engine/platform',
|
|
'recipe_engine/properties',
|
|
'recipe_engine/step',
|
|
'tryserver',
|
|
]
|
|
|
|
from PB.go.chromium.org.luci.buildbucket.proto.common import GerritChange
|
|
|
|
|
|
def RunSteps(api):
|
|
api.path['checkout'] = api.path['start_dir']
|
|
if api.properties.get('patch_text'):
|
|
api.step('patch_text test', [
|
|
'echo', str(api.tryserver.get_footers(api.properties['patch_text']))])
|
|
api.step('patch_text test', [
|
|
'echo', str(api.tryserver.get_footer(
|
|
'Foo', api.properties['patch_text']))])
|
|
return
|
|
|
|
if api.tryserver.gerrit_change:
|
|
assert (api.tryserver.gerrit_change_repo_url ==
|
|
'https://chromium.googlesource.com/chromium/src')
|
|
assert (api.tryserver.gerrit_change_repo_host ==
|
|
'chromium.googlesource.com')
|
|
assert (api.tryserver.gerrit_change_repo_project ==
|
|
'chromium/src')
|
|
assert api.tryserver.gerrit_change_fetch_ref == 'refs/changes/27/91827/1'
|
|
expected_target_ref = api.properties.get(
|
|
'expected_target_ref', 'refs/heads/main')
|
|
assert api.tryserver.gerrit_change_target_ref == expected_target_ref
|
|
assert (api.tryserver.gerrit_change_review_url ==
|
|
'https://chromium-review.googlesource.com/c/91827/1')
|
|
|
|
if api.tryserver.is_gerrit_issue:
|
|
api.tryserver.get_footers()
|
|
api.tryserver.get_footer('testfooter')
|
|
|
|
if api.tryserver.is_tryserver:
|
|
api.tryserver.set_subproject_tag('v8')
|
|
|
|
api.tryserver.set_patch_failure_tryjob_result()
|
|
api.tryserver.set_compile_failure_tryjob_result()
|
|
api.tryserver.set_test_failure_tryjob_result()
|
|
api.tryserver.set_invalid_test_results_tryjob_result()
|
|
api.tryserver.set_test_timeout_tryjob_result()
|
|
api.tryserver.set_test_expired_tryjob_result()
|
|
|
|
api.tryserver.normalize_footer_name('Cr-Commit-Position')
|
|
|
|
api.tryserver.set_change(
|
|
GerritChange(host='chromium-review.googlesource.com',
|
|
project='infra/luci/recipes-py',
|
|
change=1234567,
|
|
patchset=1))
|
|
assert (api.tryserver.gerrit_change_repo_url ==
|
|
'https://chromium.googlesource.com/infra/luci/recipes-py')
|
|
assert api.tryserver.gerrit_change_fetch_ref == 'refs/changes/67/1234567/1'
|
|
|
|
|
|
def GenTests(api):
|
|
# The 'test_patch_root' property used below is just so that these
|
|
# tests can avoid using the gclient module to calculate the
|
|
# patch root. Normal users would use gclient.get_gerrit_patch_root().
|
|
yield (api.test('with_wrong_patch') +
|
|
api.platform('win', 32) +
|
|
api.properties(test_patch_root=''))
|
|
|
|
yield (api.test('with_gerrit_patch') +
|
|
api.buildbucket.try_build(
|
|
'chromium',
|
|
'linux',
|
|
git_repo='https://chromium.googlesource.com/chromium/src',
|
|
change_number=91827,
|
|
patch_set=1))
|
|
|
|
yield (api.test('with_gerrit_patch_and_target_ref') +
|
|
api.buildbucket.try_build(
|
|
'chromium',
|
|
'linux',
|
|
git_repo='https://chromium.googlesource.com/chromium/src',
|
|
change_number=91827,
|
|
patch_set=1) +
|
|
api.properties(expected_target_ref='refs/heads/experiment') +
|
|
api.tryserver.gerrit_change_target_ref('refs/heads/experiment'))
|
|
|
|
yield (api.test('with_wrong_patch_new') + api.platform('win', 32) +
|
|
api.properties(test_patch_root='sub\\project'))
|
|
|
|
yield (api.test('basic_tags') +
|
|
api.properties(
|
|
patch_text='hihihi\nfoo:bar\nbam:baz',
|
|
footer='foo'
|
|
) +
|
|
api.step_data(
|
|
'parse description',
|
|
api.json.output({'Foo': ['bar']})) +
|
|
api.step_data(
|
|
'parse description (2)',
|
|
api.json.output({'Foo': ['bar']}))
|
|
)
|