Create config entry async_on_unload tasks eagerly (#113626)

pull/113619/head^2
J. Nick Koston 2024-03-16 14:43:49 -10:00 committed by GitHub
parent 91fa612301
commit 6a6f3d46a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 2 deletions

View File

@ -857,7 +857,7 @@ class ConfigEntry:
if self._on_unload is not None:
while self._on_unload:
if job := self._on_unload.pop()():
self.async_create_task(hass, job)
self.async_create_task(hass, job, eager_start=True)
if not self._tasks and not self._background_tasks:
return

View File

@ -113,6 +113,7 @@ async def test_flow_reauth(hass: HomeAssistant) -> None:
entry.add_to_hass(hass)
with _patch_init_hole(mocked_hole), _patch_config_flow_hole(mocked_hole):
assert not await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
flows = hass.config_entries.flow.async_progress()

View File

@ -4334,10 +4334,10 @@ async def test_task_tracking(hass: HomeAssistant) -> None:
hass.loop.call_soon(event.set)
await entry._async_process_on_unload(hass)
assert results == [
"on_unload",
"background",
"background",
"normal",
"on_unload",
]