From bc2ba55f70db35f0780a45c4149efbedc89e01c7 Mon Sep 17 00:00:00 2001 From: Brandon Hoffman Date: Wed, 26 Sep 2018 19:32:13 -0500 Subject: [PATCH] add exception handeling for warning serialization issues --- xdist/remote.py | 2 +- xdist/workermanage.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/xdist/remote.py b/xdist/remote.py index 091bde8..bee3471 100644 --- a/xdist/remote.py +++ b/xdist/remote.py @@ -182,7 +182,7 @@ def serialize_warning_message(warning_message): message_module = type(warning_message.message).__module__ message_class_name = type(warning_message.message).__name__ message_args = warning_message.message.args - message_str = None + message_str = str(warning_message.message) else: message_str = warning_message.message message_module = None diff --git a/xdist/workermanage.py b/xdist/workermanage.py index b607d4e..d6224a2 100644 --- a/xdist/workermanage.py +++ b/xdist/workermanage.py @@ -426,7 +426,10 @@ def unserialize_warning_message(data): if data["message_module"]: mod = importlib.import_module(data["message_module"]) cls = getattr(mod, data["message_class_name"]) - message = cls(*data["message_args"]) + try: + message = cls(*data["message_args"]) + except TypeError: + message = Warning(data["message_str"]) else: message = data["message_str"]