Skip to content

test(inbox): allow the Defender platform's two modules to be absent on the host - #45

Merged
fadwen merged 1 commit into
mainfrom
test/inbox-defender-platform
Oct 15, 2026
Merged

fadwen merged 1 commit into
mainfrom
test/inbox-defender-platform

Conversation

@fadwen

@fadwen fadwen commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Summary

Tests/Unit/Private/Get-IslInboxModule.Tests.ps1 checks that every module the inbox table lists is under the host's system module paths, with an allowance for the Pro and Enterprise features a Home edition does not ship. On 15 October the Windows on ARM job failed that check on the docs/validation-kit branch, twice, with ConfigDefender and ConfigDefenderPerformance missing, while the same runner image (windows-11-vs2026-arm64 20261013.183.4) had passed it on fix/inex-evidence ten minutes earlier.

Those two modules are placed under System32\WindowsPowerShell\v1.0\Modules by the Microsoft Defender platform update, not by the Windows image, so a host whose Defender platform is still at the image's baseline does not have them yet. Which hosted runner has taken the update is not something the test can control.

Changes

  • The test keeps a second allowance list, PlatformUpdateModules, for the two Defender platform modules, and leaves them out of the "missing from the host" check the way it leaves out the edition-only modules. The table itself is unchanged: a device that has updated once has both, and the rule that reads the table is about what a script may import on a managed device.

Verification

Notes

…n the host

ConfigDefender and ConfigDefenderPerformance are put under System32 by
the Defender platform update, not the Windows image, so a host whose
platform is still at the image's baseline lacks them. Two hosted ARM64
runners on the same image differed on this within ten minutes, failing
the inbox-module test on one. The test treats them like the edition-only
modules: listed, and allowed to be missing from the host.

@fadwen fadwen left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Notes on the lines whose reason the diff does not show.

# whose Defender platform is still at the image's baseline does not have them yet. Two hosted
# ARM64 runners on the same image (windows-11-vs2026-arm64 20261013.183.4) differed on this
# within ten minutes of each other; a device that has updated once has both
$script:PlatformUpdateModules = 'ConfigDefender', 'ConfigDefenderPerformance'

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

A separate list rather than two more names in EditionOnly: the edition list is about what a Home SKU never ships, and this pair is about timing on any SKU. Keeping them apart keeps the comment on each honest, and the table stays as it is because a managed device that has taken one platform update has both modules, which is what the IslModuleDependency rule needs to know.

@fadwen
fadwen merged commit 6ef3591 into main Oct 15, 2026
4 checks passed
@fadwen
fadwen deleted the test/inbox-defender-platform branch October 15, 2026 17:52
@fadwen fadwen mentioned this pull request Oct 15, 2026
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