# 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 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")