# 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. DEPS = [ 'recipe_engine/path', 'recipe_engine/properties', 'recipe_engine/step', ] def RunSteps(api): buildername = api.properties['buildername'] issue = api.properties.get('patch_issue') patchset = api.properties.get('patch_set') if not issue or not patchset: raise Exception('%s can only be run as a trybot.' % buildername) infrabots_dir = api.path['start_dir'].join('skia', 'infra', 'bots') trigger_wait_g3_script = infrabots_dir.join('g3_compile', 'trigger_wait_g3_task.py') # Trigger a compile task and wait for it to complete. cmd = ['python', trigger_wait_g3_script, '--issue', issue, '--patchset', patchset, ] api.step('Trigger and wait for g3 compile task', cmd=cmd) def GenTests(api): yield( api.test('g3_compile_trybot') + api.properties( buildername='Build-Debian9-Clang-TAP-Presubmit-G3_Framework', path_config='kitchen', swarm_out_dir='[SWARM_OUT_DIR]', repository='https://skia.googlesource.com/skia.git', patch_issue=1234, patch_set=1, revision='abc123', ) ) yield( api.test('g3_compile_trybot_failure') + api.properties( buildername='Build-Debian9-Clang-TAP-Presubmit-G3_Framework', path_config='kitchen', swarm_out_dir='[SWARM_OUT_DIR]', repository='https://skia.googlesource.com/skia.git', patch_issue=1234, patch_set=1, revision='abc123', ) + api.step_data('Trigger and wait for g3 compile task', retcode=1) ) yield( api.test('g3_compile_nontrybot') + api.properties( buildername='Build-Debian9-Clang-TAP-Presubmit-G3_Framework', path_config='kitchen', swarm_out_dir='[SWARM_OUT_DIR]', repository='https://skia.googlesource.com/skia.git', revision='abc123', ) + api.expect_exception('Exception') )