DotNetServiceTests.RunDotnetProcessAsync_Cancellation_KillsProcessTree (added in #686) fails intermittently in the Build and Package workflow on pull requests that cannot affect it.
Source: src/winapp-CLI/WinApp.Cli.Tests/DotNetServiceTests.cs#L1695
Observed
| PR |
Scope of the change |
Result |
| #726 |
sample test harness only (no product code) |
failed |
| #728 |
two YAML config files (dependabot.yml, codeql-config.yml) |
failed |
main @ 51666c0d |
— |
passed |
Neither PR touches anything that could influence process-tree teardown, and the same commit passed on main, so this looks intermittent rather than broken.
Failing runs:
Signal
The failure takes ~15s before reporting, which suggests a timeout elapsing while waiting on child-process teardown rather than an assertion mismatch. A loaded CI runner plausibly exceeds whatever fixed wait the test uses.
Likely fix: wait deterministically on child-process exit (poll for the PIDs to disappear, or await the process handles) instead of a fixed delay/timeout.
Possibly related
CrashDumpServiceWorkflowTests.AnalyzeDumpAsync_RealManagedDump_RunsClrMdManagedEnumeration (added in #644) failed in the same #728 run. Different subsystem and much older, so it may be an unrelated second flake — worth confirming before folding it in here.
DotNetServiceTests.RunDotnetProcessAsync_Cancellation_KillsProcessTree(added in #686) fails intermittently in theBuild and Packageworkflow on pull requests that cannot affect it.Source: src/winapp-CLI/WinApp.Cli.Tests/DotNetServiceTests.cs#L1695
Observed
dependabot.yml,codeql-config.yml)main@51666c0dNeither PR touches anything that could influence process-tree teardown, and the same commit passed on
main, so this looks intermittent rather than broken.Failing runs:
Signal
The failure takes ~15s before reporting, which suggests a timeout elapsing while waiting on child-process teardown rather than an assertion mismatch. A loaded CI runner plausibly exceeds whatever fixed wait the test uses.
Likely fix: wait deterministically on child-process exit (poll for the PIDs to disappear, or await the process handles) instead of a fixed delay/timeout.
Possibly related
CrashDumpServiceWorkflowTests.AnalyzeDumpAsync_RealManagedDump_RunsClrMdManagedEnumeration(added in #644) failed in the same #728 run. Different subsystem and much older, so it may be an unrelated second flake — worth confirming before folding it in here.