Skip to content

Run the native UIA provider tests in windows-shell unit validation - #802

Merged
coneilen merged 1 commit into
mainfrom
coneilen-microsoft-windows-preview-rebuild
Oct 14, 2026
Merged

coneilen merged 1 commit into
mainfrom
coneilen-microsoft-windows-preview-rebuild

Conversation

@coneilen

Copy link
Copy Markdown
Collaborator

Summary

Tools/windows/Tests/AccessibilityProvider.Native.Tests.ps1, the native C++ UIA provider regression suite, was orphaned: no task in validate.ps1 and no workflow invoked it. So native accessibility provider changes (such as lane D2's workspace-restart-session mapping for #774) could not get exact-head CI evidence. Lane D2 found this on 2026-10-14.

This PR runs the suite once per windows-shell unit run, on shard 0, so it executes in exact-head CI.

Changes

  • Tools/windows/validate.ps1: after the sharded WindowsShell.Tests.ps1 contract in the unit part, shard 0 runs AccessibilityProvider.Native.Tests.ps1 through Invoke-Native, so a non-zero exit fails the task. The suite isn't sharded, so it runs exactly once across the 3-shard CI matrix and in local unsharded runs.

Test plan

RED: Select-String origin/main Tools/windows/validate.ps1 for AccessibilityProvider.Native.Tests.ps1 -> 0 invocations; the native suite never ran in CI
GREEN: Select-String edited validate.ps1 -> 1 invocation (shard 0); local native build of the suite on main via MSVC cl -> Native accessibility provider: 176 checks, 0 failures
REGRESSION: pwsh Tools/windows/Tests/ValidationRunner.Tests.ps1 -> ValidationRunner.Tests.ps1: PASS (384 multi-project contracts, 50 positive, 334 negative); git diff --check -> clean; bash Tools/ci/tests/classify-changes.test.sh -> 59 passed, 0 failed

Local environment caveat.

  • On this machine, vcvars64.bat exits 1 because the optional ext\ConnectionManagerExe.bat can't find the VC Linux component, so the script's call vcvars && cl chain stops locally.
  • The 176/0 result above came from the same cl command chained with &.
  • The hosted windows-2022 runner is the authoritative check: the exact-head shard-0 job must show the Native accessibility provider: N checks, 0 failures line with N greater than 0.
  • macOS make test and make check were not run, because no Swift was touched.

Checklist

  • I have read the Contributing Guidelines
  • I have signed off my commits (git commit -s) per the DCO
  • Tests pass locally (make test)
  • Code follows the existing style (make check)
  • I added the test/contract before the implementation and observed the intended RED failure

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: coneilen <coneilen@users.noreply.github.com>
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.

1 participant