Change the default value of scenario_output
Change the default value of the scenario_output variable of the _run_scenario_once function of the rally/benchmark/runners/base.py module because there was no errors key in this variable when a scenario failed with timeout. Closes-Bug: 1336762 Change-Id: Ieebc2064bcfee3f2bd23ee40394f8117e9096f01
This commit is contained in:
parent
8e03a98837
commit
044abcbd8f
@ -55,11 +55,11 @@ def _run_scenario_once(args):
|
||||
clients=osclients.Clients(context["user"]["endpoint"]))
|
||||
|
||||
error = []
|
||||
scenario_output = {}
|
||||
scenario_output = {"errors": "", "data": {}}
|
||||
try:
|
||||
with rutils.Timer() as timer:
|
||||
scenario_output = getattr(scenario,
|
||||
method_name)(**kwargs) or {}
|
||||
method_name)(**kwargs) or scenario_output
|
||||
except Exception as e:
|
||||
error = utils.format_exc(e)
|
||||
if cfg.CONF.debug:
|
||||
|
@ -235,11 +235,8 @@ class TaskCommands(object):
|
||||
# NOTE(hughsaunders): ssrs=scenario specific results
|
||||
ssrs = []
|
||||
for result in raw:
|
||||
try:
|
||||
if result['scenario_output']['data']:
|
||||
ssrs.append(result['scenario_output']['data'])
|
||||
except (KeyError, TypeError):
|
||||
# No SSRs in this result
|
||||
pass
|
||||
if ssrs:
|
||||
keys = set()
|
||||
for ssr in ssrs:
|
||||
|
@ -75,14 +75,14 @@ class ScenarioHelpersTestCase(test.TestCase):
|
||||
args = (1, fakes.FakeScenario, "do_it", context, {})
|
||||
result = base._run_scenario_once(args)
|
||||
|
||||
expected_reuslt = {
|
||||
expected_result = {
|
||||
"duration": fakes.FakeTimer().duration(),
|
||||
"idle_duration": 0,
|
||||
"error": [],
|
||||
"scenario_output": {},
|
||||
"scenario_output": {"errors": "", "data": {}},
|
||||
"atomic_actions": []
|
||||
}
|
||||
self.assertEqual(expected_reuslt, result)
|
||||
self.assertEqual(expected_result, result)
|
||||
|
||||
@mock.patch("rally.benchmark.runners.base.rutils")
|
||||
@mock.patch("rally.benchmark.runners.base.osclients")
|
||||
@ -93,14 +93,14 @@ class ScenarioHelpersTestCase(test.TestCase):
|
||||
args = (1, fakes.FakeScenario, "with_output", context, {})
|
||||
result = base._run_scenario_once(args)
|
||||
|
||||
expected_reuslt = {
|
||||
expected_result = {
|
||||
"duration": fakes.FakeTimer().duration(),
|
||||
"idle_duration": 0,
|
||||
"error": [],
|
||||
"scenario_output": fakes.FakeScenario().with_output(),
|
||||
"atomic_actions": []
|
||||
}
|
||||
self.assertEqual(expected_reuslt, result)
|
||||
self.assertEqual(expected_result, result)
|
||||
|
||||
@mock.patch("rally.benchmark.runners.base.rutils")
|
||||
@mock.patch("rally.benchmark.runners.base.osclients")
|
||||
@ -110,13 +110,13 @@ class ScenarioHelpersTestCase(test.TestCase):
|
||||
args = (1, fakes.FakeScenario, "something_went_wrong", context, {})
|
||||
result = base._run_scenario_once(args)
|
||||
expected_error = result.pop("error")
|
||||
expected_reuslt = {
|
||||
expected_result = {
|
||||
"duration": fakes.FakeTimer().duration(),
|
||||
"idle_duration": 0,
|
||||
"scenario_output": {},
|
||||
"scenario_output": {"errors": "", "data": {}},
|
||||
"atomic_actions": []
|
||||
}
|
||||
self.assertEqual(expected_reuslt, result)
|
||||
self.assertEqual(expected_result, result)
|
||||
self.assertEqual(expected_error[:2],
|
||||
[str(Exception), "Something went wrong"])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user