Skip to content

Add a script that takes output of dotnet-watch tests and formats it to HTML that's easier to reason about#53215

Merged
tmat merged 2 commits into
dotnet:release/10.0.3xxfrom
tmat:WatchTestOutput
Mar 4, 2026
Merged

Add a script that takes output of dotnet-watch tests and formats it to HTML that's easier to reason about#53215
tmat merged 2 commits into
dotnet:release/10.0.3xxfrom
tmat:WatchTestOutput

Conversation

@tmat

@tmat tmat commented Mar 3, 2026

Copy link
Copy Markdown
Member

Adds a vibe-coded script that helps analyzing test output of dotnet watch.

  • Separates interleaving lines of output of tests running in parallel.
  • Groups certain patterns of output into collapsable blocks that are collapsed by default.
  • Uses different colors to distinguish various types of output (app output, watch output, test helper output).
scripts> dotnet run analyze-watch-test-output.cs https://helixr1107v0xdeko0k025g8.blob.core.windows.net/dotnet-sdk-refs-pull-53192-merge-774a9bfb9c424be389/dotnet-watch.Tests.dll.1/1/console.cbc81d8a.log?helixlogtype=result
Downloading https://helixr1107v0xdeko0k025g8.blob.core.windows.net/dotnet-sdk-refs-pull-53192-merge-774a9bfb9c424be389/dotnet-watch.Tests.dll.1/1/console.cbc81d8a.log?helixlogtype=result...
Downloaded to Temp\console.cbc81d8a.log
Wrote Temp\console.cbc81d8a.html (64 tests, 5347 input lines)
image

Copilot AI review requested due to automatic review settings March 3, 2026 01:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new utility script under scripts/ to take dotnet watch/xUnit test output logs, regroup interleaved lines by test name, and emit an HTML report with collapsible per-test sections to make failures easier to inspect.

Changes:

  • Introduces parsing logic to associate xUnit log lines and result lines with individual tests and infer pass/fail/skip status.
  • Generates a self-contained HTML page (CSS + JS) with filtering, expand/collapse controls, and grouped/collapsed repeated sections.

Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
Comment thread scripts/format-watch-test-output.cs
@tmat

tmat commented Mar 3, 2026

Copy link
Copy Markdown
Member Author

@DustinCampbell @MichaelSimons
Feel free to ignore the details of the script. I did :). It seems to mostly work.

@DustinCampbell DustinCampbell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@DustinCampbell @MichaelSimons
Feel free to ignore the details of the script. I did :). It seems to mostly work.

Successfully ignored. 😄

@tmat
tmat force-pushed the WatchTestOutput branch from 77ac6ec to 61d1284 Compare March 3, 2026 18:24
@tmat
tmat enabled auto-merge (squash) March 3, 2026 18:24
@tmat

tmat commented Mar 4, 2026

Copy link
Copy Markdown
Member Author

/ba-g Infra only change

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.

3 participants