You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cover the installed, real-install, and diagnostic failure paths for the linux-lab Multipass prerequisite profile.
Background
A fresh branch-aware coverage run on current main (685d538) reports cli/python/base_dev/linux_lab.py at 55.17% statement coverage, 35.71% branch coverage, and 51.39% combined coverage, making it one of the least-exercised production modules.
The existing four tests prove missing-Multipass reporting, macOS dry-run output, non-macOS setup rejection, and the Doctor finding ID. They do not execute the already-installed path, the real Homebrew installation path, or any result from multipass version. As a result, the normal success path and timeout/non-zero diagnostic branches can regress while the repository aggregate remains green.
Scope
Add direct tests for an already-installed Multipass executable and successful version parsing.
Cover multipass version timeout, non-zero exit with stderr/stdout detail, and success when version output is on stdout or stderr.
Cover non-dry-run macOS setup when Homebrew is missing, when the Homebrew install succeeds, and when the delegated install raises ArtifactError.
Assert stable exit codes, finding ID BASE-D108, fix guidance, and user-facing messages.
Mock executable lookup, subprocesses, and Homebrew delegation; do not install Multipass or create VMs.
Acceptance Criteria
check_multipass() has direct missing, timeout, non-zero, and success coverage.
setup_linux_lab() has direct already-installed, dry-run, unsupported-host, missing-Homebrew, successful-install, and failed-install coverage.
Goal
Cover the installed, real-install, and diagnostic failure paths for the
linux-labMultipass prerequisite profile.Background
A fresh branch-aware coverage run on current
main(685d538) reportscli/python/base_dev/linux_lab.pyat 55.17% statement coverage, 35.71% branch coverage, and 51.39% combined coverage, making it one of the least-exercised production modules.The existing four tests prove missing-Multipass reporting, macOS dry-run output, non-macOS setup rejection, and the Doctor finding ID. They do not execute the already-installed path, the real Homebrew installation path, or any result from
multipass version. As a result, the normal success path and timeout/non-zero diagnostic branches can regress while the repository aggregate remains green.Scope
multipass versiontimeout, non-zero exit with stderr/stdout detail, and success when version output is on stdout or stderr.ArtifactError.BASE-D108, fix guidance, and user-facing messages.Acceptance Criteria
check_multipass()has direct missing, timeout, non-zero, and success coverage.setup_linux_lab()has direct already-installed, dry-run, unsupported-host, missing-Homebrew, successful-install, and failed-install coverage.BASE-D108, and actionable fix text.linux_lab.pyreaches at least 85% statement and 75% branch coverage.Validation
Non-Goals
linux-labbehavior.Project Fields
Agent Assignment
Copilot candidate after triage. The missing cases are isolated and mockable, with no architecture or product-policy decision required.