Skip to content

Commit 523aaf0

Browse files
committed
refactor: declare global_error overloads
1 parent 224d26c commit 523aaf0

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

  • allure-python-commons/src/allure_commons

allure-python-commons/src/allure_commons/_allure.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -239,19 +239,24 @@ def file(self, source, name=None, attachment_type=None, extension=None):
239239
global_attach = GlobalAttach()
240240

241241

242-
def _resolve_global_error_details(error_or_message, trace=None):
243-
if isinstance(error_or_message, BaseException):
244-
return (
245-
format_exception(type(error_or_message), error_or_message),
246-
format_traceback(error_or_message.__traceback__),
247-
)
242+
@overload
243+
def global_error(value: BaseException) -> None:
244+
...
248245

249-
return error_or_message, trace
246+
247+
@overload
248+
def global_error(value: str, trace: Union[str, None] = None) -> None:
249+
...
250250

251251

252-
def global_error(error_or_message, trace=None):
253-
message, error_trace = _resolve_global_error_details(error_or_message, trace=trace)
254-
plugin_manager.hook.global_error(message=message, trace=error_trace)
252+
def global_error(value, trace=None):
253+
message = None
254+
if isinstance(value, BaseException):
255+
message = format_exception(type(value), value)
256+
trace = format_traceback(value.__traceback__)
257+
else:
258+
message = value
259+
plugin_manager.hook.global_error(message=message, trace=trace)
255260

256261

257262
class fixture:

0 commit comments

Comments
 (0)