Skip to content

Remove legacy JSON output implementation - #7234

Merged
thomhurst merged 1 commit into
thomhurst:mainfrom
Saad-elnagar:remove-legacy-json-output
Oct 21, 2026
Merged

thomhurst merged 1 commit into
thomhurst:mainfrom
Saad-elnagar:remove-legacy-json-output

Conversation

@Saad-elnagar

@Saad-elnagar Saad-elnagar commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #7201

Summary

  • Remove the unused legacy JSON output command-line provider.
  • Delete the obsolete JSON serialization models and extensions.
  • Remove the skipped JSON output tests.
  • Remove documentation for unsupported JSON output flags.

Validation

  • dotnet build src/TUnit.Engine/TUnit.Engine.csproj --no-restore — passed.
  • dotnet test tests/TUnit.Engine.Tests/TUnit.Engine.Tests.csproj — passed.
    • 573 passed
    • 0 failed
    • 346 skipped

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-21T06:12:22.245304Z
We couldn’t complete this review. Comment @codex review to try again.
d1f07d2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d6fcaf0a-ec80-40a2-b0d8-4c33956c3f13
📥 Commits

Reviewing files that changed from the base of the PR and between 568274e and d1f07d2.

📒 Files selected for processing: 11
  • docs/docs/reference/command-line-flags.md
  • src/TUnit.Engine/CommandLineProviders/JsonOutputCommandProvider.cs
  • src/TUnit.Engine/Extensions/JsonExtensions.cs
  • src/TUnit.Engine/Json/ExceptionJson.cs
  • src/TUnit.Engine/Json/JsonContext.cs
  • src/TUnit.Engine/Json/TestAssemblyJson.cs
  • src/TUnit.Engine/Json/TestClassJson.cs
  • src/TUnit.Engine/Json/TestJson.cs
  • src/TUnit.Engine/Json/TestResultJson.cs
  • src/TUnit.Engine/Json/TestSessionJson.cs
  • tests/TUnit.Engine.Tests/JsonOutputTests.cs
💤 Files with no reviewable changes: 11
  • src/TUnit.Engine/Json/TestSessionJson.cs
  • src/TUnit.Engine/Json/TestClassJson.cs
  • docs/docs/reference/command-line-flags.md
  • src/TUnit.Engine/Json/TestAssemblyJson.cs
  • src/TUnit.Engine/Json/TestJson.cs
  • src/TUnit.Engine/Json/ExceptionJson.cs
  • src/TUnit.Engine/Json/TestResultJson.cs
  • tests/TUnit.Engine.Tests/JsonOutputTests.cs
  • src/TUnit.Engine/CommandLineProviders/JsonOutputCommandProvider.cs
  • src/TUnit.Engine/Json/JsonContext.cs
  • src/TUnit.Engine/Extensions/JsonExtensions.cs

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

📝 Walkthrough

The change removes the JSON output command-line options and documentation, JSON conversion methods and data models, and the skipped test for JSON output.

Changes: JSON output removal

Layer / File(s) Summary
JSON models and conversions
src/TUnit.Engine/Json/*, src/TUnit.Engine/Extensions/JsonExtensions.cs
The JSON model records, serialization context, and conversion methods for test contexts, results, and exceptions are removed.
JSON command-line options
src/TUnit.Engine/CommandLineProviders/JsonOutputCommandProvider.cs, docs/docs/reference/command-line-flags.md, tests/TUnit.Engine.Tests/JsonOutputTests.cs
The JSON output options, their documentation, and the skipped test that invoked them are removed.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Merge Risk: ⚪ Minimal · up to d1f07

The legacy JSON output removal appears ready to merge after normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: removal of the legacy JSON output implementation, including its provider, models, extensions, tests, and documentation.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the flags at dawn,
Finds JSON paths and models gone.
It hops across the cleared-out page,
Then nibbles clover by the stage.
The test is gone; the docs move on.

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Review: Remove legacy JSON output implementation

This is a clean dead-code removal. I grepped the PR head for JsonOutputCommandProvider, output-json, TUnit.Engine.Json, JsonExtensions, ToJsonModel and OutputJson, and found no remaining references. The grep couldn't read .mcp.json (permission denied), so that file was not checked.

  • The provider was never registered, which matches the PR description. The --output-json* flags were not functional, so removing the docs is correct.
  • The removed test was already [Skip]ped and only asserted on a stubbed-out file check.
  • The models and JsonContext were internal, so there is no public API impact. Removing the source-generated JSON context also helps trimming and AOT size.

I only reviewed the diff and grepped for leftover references; I didn't build or run tests myself. The PR reports a passing Engine build and Engine tests (573 passed, 0 failed).

No concerns. LGTM.

@greptile-apps

greptile-apps Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] This cleanup appears safe to merge.

Summary

Removes unused legacy JSON reporting code and its unsupported command-line documentation.

  • TUnit no longer offers its legacy JSON test-run output.

No actionable issues found. Build and test results were supplied by the author; they were not rerun during this review.

Reviews (1) · Last reviewed commit: "Remove legacy JSON output implementation" · Reviewed by Greptile

@Saad-elnagar
Saad-elnagar deployed to Pull Requests October 21, 2026 09:04 — with GitHub Actions Active
@Saad-elnagar
Saad-elnagar deployed to Pull Requests October 21, 2026 09:04 — with GitHub Actions Active
@Saad-elnagar
Saad-elnagar deployed to Pull Requests October 21, 2026 09:04 — with GitHub Actions Active
@thomhurst

Copy link
Copy Markdown
Owner

Thanks @Saad-elnagar !

@thomhurst
thomhurst enabled auto-merge (squash) October 21, 2026 09:05
@thomhurst
thomhurst merged commit 229a146 into thomhurst:main Oct 21, 2026
26 checks passed
This was referenced Oct 26, 2026

This branch was successfully deployed

1 active deployment
Pull Requests — d1f07d27 Deployed Oct 21, 2026 by Saad-elnagar via modularpipeline (macos-latest) #20377
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.

JSON output still uses assembly-qualified Type.FullName for parameter and return types

2 participants