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