Skip to content

Commit 4632df3

Browse files
committed
Check that we can serialize the warning detail attr
1 parent ca94bda commit 4632df3

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

xdist/remote.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,15 @@ def serialize_warning_message(warning_message):
218218
for attr_name in warning_message._WARNING_DETAILS:
219219
if attr_name in ("message", "category"):
220220
continue
221-
result[attr_name] = getattr(warning_message, attr_name)
221+
attr = getattr(warning_message, attr_name)
222+
# Check if we can serialize the warning detail, marking `None` otherwise
223+
# Note that we need to define the attr (even as `None`) to allow deserializing
224+
try:
225+
dumps(attr)
226+
except DumpError:
227+
result[attr_name] = None
228+
else:
229+
result[attr_name] = attr
222230
return result
223231

224232

0 commit comments

Comments
 (0)