blob: 7382a133d0a9f80606b62d3841a7f86d51168ed6 [file] [log] [blame]
# 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.
"""Buildbot recipe definition for the various Syzygy Smoke Test builder.
To be tested using a command-line like:
/build/scripts/tools/run_recipe.py syzygy/continuous
revision=0e9f25b1098271be2b096fd1c095d6d907cf86f7
mastername=master.client.syzygy
"buildername=Syzygy Smoke Test"
bot_id=fake_slave
buildnumber=1
Places resulting output in build/slave/fake_slave. In order for the Smoke Test
builder to run successfully the appropriate gsutil boto credentials must be
placed in build/site_config/.boto. Cloud storage destinations will be prefixed
with 'test/' in order to not pollute the official coverage archives during
testing.
"""
# Recipe module dependencies.
DEPS = [
'chromium',
'depot_tools/gclient',
'recipe_engine/platform',
'recipe_engine/properties',
'syzygy',
]
from recipe_engine.recipe_api import Property
PROPERTIES = {
'buildername': Property(),
}
def RunSteps(api, buildername):
"""Generates the sequence of steps that will be run on the coverage bot."""
assert buildername == 'Syzygy Smoke Test'
# Configure the build environment.
s = api.syzygy
kwargs = {'BUILD_CONFIG': 'Release'}
s.set_config('syzygy', **kwargs)
api.chromium.set_config('syzygy', **kwargs)
api.gclient.set_config('syzygy', **kwargs)
# Clean up any running processes on the slave.
s.taskkill()
# Checkout and compile the project.
s.checkout()
s.runhooks()
s.download_binaries()
s.smoke_test()
def GenTests(api):
"""Generates an end-to-end successful test for this builder."""
yield api.syzygy.generate_test(api, 'Syzygy Smoke Test')