From 557d55c1c8ec359924364df36103003bb12e0eaf Mon Sep 17 00:00:00 2001 From: yash27-lab <54710562+yash27-lab@users.noreply.github.com> Date: Thu, 15 Jan 2026 17:21:48 -0500 Subject: [PATCH] Fix flaky deepcopy service tests by using unpickleable async generator --- python/tests/unit/kernel/test_kernel.py | 32 +++++++++++++++++-------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/python/tests/unit/kernel/test_kernel.py b/python/tests/unit/kernel/test_kernel.py index f66095fb7133..0aecdffc0984 100644 --- a/python/tests/unit/kernel/test_kernel.py +++ b/python/tests/unit/kernel/test_kernel.py @@ -1038,25 +1038,37 @@ def test_kernel_deep_copy( def test_kernel_model_dump_fail_with_services(kernel: Kernel): - open_ai_chat_completion = OpenAIChatCompletion(ai_model_id="abc", api_key="abc") - kernel.add_service(open_ai_chat_completion) + class _UnserializableService: + service_id = "unserializable" + + def __init__(self): + async def _agen(): + yield "tick" + + # Async generator objects are not deepcopy/pickle friendly. + self._bad = _agen() + + kernel.add_service(_UnserializableService()) with pytest.raises(TypeError): - # This will fail because OpenAIChatCompletion is not serializable, more specifically, - # the client is not serializable kernel.model_dump(deep=True) - def test_kernel_deep_copy_fail_with_services(kernel: Kernel): - open_ai_chat_completion = OpenAIChatCompletion(ai_model_id="abc", api_key="abc") - kernel.add_service(open_ai_chat_completion) + class _UnserializableService: + service_id = "unserializable" + + def __init__(self): + async def _agen(): + yield "tick" + + # Async generator objects are not deepcopy/pickle friendly. + self._bad = _agen() + + kernel.add_service(_UnserializableService()) with pytest.raises(TypeError): - # This will fail because OpenAIChatCompletion is not serializable, more specifically, - # the client is not serializable kernel.model_copy(deep=True) - def test_kernel_clone( kernel: Kernel, custom_plugin_class: type,