blob: d5bbe1e4790756ab1a57b9592abeaa007fa07d5f [file] [log] [blame]
# Copyright 2022 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 PB.go.chromium.org.luci.swarming.proto.api_v2 import (
swarming as swarming_pb)
from PB.recipe_modules.recipe_engine.led import properties as led_properties_pb
PYTHON_VERSION_COMPATIBILITY = 'PY3'
DEPS = [
'tryserver',
'recipe_engine/buildbucket',
'recipe_engine/properties',
]
def RunSteps(api):
api.tryserver.require_is_tryserver()
def GenTests(api):
yield api.test(
'tryjob',
api.buildbucket.try_build(),
api.post_check(post_process.StatusSuccess),
api.post_process(post_process.DropExpectation),
)
yield api.test(
'not-a-tryjob',
api.post_check(post_process.StatusException),
api.post_check(post_process.StepException, 'not a tryjob'),
api.post_process(post_process.DropExpectation),
status="INFRA_FAILURE",
)
yield api.test(
'not-a-tryjob-led',
api.properties(
**{
'$recipe_engine/led':
led_properties_pb.InputProperties(
led_run_id='fake-run-id',
rbe_cas_input=swarming_pb.CASReference(
cas_instance=(
'projects/example/instances/default_instance'),
digest=swarming_pb.Digest(
hash='examplehash',
size_bytes=71,
),
),
),
}),
api.post_check(post_process.StatusFailure),
api.post_check(post_process.StepFailure, 'not a tryjob'),
api.post_process(post_process.DropExpectation),
status="FAILURE")