From 77df0f2b6a558ad2c3d81d01b19feedb43a7c407 Mon Sep 17 00:00:00 2001 From: Anastasia Kuznetsova Date: Thu, 1 Oct 2015 12:29:49 +0300 Subject: [PATCH] Fix more unit tests in py34 job - fix: 'dict_values' object does not support indexing - fix: 'ValueError' object has no attribute 'message' - fix: RuntimeError: dictionary changed size during iteration Change-Id: I3581783b84a6785c8d5ad07cbd2d5cb190c73d85 --- mistral/engine/task_handler.py | 2 +- mistral/expressions.py | 2 +- mistral/workflow/with_items.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mistral/engine/task_handler.py b/mistral/engine/task_handler.py index e32959955..2439e2a6b 100644 --- a/mistral/engine/task_handler.py +++ b/mistral/engine/task_handler.py @@ -466,7 +466,7 @@ def _schedule_run_workflow(task_ex, task_spec, wf_input, index): if 'env' in parent_wf_ex.params: wf_params['env'] = parent_wf_ex.params['env'] - for k, v in wf_input.items(): + for k, v in list(wf_input.items()): if k not in wf_spec.get_input(): wf_params[k] = v del wf_input[k] diff --git a/mistral/expressions.py b/mistral/expressions.py index c203356b8..6094f1f89 100644 --- a/mistral/expressions.py +++ b/mistral/expressions.py @@ -78,7 +78,7 @@ class YAQLEvaluator(Evaluator): try: YAQL_ENGINE(expression) except (yaql_exc.YaqlException, KeyError, ValueError, TypeError) as e: - raise exc.YaqlEvaluationException(e.message) + raise exc.YaqlEvaluationException(getattr(e, 'message', e)) @classmethod def evaluate(cls, expression, data_context): diff --git a/mistral/workflow/with_items.py b/mistral/workflow/with_items.py index 3774215ee..0cbdb6b24 100644 --- a/mistral/workflow/with_items.py +++ b/mistral/workflow/with_items.py @@ -144,7 +144,7 @@ def prepare_runtime_context(task_ex, task_spec, input_dicts): def validate_input(with_items_input): # Take only mapped values and check them. - values = with_items_input.values() + values = list(with_items_input.values()) if not all([isinstance(v, list) for v in values]): raise exc.InputException(