mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-07-03 03:45:45 +01:00
15fdc6b516
The existing OS manager update tests only exercise precondition failure paths (out-of-date supervisor, unhealthy state), which bail out before the download / RAUC install / cleanup logic ever runs. That left the finally-clause unlink in OSManager.update() unscanned by blockbuster, so the blocking Path.unlink() regression fixed in #6863 slipped through CI and only surfaced on a real device. Add a happy-path test that stubs _download_raucb to create the bundle file, drives the RAUC dbus mock to emit a successful Completed signal, mocks the post-install reboot, and asserts the downloaded bundle is removed. Reverting the executor wrapping on int_ota.unlink reproduces the original failure with blockbuster reporting "Blocking call to os.unlink", confirming the test catches the regression. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>