Skip to content

test: Add arm64 test distro support#14500

Merged
benhillis merged 3 commits intomasterfrom
user/benhill/arm64_test_distro
Mar 23, 2026
Merged

test: Add arm64 test distro support#14500
benhillis merged 3 commits intomasterfrom
user/benhill/arm64_test_distro

Conversation

@benhillis
Copy link
Member

This change adds support for ARM64 testing to make running the unit tests easier.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds ARM64-awareness to the WSL test-distro plumbing so local/unit-test runs can pick the correct architecture-specific test distro artifact.

Changes:

  • Update local test runner and VM setup scripts to source the test distro from an architecture-specific subfolder.
  • Update the test distro build/packaging scripts and nuspec to introduce x64/ and arm64/ layout.
  • Bump the Microsoft.WSL.TestDistro NuGet dependency and adjust build pipeline artifact staging to copy the distro into testbin\<arch>.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/test/test.bat.in Passes an arch-specific -DistroPath into run-tests.ps1.
tools/test/setup-vm-for-tests.ps1 Resolves the test distro path from an arch-specific package subfolder.
tools/test/build-test-distro.ps1 Adds a Platform parameter and exports the distro to <platform>\test_distro.tar.xz.
tools/test/Microsoft.WSL.TestDistro.nuspec Changes NuGet contents layout to include x64\ and arm64\ distro files.
packages.config Updates Microsoft.WSL.TestDistro package version.
CMakeLists.txt Removes unused TEST_DISTRO_PLATFORM assignments; relies on TARGET_PLATFORM.
.pipelines/build-stage.yml Stages cloudtest + test distro into testbin\<arch> (currently x64 only).

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

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

Comments suppressed due to low confidence (1)

tools/test/build-test-distro.ps1:65

  • build-test-distro.ps1 now exports only one platform’s test_distro.tar.xz into $Platform\test_distro.tar.xz, but the updated Microsoft.WSL.TestDistro.nuspec includes both x64\test_distro.tar.xz and arm64\test_distro.tar.xz. As written, nuget pack will fail on a single run because the other architecture’s file won’t exist. Consider either (a) splitting the pack step from this script and only packing once both architecture artifacts are present, or (b) making the nuspec/platform selection conditional so a single-platform build can still pack successfully.
New-Item -ItemType Directory -Path $Platform -Force
Run { wsl.exe --export --format tar.xz test_distro "$Platform\test_distro.tar.xz" }

& "$PSScriptRoot/../../_deps/nuget.exe" pack Microsoft.WSL.TestDistro.nuspec -Properties  version=$version

@benhillis benhillis merged commit dd88ff7 into master Mar 23, 2026
6 checks passed
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.

3 participants