Skip to content

Revert "Avoid printing stdout/stderr properties in console (#7600)" and add --show-stdout/--show-stderr options#7637

Merged
Youssef1313 merged 10 commits intomainfrom
revert-7600-dev/ygerges/polluted-output
Apr 1, 2026
Merged

Revert "Avoid printing stdout/stderr properties in console (#7600)" and add --show-stdout/--show-stderr options#7637
Youssef1313 merged 10 commits intomainfrom
revert-7600-dev/ygerges/polluted-output

Conversation

@Youssef1313
Copy link
Copy Markdown
Member

@Youssef1313 Youssef1313 commented Mar 31, 2026

Fixes #7612

Copilot AI review requested due to automatic review settings March 31, 2026 07:08
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Reverts a prior change that suppressed printing captured stdout/stderr in terminal reporting, restoring “Standard output” / “Error output” sections in detailed test output across ANSI and non-ANSI terminals.

Changes:

  • Restore propagation and rendering of StandardOutputProperty / StandardErrorProperty in TerminalOutputDeviceTerminalTestReporter.
  • Update terminal reporter unit tests to validate the restored output formatting (ANSI/simple ANSI/non-ANSI, including progress-frame output).
  • Add an MSTest acceptance integration test verifying detailed output includes the expected standard/error output sections, and add the required localized resource strings.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/UnitTests/Microsoft.Testing.Platform.UnitTests/OutputDevice/Terminal/TerminalTestReporterTests.cs Updates expected terminal output to include standard/error output blocks for multiple terminal modes.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/OutputTests.cs Adds acceptance coverage ensuring --output detailed includes the standard/error output sections.
src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.*.xlf Adds translations for the new StandardOutput / StandardError resource entries across all supported locales in this folder.
src/Platform/Microsoft.Testing.Platform/Resources/PlatformResources.resx Adds StandardOutput / StandardError resource strings used by terminal formatting.
src/Platform/Microsoft.Testing.Platform/OutputDevice/TerminalOutputDevice.cs Restores reading standard output/error properties from test nodes and passes them into terminal reporting.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TerminalTestReporter.cs Restores rendering of standard output/error output blocks in test-completed output.

@Youssef1313
Copy link
Copy Markdown
Member Author

@copilot Implement --show-stdout and --show-stderr command-line options. The command-line option should accept exactly one argument which is one of all, failed, or none. If not specified, it defaults to all.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

@copilot Implement --show-stdout and --show-stderr command-line options. The command-line option should accept exactly one argument which is one of all, failed, or none. If not specified, it...

Implemented in commit 467e567.

Added --show-stdout and --show-stderr command-line options that each accept all (default), failed, or none:

  • all — show captured output for all tests (default behavior)
  • failed — show captured output only for failed/error/timeout/canceled tests
  • none — never show captured output

Files changed:

  • TerminalTestReporterCommandLineOptionsProvider.cs — registered the two new options with ArgumentArity.ExactlyOne and added argument validation
  • TerminalTestReporterOptions.cs — added OutputShowMode enum and ShowStdout/ShowStderr properties
  • TerminalOutputDevice.cs — reads the new options and passes them to TerminalTestReporterOptions
  • TerminalTestReporter.cs — applies the options in RenderTestCompleted() to conditionally pass stdout/stderr to the formatter
  • PlatformResources.resx — added description strings and error message for the new options
  • TerminalTestReporterTests.cs — added two unit tests verifying none and failed modes

Copilot AI changed the title Revert "Avoid printing stdout/stderr properties in console (#7600)" Revert "Avoid printing stdout/stderr properties in console (#7600)" and add --show-stdout/--show-stderr options Mar 31, 2026
@Youssef1313 Youssef1313 marked this pull request as ready for review March 31, 2026 10:48
Copilot AI review requested due to automatic review settings March 31, 2026 10:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 15 comments.

Copilot AI review requested due to automatic review settings March 31, 2026 10:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.

Copilot AI review requested due to automatic review settings March 31, 2026 11:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated no new comments.

@Youssef1313
Copy link
Copy Markdown
Member Author

@copilot Help_WhenMSTestExtensionRegistered_OutputHelpContentOfRegisteredExtension is failing.

Copy link
Copy Markdown
Member

@Evangelink Evangelink left a comment

Choose a reason for hiding this comment

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

We should have some acceptance tests for the new options and their values.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

@copilot Help_WhenMSTestExtensionRegistered_OutputHelpContentOfRegisteredExtension is failing.

Fixed in commit 7cc2308. Updated the expected --help output in all three help info test files to include the new --show-stderr and --show-stdout options:

  • MSTest.Acceptance.IntegrationTests/HelpInfoTests.cs
  • Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoTests.cs (both the --help and --info patterns)
  • Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoAllExtensionsTests.cs (both the --help and --info patterns)

Copilot AI review requested due to automatic review settings March 31, 2026 14:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 2 comments.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

We should have some acceptance tests for the new options and their values.

@copilot Address this comment.

Added acceptance tests in commit c2f8fdd in ShowOutputOptionTests.cs. The new tests cover all four key scenarios using a test asset with both a passing and failing test (each writing distinct stdout/stderr messages):

  • ShowStdout_None_NeverShowsStandardOutput--show-stdout none suppresses all stdout output
  • ShowStdout_Failed_ShowsStandardOutputOnlyForFailedTests--show-stdout failed shows stdout only for the failing test, not the passing one
  • ShowStderr_None_NeverShowsErrorOutput--show-stderr none suppresses all stderr output
  • ShowStderr_Failed_ShowsErrorOutputOnlyForFailedTests--show-stderr failed shows stderr only for the failing test, not the passing one

@Youssef1313
Copy link
Copy Markdown
Member Author

@copilot Help_WithAllExtensionsRegistered_OutputFullHelpContent is failing.

…lphabetical ordering of extension options

Agent-Logs-Url: https://github.com/microsoft/testfx/sessions/7720e902-46f9-4abb-8ab4-4667485117f9

Co-authored-by: Youssef1313 <31348972+Youssef1313@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 31, 2026 19:49
@Youssef1313 Youssef1313 review requested due to automatic review settings March 31, 2026 19:49
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

@copilot Help_WithAllExtensionsRegistered_OutputFullHelpContent is failing.

Fixed in commit cced0c7. The expected Extension options: in Help_WithAllExtensionsRegistered_OutputFullHelpContent had --show-stderr/--show-stdout before --report-trx, but alphabetically r comes before s. Swapped the order so --report-trx/--report-trx-filename now appear before --show-stderr/--show-stdout.

Copy link
Copy Markdown
Member

@Evangelink Evangelink left a comment

Choose a reason for hiding this comment

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

Nice approach — giving users control via --show-stdout/--show-stderr is much better than the blanket suppression from #7600.

The implementation is clean and follows existing patterns well. A few items to address:

  1. Naming consistencyerrorOutput parameter should be standardError to match the rest of the chain
  2. Unreachable default arms — the _ => cases in the OutputShowMode switches should use ApplicationStateGuard.Unreachable() per codebase convention
  3. Test coverage — missing acceptance tests for explicit all, default behavior, and invalid argument validation
  4. Default value — discussed offline, keeping All for backward compatibility now with plan to switch to Failed in the next major

…eachable(), add more acceptance tests

Agent-Logs-Url: https://github.com/microsoft/testfx/sessions/8d276482-3c57-4566-a196-9ed5bdb23fb2

Co-authored-by: Youssef1313 <31348972+Youssef1313@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 1, 2026 12:14
@Youssef1313 Youssef1313 review requested due to automatic review settings April 1, 2026 12:14
Copilot AI review requested due to automatic review settings April 1, 2026 13:07
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.

@Youssef1313 Youssef1313 enabled auto-merge (squash) April 1, 2026 14:01
@Youssef1313 Youssef1313 merged commit 4b12ce9 into main Apr 1, 2026
14 checks passed
@Youssef1313 Youssef1313 deleted the revert-7600-dev/ygerges/polluted-output branch April 1, 2026 19:24
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.

Revise recent output change before shipping 4.2

4 participants