diff --git a/subiquity/common/serialize.py b/subiquity/common/serialize.py index 5d63bbf1..ee9f541b 100644 --- a/subiquity/common/serialize.py +++ b/subiquity/common/serialize.py @@ -191,7 +191,7 @@ class Serializer: if annotation is None: context.assert_type(type(None)) return None - if annotation is inspect.Signature.empty: + if annotation is inspect.Signature.empty or annotation is typing.Any: return context.cur if attr.has(annotation): return self._serialize_attr(annotation, context) @@ -258,7 +258,7 @@ class Serializer: if annotation is None: context.assert_type(type(None)) return None - if annotation is inspect.Signature.empty: + if annotation is inspect.Signature.empty or annotation is typing.Any: return context.cur if attr.has(annotation): return self._deserialize_attr(annotation, context) diff --git a/subiquity/common/tests/test_serialization.py b/subiquity/common/tests/test_serialization.py index 00749d65..f6c414af 100644 --- a/subiquity/common/tests/test_serialization.py +++ b/subiquity/common/tests/test_serialization.py @@ -16,6 +16,7 @@ import attr import datetime import enum +import inspect import random import string import typing @@ -143,6 +144,11 @@ class CommonSerializerTests: compact=self.serializer.compact, serialize_enums_by="value") self.assertSerialization(MyEnum, MyEnum.name, "value") + def test_serialize_any(self): + o = object() + self.assertSerialization(typing.Any, o, o) + self.assertSerialization(inspect.Signature.empty, o, o) + class TestSerializer(CommonSerializerTests, unittest.TestCase):