blob: de473d9ca989852dd537502b23100b48b58cab08 [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, DropExpectation, 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')])
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'))
)