[CI Failure] Flaky: PeerInstallProbeTests fallback-to-version test fails on Windows with generated batch script
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
## Build Information
Build: https://github.com/microsoft/aspire/actions/runs/35003412018
Build error leg or test failing: Tests / No-package tests (regular, Aspire.Cli.Tests, Cli, Cli, tests/Aspire.Cli.Tests/Aspire.Cli.Tests.cs... / Cli (windows-latest) / `Aspire.Cli.Tests.Acquisition.PeerInstallProbeTests.ProbeAsync_PeerEmitsArrayWithNonObjectFirstElement_FallsBackToVersion`
Pull request: #20133
## Classification Analysis
The test exercises CLI peer-install probe fallback logic via a dynamically generated Windows batch script, invoked through cmd.exe with findstr-based argument matching. This code path and test file are unrelated to the PR's changes (Kestrel certificate configuration in Aspire.Hosting). The failure indicates the CMD interpreter or process invocation did not behave as the test expected for the --version fallback branch, consistent with an environment/timing-sensitive issue on Windows CI runners rather than a code regression from the PR.
## Failure Information
Test output
Error:
Expected PeerProbeResult.Ok, got PeerProbeResult.Failed. Reason:
Peer produced no usable output (and --version fallback).Stack Trace:
at Aspire.Cli.Tests.Acquisition.PeerInstallProbeTests.AssertProbeOk(PeerProbeResult result) in D:\a\aspire\aspire\tests\Aspire.Cli.Tests\Acquisition\PeerInstallProbeTests.cs:line 38
at Aspire.Cli.Tests.Acquisition.PeerInstallProbeTests.ProbeAsync_PeerEmitsArrayWithNonObjectFirstElement_FallsBackToVersion(String doctorStdout, String kind) in D:\a\aspire\aspire\tests\Aspire.Cli.Tests\Acquisition\PeerInstallProbeTests.cs:line 352
--- End of stack trace from previous location ---Standard Output (sensitive values redacted):
Temporary workspace created at: C:\Users\runneradmin\AppData\Local\Temp\Aspire.Cli.Tests\Workspace\ttnjta5z.10l
[FakePeerScript] --- begin script at C:\Users\runneradmin\AppData\Local\Temp\Aspire.Cli.Tests\Workspace\ttnjta5z.10l\peer.cmd ---
@echo off
echo %* | findstr /C:"doctor" > nul
if not errorlevel 1 goto :doctor
echo %* | findstr /C:"--version" > nul
if not errorlevel 1 goto :version
exit /b 127
:doctor
echo ["string"]
exit /b 0
:version
echo 9.0.0
echo
exit /b 0[FakePeerScript] --- end script at C:\Users\runneradmin\AppData\Local\Temp\Aspire.Cli.Tests\Workspace\ttnjta5z.10l\peer.cmd ---
Disposing temporary workspace at: C:\Users\runneradmin\AppData\Local\Temp\Aspire.Cli.Tests\Workspace\ttnjta5z.10l
## Description
Flaky: PeerInstallProbeTests fallback-to-version test fails on Windows with generated batch script
**Type**: flaky-test
## Occurrences
| Date | Build | Job | PR |
|------|-------|-----|----|
| 2026-09-15 | [35003412018](https://github.com/microsoft/aspire/actions/runs/35003412018) | Tests / No-package tests (regular, Aspire.Cli.Tests, Cli, Cli, tests/Aspire.Cli.Tests/Aspire.Cli.Tests.cs... / Cli (windows-latest) | #20133 |
Contributor guide
Research direction
Start with tests/Aspire.Cli.Tests/Acquisition/PeerInstallProbeTests.cs, especially ProbeAsync_PeerEmitsArrayWithNonObjectFirstElement_FallsBackToVersion, and reproduce it on a Windows runner. Inspect the generated peer.cmd and its cmd.exe argument matching and --version fallback behavior; done means the named test reliably returns PeerProbeResult.Ok.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, shell
- Domain
- cli, operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100