blob: af6c15df1a5eb33b5587dac7f208034a3f376a51 [file] [log] [blame]
# Copyright 2015 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 = [
'chromium',
'depot_tools/bot_update',
'depot_tools/gclient',
'recipe_engine/context',
'recipe_engine/path',
'recipe_engine/platform',
'recipe_engine/properties',
'recipe_engine/python',
'recipe_engine/step',
]
def _CheckoutSteps(api):
api.gclient.set_config('webports')
result = api.bot_update.ensure_checkout()
api.gclient.runhooks()
# HACK(aneeshm): Borrowed from iannucci's hack in nacl.py.
got_revision = result.presentation.properties['got_revision']
return got_revision
def _AnnotatedStepsSteps(api, got_revision):
# Default environemnt; required by all builders.
env = {
'BUILDBOT_MASTERNAME': api.properties['mastername'],
'BUILDBOT_BUILDERNAME': api.properties['buildername'],
'BUILDBOT_REVISION': api.properties['revision'],
'BUILDBOT_GOT_REVISION': got_revision,
'BUILDBOT_SLAVE_TYPE': api.properties['slavetype'],
}
with api.context(cwd=api.path['checkout'], env=env):
api.step('annotated steps',
[api.path['checkout'].join('build_tools',
'buildbot_selector.sh')],
allow_subannotations=True,
)
def RunSteps(api):
got_revision = _CheckoutSteps(api)
_AnnotatedStepsSteps(api, got_revision)
def GenTests(api):
yield api.test('linux') +\
api.platform('linux', 64) +\
api.properties(mastername = 'client.nacl.ports') +\
api.properties(buildername = 'linux-glibc-0') +\
api.properties(revision = 'a' * 40) +\
api.properties(bot_id = 'TestSlave') +\
api.properties(slavetype = 'BuilderTester')