Skip to content

vmm_tests_run: only require --dir when tests need a Windows disk#3926

Merged
jstarks merged 1 commit into
microsoft:mainfrom
jstarks:no-dir
Jul 13, 2026
Merged

vmm_tests_run: only require --dir when tests need a Windows disk#3926
jstarks merged 1 commit into
microsoft:mainfrom
jstarks:no-dir

Conversation

@jstarks

@jstarks jstarks commented Jul 13, 2026

Copy link
Copy Markdown
Member

Previously any WSL-to-Windows VMM test run demanded an output directory on a Windows filesystem, even though most tests work fine from the default WSL-side directory. The Windows-filesystem constraint only applies to disk images that can't be opened over a \wsl$ 9p path: Hyper-V disks (attached to a real Hyper-V VM) and VHDX / dynamic VHD1 images (opened through the Windows virtual-disk mount API). Streamed disks, fixed VHD1, VMGS, and ISO images all work from the WSL side.

Defer the output-directory validation until after test selections are resolved, so we know which disk images are actually needed, and only enforce the Windows-path requirement when the selection includes a Hyper-V test or a .vhdx artifact. The error messages now explain why --dir is required. Documentation, the vmm-tests skill, and the copilot-instructions guidance are updated to match the new behavior.

Previously any WSL-to-Windows VMM test run demanded an output directory
on a Windows filesystem, even though most tests work fine from the
default WSL-side directory. The Windows-filesystem constraint only
applies to disk images that can't be opened over a \\wsl$ 9p path:
Hyper-V disks (attached to a real Hyper-V VM) and VHDX / dynamic VHD1
images (opened through the Windows virtual-disk mount API). Streamed
disks, fixed VHD1, VMGS, and ISO images all work from the WSL side.

Defer the output-directory validation until after test selections are
resolved, so we know which disk images are actually needed, and only
enforce the Windows-path requirement when the selection includes a
Hyper-V test or a .vhdx artifact. The error messages now explain why
--dir is required. Documentation, the vmm-tests skill, and the
copilot-instructions guidance are updated to match the new behavior.
@jstarks jstarks requested a review from a team as a code owner July 13, 2026 05:52
Copilot AI review requested due to automatic review settings July 13, 2026 05:52
@github-actions github-actions Bot added the Guide label Jul 13, 2026

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

This PR refines cargo xflowey vmm-tests-run behavior when cross-compiling to Windows from WSL2 by making --dir conditional on whether the selected tests actually require disk images that can’t be opened over \\wsl$ (9p). It updates both the implementation and the contributor-facing documentation to reflect the new, more targeted validation.

Changes:

  • Defer WSL-to-Windows output directory validation until after test/artifact selection is resolved.
  • Require --dir only when the selection needs a Windows-filesystem-backed disk (Hyper-V tests or .vhdx artifacts).
  • Update Guide docs, the vmm-tests skill documentation, and .github/copilot-instructions.md to match the new behavior and improved error messaging.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
Guide/src/dev_guide/tests/vmm.md Documents that most Windows-from-WSL2 runs work with the default WSL-side output dir and explains when --dir is required.
flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs Moves --dir validation to post-selection and gates it on whether the resolved selection needs Windows-only disk access (Hyper-V or .vhdx).
.github/skills/vmm-tests/SKILL.md Updates contributor guidance to avoid --dir unless the selected tests require Windows-filesystem disk images.
.github/copilot-instructions.md Aligns Copilot guidance with the new conditional --dir requirement and the tool’s auto-detection behavior.

@jstarks jstarks merged commit 490ddfe into microsoft:main Jul 13, 2026
69 checks passed
@jstarks jstarks deleted the no-dir branch July 13, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants