microsoft / microsoft/aspire

[Failing test]: Aspire.Cli.EndToEnd.Tests.PythonReactTemplateTests.CreateAndRunPythonReactProject

Open
#16,062 1 comment 0 reactions 0 assignees View on GitHub
area-cli failing-test
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/24276013064
Build error leg or test failing:
Logs: [Tests / Cli.EndToEnd-PythonReactTemplateTests / Cli.EndToEnd-PythonReactTemplateTests \(ubuntu-latest\)](https://github.com/microsoft/aspire/actions/runs/24276013064/job/70890264300)
Artifact: [All-TestResults](https://github.com/microsoft/aspire/actions/runs/24276013064/artifacts/6384055157)

### Fill in the error message template

## Error Message

Fill the error message using [step by step known issues guidance](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssueJsonStepByStep.md).

```json
{
"ErrorMessage": "curl: (3) URL rejected: Malformed input to a URL function",
"ErrorPattern": "",
"BuildRetry": false,
"ExcludeConsoleLog": false
}
```

### Error details

Error details (179 lines)

```yml
Error Message: Hex1b.Automation.Hex1bAutomationException : Step 61 of 61 failed — WaitUntilText("dashboard-http-200")
Timed out after 00:00:15 waiting for: text "dashboard-http-200" to appear
at CliE2EAutomatorHelpers.cs:382

Completed steps (60 of 61):
[1] WaitUntilText("# ") — 269ms ✓ (CliE2EAutomatorHelpers.cs:27)
[2] Wait(500ms) — 502ms ✓ (CliE2EAutomatorHelpers.cs:29)
[3] Type("CMDCOUNT=0; PROMPT_COMMAND=...") — 8ms ✓ (CliE2EAutomatorHelpers.cs:33)
[4] Key(Enter) — 2ms ✓ (CliE2EAutomatorHelpers.cs:34)
[5] WaitUntil("success prompt [1 OK] $") — 13ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[6] Type("umask 000") — 0ms ✓ (CliE2EAutomatorHelpers.cs:38)
[7] Key(Enter) — 0ms ✓ (CliE2EAutomatorHelpers.cs:39)
[8] WaitUntil("success prompt [2 OK] $") — 255ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[9] Type("export ASPIRE_PLAYGROUND=tr...") — 2ms ✓ (CliE2EAutomatorHelpers.cs:43)
[10] Key(Enter) — 1ms ✓ (CliE2EAutomatorHelpers.cs:44)
[11] WaitUntil("success prompt [3 OK] $") — 254ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[12] Type("cd /workspace/3cf7bf78-d25b...") — 0ms ✓ (CliE2EAutomatorHelpers.cs:49)
[13] Key(Enter) — 2ms ✓ (CliE2EAutomatorHelpers.cs:50)
[14] WaitUntil("success prompt [4 OK] $") — 253ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[15] Type("trap 'cp -r ~/.aspire/logs ...") — 1ms ✓ (CliE2EAutomatorHelpers.cs:54)
[16] Key(Enter) — 0ms ✓ (CliE2EAutomatorHelpers.cs:55)
[17] WaitUntil("success prompt [5 OK] $") — 252ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[18] Type("/opt/aspire-scripts/get-asp...") — 0ms ✓ (CliE2EAutomatorHelpers.cs:90)
[19] Key(Enter) — 1ms ✓ (CliE2EAutomatorHelpers.cs:91)
[20] WaitUntil("success prompt [6 OK] $ (fail-fast on error)") — 0:10.549 ✓ (Hex1bAutomatorTestHelpers.cs:73)
[21] Type("export PATH=~/.aspire/bin:~...") — 1ms ✓ (CliE2EAutomatorHelpers.cs:93)
[22] Key(Enter) — 2ms ✓ (CliE2EAutomatorHelpers.cs:94)
[23] WaitUntil("success prompt [7 OK] $") — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[24] Type("aspire new") — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:174)
[25] Key(Enter) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:175)
[26] WaitUntil("template selection list (> Starter App)") — 254ms ✓ (Hex1bAutomatorTestHelpers.cs:176)
[27] Key(DownArrow) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:208)
[28] Key(DownArrow) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:209)
[29] Key(DownArrow) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:210)
[30] WaitUntil("Python React template selected") — 255ms ✓ (Hex1bAutomatorTestHelpers.cs:211)
[31] Key(Enter) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:215)
[32] WaitUntil("project name prompt") — 2263ms ✓ (Hex1bAutomatorTestHelpers.cs:255)
[33] Type("AspirePyReactApp") — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:259)
[34] Key(Enter) — 2ms ✓ (Hex1bAutomatorTestHelpers.cs:260)
[35] WaitUntil("output path prompt") — 257ms ✓ (Hex1bAutomatorTestHelpers.cs:263)
[36] Key(Enter) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:267)
[37] WaitUntil("URLs prompt") — 254ms ✓ (Hex1bAutomatorTestHelpers.cs:270)
[38] Key(Enter) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:274)
[39] WaitUntil("Redis cache prompt") — 253ms ✓ (Hex1bAutomatorTestHelpers.cs:279)
[40] Key(DownArrow) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:286)
[41] Key(Enter) — 3ms ✓ (Hex1bAutomatorTestHelpers.cs:289)
[42] WaitUntil("agent init prompt or success prompt [8 OK] $") — 6799ms ✓ (Hex1bAutomatorTestHelpers.cs:123)
[43] Wait(500ms) — 500ms ✓ (Hex1bAutomatorTestHelpers.cs:136)
[44] Type("n") — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:141)
[45] Key(Enter) — 0ms ✓ (Hex1bAutomatorTestHelpers.cs:142)
[46] WaitUntil("success prompt [8 OK] $ after agent init") — 253ms ✓ (Hex1bAutomatorTestHelpers.cs:145)
[47] Type("cd AspirePyReactApp") — 0ms ✓ (PythonReactTemplateTests.cs:41)
[48] Key(Enter) — 1ms ✓ (PythonReactTemplateTests.cs:42)
[49] WaitUntil("success prompt [9 OK] $") — 253ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[50] Type("aspire start --format json ...") — 0ms ✓ (CliE2EAutomatorHelpers.cs:316)
[51] Key(Enter) — 1ms ✓ (CliE2EAutomatorHelpers.cs:317)
[52] WaitUntil("aspire start to complete [10 OK/ERR]") — 4778ms ✓ (CliE2EAutomatorHelpers.cs:321)
[53] Type("DASHBOARD_URL=$(sed -n 's/....") — 0ms ✓ (CliE2EAutomatorHelpers.cs:357)
[54] Key(Enter) — 0ms ✓ (CliE2EAutomatorHelpers.cs:361)
[55] WaitUntil("success prompt [11 OK] $") — 253ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[56] Type("if [ -z "$DASHBOARD_URL" ];...") — 3ms ✓ (CliE2EAutomatorHelpers.cs:365)
[57] Key(Enter) — 0ms ✓ (CliE2EAutomatorHelpers.cs:375)
[58] WaitUntil("success prompt [12 OK] $") — 523ms ✓ (Hex1bAutomatorTestHelpers.cs:25)
[59] Type("curl -ksSL -o /dev/null -w ...") — 1ms ✓ (CliE2EAutomatorHelpers.cs:378)
[60] Key(Enter) — 1ms ✓ (CliE2EAutomatorHelpers.cs:381)
[61] WaitUntilText("dashboard-http-200") — FAILED after 0:15.057

Total elapsed: 0:44.347

Terminal snapshot at failure (160x48, cursor at 10,47, normal screen):
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Layout rejected - missing required directories
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryDiscoverRelativeLayout: Checking parent directory /root/.aspire...
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Checking layout at /root/.aspire
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] managed/: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] dcp/: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] managed/aspire-managed: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Layout is valid
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] Discovered layout relative to CLI: /root/.aspire
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] Running NuGet search via aspire-managed: Aspire.ProjectTemplates
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] aspire-managed path: /root/.aspire/managed/aspire-managed
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] NuGet search args: nuget search --query Aspire.ProjectTemplates --take 1000 --format json --prereleas
e --working-dir /workspace/3cf7bf78-d25b-4349-975c-bc26f67143d4/AspirePyReactApp --nuget-config /tmp/aspire-nuget-configukWk5d/nuget.config --verbose
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] Working directory: /workspace/3cf7bf78-d25b-4349-975c-bc26f67143d4/AspirePyReactApp
[2026-04-11 05:58:43.949] [DBUG] [BundleNuGetPackageCache] NuGetHelper stderr: Using source from config: /root/.aspire/hives/pr-16059/packages (/root/.aspire/hi
ves/pr-16059/packages)
Using source from config: https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)
Searching 2 source(s) for 'Aspire.ProjectTemplates'
Searching /root/.aspire/hives/pr-16059/packages (/root/.aspire/hives/pr-16059/packages)...
Searching https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)...
Found 2 search endpoints.
Querying https://azuresearch-usnc.nuget.org/query?q=Aspire.ProjectTemplates&skip=0&take=1000&prerelease=false&semVerLevel=2.0.0

[2026-04-11 05:58:43.949] [DBUG] [BundleNuGetPackageCache] NuGet search returned 6333 bytes
[2026-04-11 05:58:43.957] [DBUG] [BundleNuGetPackageCache] NuGetHelper stderr: Using source from config: /root/.aspire/hives/pr-16059/packages (/root/.aspire/hi
ves/pr-16059/packages)
Using source from config: https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)
Searching 2 source(s) for 'Aspire.ProjectTemplates'
Searching /root/.aspire/hives/pr-16059/packages (/root/.aspire/hives/pr-16059/packages)...
Searching https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)...
Found 2 search endpoints.
Querying https://azuresearch-usnc.nuget.org/query?q=Aspire.ProjectTemplates&skip=0&take=1000&prerelease=true&semVerLevel=2.0.0

[2026-04-11 05:58:43.957] [DBUG] [BundleNuGetPackageCache] NuGet search returned 8882 bytes
[2026-04-11 05:58:44.734] [WARN] [AppHostLauncher] Child CLI process exited with code 2
[2026-04-11 05:58:44.734] [INFO] [Stderr] ❌ AppHost process exited with code 2.
[2026-04-11 05:58:44.735] [INFO] [Stderr] \ud83d\udd0e Check logs for details: /root/.aspire/logs/cli_20260411T055840351_detach-child_58b7e4da8d5b4479b50aafae21b39987.log
[2026-04-11 05:58:44.735] [DBUG] [CliUpdateNotifier] Current version: 13.3.0-pr.16059.ge1e00830
Newest stable version: 13.2.2
Newest prerelease version: (null)
[2026-04-11 05:58:44.735] [DBUG] [CliUpdateNotifier] No newer version for the current version 13.3.0-pr.16059.ge1e00830.
[2026-04-11 05:58:44.735] [INFO] [Program] Exit code: 2
[2026-04-11 05:58:44.735] [DBUG] [Host] Hosting stopping
[2026-04-11 05:58:44.735] [DBUG] [Host] Hosting stopped
=== END CLI ===
[12 OK] $ curl -ksSL -o /dev/null -w 'dashboard-http-%{http_code}' "$DASHBOARD_URL" || echo 'dashboard-http-failed'
curl: (3) URL rejected: Malformed input to a URL function
dashboard-http-000dashboard-http-failed
[13 OK] $
---- Hex1b.Automation.WaitUntilTimeoutException : WaitUntil timed out after 00:00:15 waiting for: text "dashboard-http-200" to appear
at Hex1bTerminalAutomator.cs:137
Terminal (160x48, cursor at 10,47, normal screen):
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Layout rejected - missing required directories
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryDiscoverRelativeLayout: Checking parent directory /root/.aspire...
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Checking layout at /root/.aspire
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] managed/: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] dcp/: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] managed/aspire-managed: exists
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] TryInferLayout: Layout is valid
[2026-04-11 05:58:43.015] [DBUG] [LayoutDiscovery] Discovered layout relative to CLI: /root/.aspire
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] Running NuGet search via aspire-managed: Aspire.ProjectTemplates
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] aspire-managed path: /root/.aspire/managed/aspire-managed
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] NuGet search args: nuget search --query Aspire.ProjectTemplates --take 1000 --format json --prereleas
e --working-dir /workspace/3cf7bf78-d25b-4349-975c-bc26f67143d4/AspirePyReactApp --nuget-config /tmp/aspire-nuget-configukWk5d/nuget.config --verbose
[2026-04-11 05:58:43.015] [DBUG] [BundleNuGetPackageCache] Working directory: /workspace/3cf7bf78-d25b-4349-975c-bc26f67143d4/AspirePyReactApp
[2026-04-11 05:58:43.949] [DBUG] [BundleNuGetPackageCache] NuGetHelper stderr: Using source from config: /root/.aspire/hives/pr-16059/packages (/root/.aspire/hi
ves/pr-16059/packages)
Using source from config: https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)
Searching 2 source(s) for 'Aspire.ProjectTemplates'
Searching /root/.aspire/hives/pr-16059/packages (/root/.aspire/hives/pr-16059/packages)...
Searching https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)...
Found 2 search endpoints.
Querying https://azuresearch-usnc.nuget.org/query?q=Aspire.ProjectTemplates&skip=0&take=1000&prerelease=false&semVerLevel=2.0.0

[2026-04-11 05:58:43.949] [DBUG] [BundleNuGetPackageCache] NuGet search returned 6333 bytes
[2026-04-11 05:58:43.957] [DBUG] [BundleNuGetPackageCache] NuGetHelper stderr: Using source from config: /root/.aspire/hives/pr-16059/packages (/root/.aspire/hi
ves/pr-16059/packages)
Using source from config: https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)
Searching 2 source(s) for 'Aspire.ProjectTemplates'
Searching /root/.aspire/hives/pr-16059/packages (/root/.aspire/hives/pr-16059/packages)...
Searching https://api.nuget.org/v3/index.json (https://api.nuget.org/v3/index.json)...
Found 2 search endpoints.
Querying https://azuresearch-usnc.nuget.org/query?q=Aspire.ProjectTemplates&skip=0&take=1000&prerelease=true&semVerLevel=2.0.0

[2026-04-11 05:58:43.957] [DBUG] [BundleNuGetPackageCache] NuGet search returned 8882 bytes
[2026-04-11 05:58:44.734] [WARN] [AppHostLauncher] Child CLI process exited with code 2
[2026-04-11 05:58:44.734] [INFO] [Stderr] ❌ AppHost process exited with code 2.
[2026-04-11 05:58:44.735] [INFO] [Stderr] \ud83d\udd0e Check logs for details: /root/.aspire/logs/cli_20260411T055840351_detach-child_58b7e4da8d5b4479b50aafae21b39987.log
[2026-04-11 05:58:44.735] [DBUG] [CliUpdateNotifier] Current version: 13.3.0-pr.16059.ge1e00830
Newest stable version: 13.2.2
Newest prerelease version: (null)
[2026-04-11 05:58:44.735] [DBUG] [CliUpdateNotifier] No newer version for the current version 13.3.0-pr.16059.ge1e00830.
[2026-04-11 05:58:44.735] [INFO] [Program] Exit code: 2
[2026-04-11 05:58:44.735] [DBUG] [Host] Hosting stopping
[2026-04-11 05:58:44.735] [DBUG] [Host] Hosting stopped
=== END CLI ===
[12 OK] $ curl -ksSL -o /dev/null -w 'dashboard-http-%{http_code}' "$DASHBOARD_URL" || echo 'dashboard-http-failed'
curl: (3) URL rejected: Malformed input to a URL function
dashboard-http-000dashboard-http-failed
[13 OK] $
Stack Trace:
at Hex1b.Automation.Hex1bTerminalAutomator.RunAndRecordAsync(Hex1bTerminalInputSequence sequence, String description, CancellationToken ct, String callerFilePath, Int32 callerLineNumber) in /home/runner/work/hex1b/hex1b/src/Hex1b/Automation/Hex1bTerminalAutomator.cs:line 665
at Hex1b.Automation.Hex1bTerminalAutomator.WaitUntilTextAsync(String text, Nullable`1 timeout, String callerFilePath, Int32 callerLineNumber) in /home/runner/work/hex1b/hex1b/src/Hex1b/Automation/Hex1bTerminalAutomator.cs:line 140
at Aspire.Cli.EndToEnd.Tests.Helpers.CliE2EAutomatorHelpers.AspireStartAsync(Hex1bTerminalAutomator auto, SequenceCounter counter, Nullable`1 startTimeout) in /_/tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliE2EAutomatorHelpers.cs:line 382
at Aspire.Cli.EndToEnd.Tests.PythonReactTemplateTests.CreateAndRunPythonReactProject() in /_/tests/Aspire.Cli.EndToEnd.Tests/PythonReactTemplateTests.cs:line 46
--- End of stack trace from previous location ---
----- Inner Stack Trace -----
at Hex1b.Automation.WaitUntilStep.ExecuteAsync(Hex1bTerminal terminal, Hex1bTerminalInputSequenceOptions options, CancellationToken ct) in /home/runner/work/hex1b/hex1b/src/Hex1b/Automation/WaitUntilStep.cs:line 39
at Hex1b.Automation.Hex1bTerminalInputSequence.ApplyAsync(Hex1bTerminal terminal, CancellationToken ct) in /home/runner/work/hex1b/hex1b/src/Hex1b/Automation/Hex1bTerminalInputSequence.cs:line 41
at Hex1b.Automation.Hex1bTerminalAutomator.RunAndRecordAsync(Hex1bTerminalInputSequence sequence, String description, CancellationToken ct, String callerFilePath, Int32 callerLineNumber) in /home/runner/work/hex1b/hex1b/src/Hex1b/Automation/Hex1bTerminalAutomator.cs:line 652
```

Standard Output

```yml
Temporary workspace created at: /tmp/Aspire.Cli.Tests/TemporaryWorkspaces/3cf7bf78-d25b-4349-975c-bc26f67143d4
Creating Docker test terminal:
Test name: CreateAndRunPythonReactProject
Install mode: PullRequest
Variant: DotNet
Dockerfile: /home/runner/work/aspire/aspire/tests/Shared/Docker/Dockerfile.e2e
Workspace: /tmp/Aspire.Cli.Tests/TemporaryWorkspaces/3cf7bf78-d25b-4349-975c-bc26f67143d4
Docker socket: True
Dimensions: 160x48
Recording: /home/runner/work/aspire/aspire/testresults/recordings/CreateAndRunPythonReactProject.cast
PR number: 16059
PR head SHA: e1e0083060bddb1f194bca8d4f0958e696a950e5

```

📊 **[View CI Failure Report](https://github.com/microsoft/aspire/issues/16062#issuecomment-4228447128)**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.