blob: c1331f62b492e3434a5874e398cffcf33f586729 [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_tests',
'recipe_engine/properties',
'recipe_engine/python',
'recipe_engine/step',
]
from recipe_engine import post_process
def RunSteps(api):
test = api.chromium_tests.steps.MockTest(
name=api.properties.get('test_name', 'MockTest'),
abort_on_failure=api.properties.get('abort_on_failure', False), api=api)
test.pre_run(api.chromium_tests.m, '')
try:
test.run(api.chromium_tests.m, '')
except api.step.InfraFailure:
api.python.succeeding_step('infra failure in %s' % test.name, '')
except api.step.StepFailure:
if test.abort_on_failure:
api.python.succeeding_step('fatal step failure in %s' % test.name, '')
else:
api.python.succeeding_step('step failure in %s' % test.name, '')
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('basic')
yield (
api.test('failure') +
api.properties(test_name='base_unittests') +
api.chromium_tests.override_step_data(
'base_unittests', retcode=failure_code) +
api.post_process(post_process.MustRun, 'step failure in base_unittests') +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('failure_abort') +
api.properties(
abort_on_failure=True,
test_name='base_unittests') +
api.chromium_tests.override_step_data(
'base_unittests', retcode=failure_code) +
api.post_process(
post_process.MustRun,
'fatal step failure in base_unittests') +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('infra_failure') +
api.properties(test_name='base_unittests') +
api.chromium_tests.override_step_data(
'base_unittests', retcode=infra_code) +
api.post_process(post_process.MustRun, 'infra failure in base_unittests') +
api.post_process(post_process.DropExpectation)
)