blob: f97ea2f81b6fa3936c06bf5ea5ef02aafefab2ec [file] [log] [blame]
# Copyright 2017 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',
'chromium_tests',
'depot_tools/tryserver',
'recipe_engine/platform',
'recipe_engine/properties',
'recipe_engine/step',
'test_results',
'test_utils',
]
from recipe_engine import post_process
def RunSteps(api):
api.chromium.set_config('chromium')
api.test_results.set_config('public_server')
tests = [
api.chromium_tests.steps.MockTest(
name=api.properties.get('test_name', 'MockTest'),
abort_on_failure=api.properties.get('abort_on_failure', False)),
api.chromium_tests.steps.MockTest(name='test2')
]
failed_tests = api.test_utils.run_tests(
api.chromium_tests.m, tests, '')
if failed_tests:
raise api.step.StepFailure('failed: %s' % ' '.join(t.name for t in failed_tests))
def GenTests(api):
failure_code = api.chromium_tests.steps.MockTest.ExitCodes.FAILURE
infra_code = api.chromium_tests.steps.MockTest.ExitCodes.INFRA_FAILURE
yield (
api.test('success') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.post_process(post_process.MustRun, 'test2') +
api.post_process(post_process.StatusCodeIn, 0) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data('base_unittests', retcode=failure_code) +
api.post_process(post_process.MustRun, 'test2') +
api.post_process(post_process.StatusCodeIn, 1) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('failure_abort') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests',
abort_on_failure=True) +
api.override_step_data('base_unittests', retcode=failure_code) +
api.post_process(post_process.DoesNotRun, 'test2') +
api.post_process(post_process.StatusCodeIn, 1) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('infra_failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data('base_unittests', retcode=infra_code) +
api.post_process(post_process.DoesNotRun, 'test2') +
api.post_process(post_process.StatusCodeIn, 2) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('pre_run_failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data(
'test_pre_run.pre_run base_unittests',
retcode=failure_code) +
api.post_process(post_process.MustRun, 'base_unittests') +
api.post_process(post_process.MustRun, 'test2') +
api.post_process(post_process.StatusCodeIn, 1) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('pre_run_infra_failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data(
'test_pre_run.pre_run base_unittests',
retcode=infra_code) +
api.post_process(post_process.DoesNotRun, 'base_unittests') +
api.post_process(post_process.StatusCodeIn, 2) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('post_run_failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data(
'post_run base_unittests',
retcode=failure_code) +
api.post_process(post_process.MustRun, 'post_run test2') +
api.post_process(post_process.StatusCodeIn, 1) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('post_run_failure_abort') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests',
abort_on_failure=True) +
api.override_step_data('post_run base_unittests', retcode=failure_code) +
api.post_process(post_process.DoesNotRun, 'post_run test2') +
api.post_process(post_process.StatusCodeIn, 1) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('post_run_infra_failure') +
api.properties(
mastername='test_mastername',
buildername='test_buildername',
bot_id='test_bot_id',
buildnumber=123,
test_name='base_unittests') +
api.override_step_data(
'post_run base_unittests',
retcode=infra_code) +
api.post_process(post_process.DoesNotRun, 'post_run test2') +
api.post_process(post_process.StatusCodeIn, 2) +
api.post_process(post_process.DropExpectation)
)