Skip to content

Commit 772fa51

Browse files
committed
Merge branch 'main' into pr/45
2 parents 52581fc + bb760f6 commit 772fa51

6 files changed

Lines changed: 14 additions & 4 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
77

88
[project]
99
name = "robotframework-mbt"
10-
version = "0.10.0"
10+
version = "0.11.0"
1111
description = "Model-Based Testing in Robot framework with test case generation"
1212
readme = "README.md"
1313
authors = [{ name = "Johan Foederer", email = "github@famfoe.nl" }]

robotmbt/modeller.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
from robot.api import logger
3636
from robot.utils import is_list_like
37+
from robot.errors import TimeoutExceeded # Raised by Robot in case of keyword timeout
3738

3839
from .modelspace import ModelSpace
3940
from .steparguments import StepArguments, ArgKind
@@ -80,6 +81,8 @@ def process_scenario(scenario: Scenario, model: ModelSpace) -> tuple[Scenario |
8081
else:
8182
return None, None, dict(fail_msg=f"Unable to insert scenario {scenario.src_id}, "
8283
f"{scenario.name}, due to step '{step}': [{expr}] is False")
84+
except TimeoutExceeded:
85+
raise
8386
except Exception as err:
8487
return None, None, dict(fail_msg=f"Unable to insert scenario {scenario.src_id}, "
8588
f"{scenario.name}, due to step '{step}': [{expr}] {err}")
@@ -129,6 +132,8 @@ def handle_refinement_exit(inserted_refinement: Scenario, tracestate: TraceState
129132
try:
130133
if tracestate.model.process_expression(expr, refinement_tail.steps[1].args) is False:
131134
break
135+
except TimeoutExceeded:
136+
raise
132137
except Exception:
133138
break
134139
else:
@@ -211,6 +216,8 @@ def generate_scenario_variant(scenario: Scenario, model: ModelSpace) -> Scenario
211216
step.args[modded_arg].value = modded_free_args
212217
else:
213218
raise AssertionError(f"Unknown argument kind for {modded_arg}")
219+
except TimeoutExceeded:
220+
raise
214221
except Exception as err:
215222
logger.debug(f"Unable to insert scenario {scenario.src_id}, {scenario.name}, due to modifier\n"
216223
f" In step {step}: {err}")

robotmbt/steparguments.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def make_codestring(text: Any) -> str:
116116
return codestr.title()
117117
try:
118118
float(codestr)
119-
except:
119+
except (TypeError, ValueError, OverflowError, ZeroDivisionError):
120120
codestr = StepArgument.make_identifier(codestr)
121121
return codestr
122122

robotmbt/substitutionmap.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def __init__(self, constraint: list[Any]):
118118
# Keep the items in optionset unique. Refrain from using Python sets
119119
# due to non-deterministic behaviour when using random seeding.
120120
self.optionset: list[Any] | None = list(dict.fromkeys(constraint))
121-
except:
121+
except TypeError:
122122
self.optionset: list[Any] | None = None
123123
if not self.optionset or isinstance(constraint, str):
124124
raise ValueError(f"Invalid option set for initial constraint: {constraint}")

robotmbt/suitedata.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import copy
3434
from typing import Literal, Any
3535

36+
from robot.errors import TimeoutExceeded # Raised by Robot in case of keyword timeout
3637
from robot.running.arguments.argumentspec import ArgumentSpec
3738
from robot.running.arguments.argumentvalidator import ArgumentValidator
3839
from robot.running.keywordimplementation import KeywordImplementation
@@ -230,6 +231,8 @@ def add_robot_dependent_data(self, robot_kw: KeywordImplementation):
230231
self.args += self.__handle_non_embedded_arguments(robot_kw.args)
231232
self.signature = robot_kw.name
232233
self.model_info = self.__parse_model_info(robot_kw._doc)
234+
except TimeoutExceeded:
235+
raise
233236
except Exception as ex:
234237
self.model_info['error'] = str(ex)
235238

robotmbt/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION: str = '0.10.0'
1+
VERSION: str = '0.11.0'

0 commit comments

Comments
 (0)