blob: a30fc3d5685da4f2c03f488a7faac21ebf0df754 [file] [log] [blame]
# Copyright 2018 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.post_process import DoesNotRun, Filter, StatusFailure
DEPS = [
'recipe_engine/raw_io',
'recipe_engine/step',
'docker',
]
def RunSteps(api):
api.docker.ensure_installed()
version = api.docker.get_version()
if version:
api.step('log version', cmd=None).presentation.step_text = version
api.docker.login()
api.docker.run(
'testimage',
cmd_args=['test', 'cmd'],
dir_mapping=[('/foo', '/bar')],
env={'var1': '1', 'var2': '2'},
inherit_luci_context=True,
)
api.docker(
'push', 'gcr.io/chromium-container-registry/image:2018-11-16-01-25')
def GenTests(api):
yield api.test('example')
yield (
api.test('fail_installed') +
api.step_data('ensure docker installed', retcode=1) +
api.post_process(StatusFailure)
)
yield (
api.test('fail_get_version') +
api.override_step_data(
'docker version', api.raw_io.stream_output('Foo: bar')) +
api.post_process(DoesNotRun, 'log version') +
api.post_process(Filter('docker version'))
)