Skip to content

fix(tests): don't run PowerShell tests via WSL-interop powershell.exe#2971

Open
lissy93 wants to merge 1 commit into
github:mainfrom
lissy93-forks:fix/2970-pwsh-interop-test-skip
Open

fix(tests): don't run PowerShell tests via WSL-interop powershell.exe#2971
lissy93 wants to merge 1 commit into
github:mainfrom
lissy93-forks:fix/2970-pwsh-interop-test-skip

Conversation

@lissy93

@lissy93 lissy93 commented Jun 13, 2026

Copy link
Copy Markdown

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

  • Tested locally with uv run specify --help
  • Ran existing tests with uv sync && uv run pytest
  • Tested with a sample project (if applicable)

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (describe below)

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 😉)

@lissy93 lissy93 requested a review from mnriem as a code owner June 13, 2026 19:32
Copilot AI review requested due to automatic review settings June 13, 2026 19:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 _POWERSHELL discovery behind os.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.

Comment thread tests/test_setup_tasks.py

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

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Tests failing on WSL

2 participants