fix(tests): don't run PowerShell tests via WSL-interop powershell.exe#2971
fix(tests): don't run PowerShell tests via WSL-interop powershell.exe#2971lissy93 wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates PowerShell detection in test fixtures to treat powershell(.exe) as Windows-only, avoiding non-Windows environments accidentally selecting Windows PowerShell.
Changes:
- Gate
_POWERSHELLdiscovery behindos.name == "nt"in multiple tests. - Normalize the detection expression with explicit parentheses for readability.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tests/test_setup_tasks.py | Restricts _POWERSHELL detection to Windows. |
| tests/test_setup_plan_no_overwrite.py | Restricts _POWERSHELL detection to Windows. |
| tests/test_setup_plan_feature_json.py | Restricts _POWERSHELL detection to Windows. |
| tests/test_check_prerequisites_paths_only.py | Restricts _POWERSHELL detection to Windows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| HAS_PWSH = shutil.which("pwsh") is not None | ||
| _POWERSHELL = shutil.which("powershell.exe") or shutil.which("powershell") | ||
| _POWERSHELL = (shutil.which("powershell.exe") or shutil.which("powershell")) if os.name == "nt" else None |
There was a problem hiding this comment.
Happy to make the change. But seems slightly unnecisary to me, since there is no Linux Powershell, so no chance of confusion.
|
|
||
| HAS_PWSH = shutil.which("pwsh") is not None | ||
| _POWERSHELL = shutil.which("powershell.exe") or shutil.which("powershell") | ||
| _POWERSHELL = (shutil.which("powershell.exe") or shutil.which("powershell")) if os.name == "nt" else None |
There was a problem hiding this comment.
Or would you rather that's a separate change, since these 3 lines already existed, and I was worried about trying to over-optimise for something which is such a short change.
Do you want me to extract this now, or is that premature optimization?
Description
Fixes tests for WSL.
Previously, tests were failing when running from within WSL. Because the script was checking if Powershell is within the path then running the PS1 fixtures if found, else skipping.
However, on WSL powershell.exe IS in the path, however Linux can't execute the powershell scripts.
This change just adds
if os.name == "nt"to the powershel check statement, so has the same logic as the Linux tests, and sensibly skips windows tests when not on windows. Now everything passes :)Fixes #2970
Testing
uv run specify --helpuv sync && uv run pytestAI Disclosure
I did not use AI for any of the changes or debugging
But I did use it for a quick code review/ sanity check before submitting. Qwen 3 8B in ollama.
(And maybe Copilot will jump in here too with some more AI review 😉)