Skip to content

The upgrade wait test gives PowerShell 180 seconds to exit, the same limit the deploy tests use - #4911

Merged
erikdarlingdata merged 2 commits into
devfrom
ci/upgrade-wait-pwsh-limit
Oct 1, 2026
Merged

erikdarlingdata merged 2 commits into
devfrom
ci/upgrade-wait-pwsh-limit

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

What failed

On #4896's CI run (commit 950bb7db, Darling PG tests (1) on Windows), DarlingUpgradeInstallTreeWaitTests.WaitDarlingInstallTreeClear_ReturnsEmptyAfterTheProcessExits_ButReturnsItWhenTheBoundIsTooShort failed with pwsh did not exit within 60s running the extracted wait function. That shard ran 595 s, longer than usual, so the runner was loaded. #4896 doesn't touch the upgrade script or this test.

Why

The test runs the extracted Wait-DarlingInstallTreeClear function in Windows PowerShell 5.1 on Windows, with bounds of 10 s and 1 s. Its own limit for the PowerShell process to exit was 60 s. On a loaded Windows runner, PowerShell 5.1's start and module load alone can take most of that. The deploy tests hit the same thing, and #4866 raised their limit to 180 s (PowerShellExitLimit).

What changed (tests only)

  • The limit: the test's exit limit for the PowerShell process is 180 s (PowerShellExitLimit), the same as the deploy tests.
  • On a timeout: the process tree is killed, as the deploy tests do.
  • Nothing else changed: the bounds the test drives (10 s and 1 s) and every assertion on the function's result are the same, so a wait that doesn't clear, or one that waits past its bound, still fails.

Testing

  • Darling.Tests builds with 0 warnings and 0 errors.
  • CI on this branch runs the test on the Windows PG shards.

CHANGELOG

None: a test-only change.

@erikdarlingdata
erikdarlingdata merged commit 7dcd3fe into dev Oct 1, 2026
15 of 16 checks passed
@erikdarlingdata
erikdarlingdata deleted the ci/upgrade-wait-pwsh-limit branch October 1, 2026 16:25
erikdarlingdata added a commit that referenced this pull request Oct 8, 2026
…y probes do; a pin keeps the limit (Refs #5459)

Neither child waits on anything of its own (stdin is closed, output drained, one local DPAPI call). What a busy runner stretches is the start of a fresh executable and of a cold Windows PowerShell 5.1, which #4866 and #4911 gave 180 s.
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