Skip to content

[release/v7.6] Mark flaky Update-Help web tests as pending to unblock CI#26846

Merged
SeeminglyScience merged 1 commit intoPowerShell:release/v7.6from
daxian-dbw:backport/release/v7.6/26796-6b8d724b0
Feb 17, 2026
Merged

[release/v7.6] Mark flaky Update-Help web tests as pending to unblock CI#26846
SeeminglyScience merged 1 commit intoPowerShell:release/v7.6from
daxian-dbw:backport/release/v7.6/26796-6b8d724b0

Conversation

@daxian-dbw
Copy link
Member

Backport of #26796 to release/v7.6

Triggered by @daxian-dbw on behalf of @app/copilot-swe-agent

Original CL Label: CL-Test

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Customer Impact

  • Customer reported
  • Found internally

This fix addresses intermittent CI build failures caused by flaky Update-Help web tests that experience network timeouts and task cancellations. By marking these tests as pending, CI builds are unblocked while preserving test visibility for future resolution.

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Tests marked as pending using Set-ItResult pattern. The changes were validated by running the test suite to ensure: (1) web-dependent CI tests now show as NotRun/Pending status, (2) local SourcePath-based tests continue to run normally, (3) defensive null checks prevent errors during Pester discovery phase. Successfully backported to v7.4 and v7.5 branches.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

This change only affects test behavior (marking flaky tests as pending) and doesn't modify any production code. The defensive null checks add safety without changing functional behavior. Changes are test-only and follow established patterns already applied to v7.4 and v7.5 branches.

…#26796)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TravisEz13 <10873629+TravisEz13@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 17, 2026 21:48
@daxian-dbw daxian-dbw added the CL-Test Indicates that a PR should be marked as a test change in the Change Log label Feb 17, 2026
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

Backports the default-branch change to unblock release/v7.6 CI by preventing known-flaky, web-dependent Update-Help tests from failing the pipeline, while keeping those tests visible as Pending for follow-up.

Changes:

  • Add a -MarkAsPending switch to RunUpdateHelpTests and mark CI-tagged web Update-Help tests as Pending via Set-ItResult -Pending + return.
  • Add defensive null guards around help-path and Save-Help temp folder cleanup to avoid discovery-time errors.
  • Add repository documentation describing the Set-ItResult (Pending/Skipped) + immediate return pattern for Pester tests.

Reviewed changes

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

File Description
test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 Marks CI web Update-Help tests as Pending and adds null guards around cleanup/setup.
.github/instructions/pester-set-itresult-pattern.instructions.md Documents the Set-ItResult + return pattern with examples and guidance.

Comment on lines 191 to 196
param (
[string]$tag = "CI",
[switch]$useSourcePath,
[switch]$userscope
[switch]$userscope,
[switch]$markAsPending
)
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

RunUpdateHelpTests introduces a new switch parameter named $markAsPending. Repo guidance for PowerShell parameters is to use PascalCase; consider renaming this parameter (and its call sites) to MarkAsPending for consistency with that convention.

Copilot generated this review using guidance from repository custom instructions.
```powershell
It "Clear-Host works correctly" {
if ($IsARM64) {
Set-ItResult -Pending -Because "ARM64 runs in non-interactively mode and Clear-Host does not work."
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

In the example text, "non-interactively mode" is ungrammatical; update it to "non-interactive mode" (or "non-interactive") so the guidance reads correctly.

Suggested change
Set-ItResult -Pending -Because "ARM64 runs in non-interactively mode and Clear-Host does not work."
Set-ItResult -Pending -Because "ARM64 runs in non-interactive mode and Clear-Host does not work."

Copilot uses AI. Check for mistakes.
@SeeminglyScience SeeminglyScience merged commit 32f7691 into PowerShell:release/v7.6 Feb 17, 2026
41 of 43 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.6/26796-6b8d724b0 branch February 17, 2026 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-Test Indicates that a PR should be marked as a test change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants