blob: 9da6e077f3be7178a7405cd6ca8e4ae54fdec492 [file] [log] [blame]
# Copyright 2015 The LUCI Authors. All rights reserved.
# Use of this source code is governed under the Apache License, Version 2.0
# that can be found in the LICENSE file.
"""Tests that engine.py can handle unknown recipe results."""
from PB.recipe_engine import result as result_pb2
from PB.recipes.recipe_engine.engine_tests.incorrect_recipe_result import InputProps
from recipe_engine import post_process
PYTHON_VERSION_COMPATIBILITY = 'PY2+3'
DEPS = [
'step',
'json',
'properties'
]
PROPERTIES = InputProps
def RunSteps(api, props):
if props.use_result_type:
return result_pb2.Result()
return {'summary': 'test'}
def GenTests(api):
yield (
api.test('incorrect_object_returned') +
api.properties(
InputProps(use_result_type=False)
) +
api.post_process(post_process.StatusFailure) +
api.post_process(post_process.ResultReasonRE,
('"<(class|type) \'dict\'>" is not a valid return type for recipes\.'
' Did you mean to use "RawResult"\?')) +
api.post_process(post_process.DropExpectation)
)
yield (
api.test('result_object_returned') +
api.properties(
InputProps(use_result_type=True)
) +
api.post_process(post_process.StatusFailure) +
api.post_process(post_process.ResultReason,
('"<class \'recipe_engine.result_pb2.Result\'>"'
' is not a valid return type for recipes.'
' Did you mean to use "RawResult"?')) +
api.post_process(post_process.DropExpectation)
)