|
34 | 34 |
|
35 | 35 | from robot.api import logger |
36 | 36 | from robot.utils import is_list_like |
| 37 | +from robot.errors import TimeoutExceeded # Raised by Robot in case of keyword timeout |
37 | 38 |
|
38 | 39 | from .modelspace import ModelSpace |
39 | 40 | from .steparguments import StepArguments, ArgKind |
@@ -80,6 +81,8 @@ def process_scenario(scenario: Scenario, model: ModelSpace) -> tuple[Scenario | |
80 | 81 | else: |
81 | 82 | return None, None, dict(fail_msg=f"Unable to insert scenario {scenario.src_id}, " |
82 | 83 | f"{scenario.name}, due to step '{step}': [{expr}] is False") |
| 84 | + except TimeoutExceeded: |
| 85 | + raise |
83 | 86 | except Exception as err: |
84 | 87 | return None, None, dict(fail_msg=f"Unable to insert scenario {scenario.src_id}, " |
85 | 88 | f"{scenario.name}, due to step '{step}': [{expr}] {err}") |
@@ -129,6 +132,8 @@ def handle_refinement_exit(inserted_refinement: Scenario, tracestate: TraceState |
129 | 132 | try: |
130 | 133 | if tracestate.model.process_expression(expr, refinement_tail.steps[1].args) is False: |
131 | 134 | break |
| 135 | + except TimeoutExceeded: |
| 136 | + raise |
132 | 137 | except Exception: |
133 | 138 | break |
134 | 139 | else: |
@@ -211,6 +216,8 @@ def generate_scenario_variant(scenario: Scenario, model: ModelSpace) -> Scenario |
211 | 216 | step.args[modded_arg].value = modded_free_args |
212 | 217 | else: |
213 | 218 | raise AssertionError(f"Unknown argument kind for {modded_arg}") |
| 219 | + except TimeoutExceeded: |
| 220 | + raise |
214 | 221 | except Exception as err: |
215 | 222 | logger.debug(f"Unable to insert scenario {scenario.src_id}, {scenario.name}, due to modifier\n" |
216 | 223 | f" In step {step}: {err}") |
|
0 commit comments