Repository navigation
Modify exitcode returned when operating system check fails - #391
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Linux-specific setup can fail before OS validation, causing unsupported hosts to still return HandlerFailed.
Review effort: Balanced
Findings: 1
What changed in this PR
Updates install handling to propagate the unsupported operating-system exit code and report it in status output.
Changes:
- Returns exit code 51 for unsupported platforms.
- Adds exit-code details to failed install statuses.
- Expands install and status tests.
| File | Description |
|---|---|
src/extension/src/InstallCommandHandler.py |
Propagates OS validation failures. |
src/extension/src/ActionHandler.py |
Records install exit codes in status messages. |
src/extension/tests/Test_InstallCommandHandler.py |
Tests unsupported-platform handling. |
src/extension/tests/Test_ActionHandler.py |
Tests install return codes and statuses. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #391 +/- ##
=======================================
Coverage 94.98% 94.98%
=======================================
Files 113 113
Lines 21936 21955 +19
=======================================
+ Hits 20835 20855 +20
+ Misses 1101 1100 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Please add testing logs for this. |
This release contains: - Modify exitcode returned when operating system check fails: [391](#391)

Tests:
It's difficult to test this E2E on a VM. Since the error is in install command, GA re-downloads extension bits for each new API call. So manually modifying code bits on a VM doesn't work. I did validate by manually invoking install command but it won't go through e2e since it isn't an API call.
Validated by manually editing the extension file and adding a few additional log statements that aren't in code:
