From e3e80c83b760b9b79cf5e62cc0e1d0a9ac3b5add Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 12 Jun 2024 22:38:11 +0200 Subject: [PATCH] Fix contextmanager-generator-missing-cleanup warning in tests (#119478) --- tests/common.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/common.py b/tests/common.py index ff1fea9cbda..5cb82cef3ba 100644 --- a/tests/common.py +++ b/tests/common.py @@ -195,9 +195,11 @@ def get_test_home_assistant() -> Generator[HomeAssistant]: threading.Thread(name="LoopThread", target=run_loop, daemon=False).start() - yield hass - loop.run_until_complete(context_manager.__aexit__(None, None, None)) - loop.close() + try: + yield hass + finally: + loop.run_until_complete(context_manager.__aexit__(None, None, None)) + loop.close() class StoreWithoutWriteLoad[_T: (Mapping[str, Any] | Sequence[Any])](storage.Store[_T]): @@ -359,10 +361,11 @@ async def async_test_home_assistant( hass.bus.async_listen_once(EVENT_HOMEASSISTANT_CLOSE, clear_instance) - yield hass - - # Restore timezone, it is set when creating the hass object - dt_util.set_default_time_zone(orig_tz) + try: + yield hass + finally: + # Restore timezone, it is set when creating the hass object + dt_util.set_default_time_zone(orig_tz) def async_mock_service(