Skip to content

Update GetAssetsToGenerate to be always single asset#7576

Merged
Youssef1313 merged 4 commits intomainfrom
dev/ygerges/getassetstogen
Mar 22, 2026
Merged

Update GetAssetsToGenerate to be always single asset#7576
Youssef1313 merged 4 commits intomainfrom
dev/ygerges/getassetstogen

Conversation

@Youssef1313
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 19, 2026 21:10
@Youssef1313 Youssef1313 marked this pull request as ready for review March 19, 2026 21:12
Copy link
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

This PR updates the test-asset generation infrastructure so each TestAssetFixtureBase generates/builds a single asset instead of a collection, and adjusts many integration-test fixtures accordingly.

Changes:

  • Changed TestAssetFixtureBase.InitializeAsync to generate/build exactly one asset.
  • Changed GetAssetsToGenerate from IEnumerable<(string ID, string Name, string Code)> to a single (string ID, string Name, string Code) tuple.
  • Updated many acceptance/integration test fixtures to match the new GetAssetsToGenerate signature.

Reviewed changes

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

Show a summary per file
File Description
test/Utilities/Microsoft.Testing.TestInfrastructure/TestAssetFixtureBase.cs Switches asset generation from “many” to a single asset and updates the abstract contract.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/AbortionTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ConsoleTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/CrashDumpTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/CrashPlusHangDumpTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/CustomBannerTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/DataConsumerThroughputTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/DiagnosticTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/EnvironmentVariablesConfigurationProviderTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ExecutionRequestCompleteTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ExecutionTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ExitOnProcessExitTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ForwardCompatibilityTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpOutputTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpProcessTreeTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoAllExtensionsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/LocalizationFailingTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/LocalizationTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/MaxFailedTestsExtensionTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/NoBannerTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/RetryFailedTestsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/ServerLoggingTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TelemetryDisabledTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TelemetryTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TestHostProcessLifetimeHandlerTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxDataRowTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxFailingTestTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxSkippedTestTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/UnhandledExceptionPolicyTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AbortionTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AppDomainTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AspireSdkTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AssemblyCleanupTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AssemblyResolverTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/CancellationTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ConfigurationMSTestSettingsTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ConfigurationMSTestV2SettingsTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ConfigurationSettingsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/CustomAttributesTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DeadlockTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DeploymentItemTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DuplicateTestClassAttributeTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DynamicDataMethodTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/FrameworkOnlyTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/GenericTestMethodTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/HelpInfoTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/IgnoreTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/InconclusiveTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LeakTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleAttributesTaskThreadingTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleAttributesValueTaskThreadingTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleAttributesVoidThreadingTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleWithParallelAttributesTaskThreadingTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/MaxFailedTestsExtensionTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/OutputTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ParameterizedDataSourceTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ParameterizedDataRowTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ParameterizedTestTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/PlaywrightSdkTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/RetryTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/RunsettingsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STAThreadingTests.cs Updates fixture override; file header now includes UTF-8 BOM.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassCooperativeTimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassTimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestMethodCooperativeTimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestMethodTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestMethodTimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ServerModeTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/SynchronizationContextTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestContextTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestFilterTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestRunParametersTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ThreadContextCultureFlowsInheritanceTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ThreadContextCultureFlowsTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ThreadContextTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ThreadingTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TimeoutTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TrxReportTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TupleDynamicDataTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ValueTaskTests.cs Updates fixture override to the new single-asset signature.
test/IntegrationTests/MSTest.Acceptance.IntegrationTests/WinUITests.cs Updates fixture override to the new single-asset signature.
Comments suppressed due to low confidence (17)

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/RunsettingsTests.cs:105

  • GetAssetsToGenerate has a tuple return type but still uses yield return, which requires an iterator return type and will not compile. Replace with a direct return ( ... ) and remove yield.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassCooperativeTimeoutTests.cs:70
  • GetAssetsToGenerate returns a tuple but still uses yield return, which will not compile. Replace the iterator body with a direct return ( ... ) and remove yield.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassTests.cs:70
  • GetAssetsToGenerate has a tuple return type but still uses yield return, which will not compile. Replace with a direct return ( ... ) and remove yield.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TrxReportTests.cs:56
  • GetAssetsToGenerate returns a tuple but still uses yield return, which will not compile. Replace the iterator body with a direct return ( ... ) and remove yield.
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpProcessTreeTests.cs:40
  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return, which requires an iterator return type and will not compile. Replace the iterator block with a direct return ( ... ) (or expression-bodied member) and remove yield usage.
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoAllExtensionsTests.cs:469
  • GetAssetsToGenerate has a tuple return type but still uses yield return, which won't compile. Replace the iterator body with a direct return ( ... ) and remove yield.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AssemblyCleanupTests.cs:41
  • GetAssetsToGenerate has been changed to return a single tuple, but this override still uses yield return and will not compile. Replace with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DynamicDataMethodTests.cs:66

  • GetAssetsToGenerate returns a tuple but the implementation still uses yield return, which will not compile. Replace with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleAttributesValueTaskThreadingTests.cs:41

  • GetAssetsToGenerate returns a tuple but this override still uses yield return, which will not compile. Replace the iterator body with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.Net)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ParameterizedDataRowTests.cs:43

  • GetAssetsToGenerate now returns a tuple, but this override still uses yield return, which will not compile. Replace with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (DataRowAssetName, DataRowAssetName,
                SourceCodeDataRow
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TimeoutTests.cs:1066

  • GetAssetsToGenerate mixes a direct return with subsequent yield return statements. This won’t compile, and it also indicates this fixture still needs multiple assets (several GetAssetPath(...) properties above). Either refactor this test to package everything into a single generated asset/project, or revert the fixture API to support multiple assets.
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/LocalizationFailingTests.cs:126
  • GetAssetsToGenerate now returns a single tuple, but this implementation still uses yield return, which will not compile. Replace with a direct return ( ... ) and remove yield.
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TestHostProcessLifetimeHandlerTests.cs:142
  • GetAssetsToGenerate returns a tuple but still uses yield return, which requires an iterator return type and will not compile. Replace the iterator block with a direct return ( ... ) and remove yield.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/InconclusiveTests.cs:127
  • GetAssetsToGenerate now returns a single tuple, but this override still uses yield return, which will not compile. Replace with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.NetCurrent)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/WinUITests.cs:45

  • This override still uses yield break/yield return, but GetAssetsToGenerate now returns a tuple, so the method cannot be an iterator and will not compile. If the intent is to skip asset generation on non-Windows, the base/fixture API needs to represent “no asset” (e.g., nullable/optional asset), or the OS gating needs to move to a place that prevents InitializeAsync from running (instead of yield break).
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ConfigurationSettingsTests.cs:97
  • GetAssetsToGenerate now returns a tuple, but this override still uses yield return, which will not compile. Replace the iterator body with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$ProjectName$", ProjectName)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion)
                .PatchCodeWithReplace("$AppendSettings$", string.Empty));
        }

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/IgnoreTests.cs:121

  • GetAssetsToGenerate has a tuple return type but still uses yield return, which requires an iterator return type and will not compile. Replace with a direct return ( ... ) and remove yield.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.NetCurrent)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
        }

@Youssef1313 Youssef1313 force-pushed the dev/ygerges/getassetstogen branch from ec3f58b to ddd4210 Compare March 19, 2026 22:42
Copilot AI review requested due to automatic review settings March 20, 2026 09:48
Copy link
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 89 out of 89 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (16)

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/IgnoreTests.cs:120

  • GetAssetsToGenerate now returns a single tuple (not an iterator), but this method still uses yield return, which will not compile. Convert to a direct tuple return.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.NetCurrent)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/LifecycleAttributesValueTaskThreadingTests.cs:40

  • GetAssetsToGenerate now returns a single tuple, but the method body still uses yield return, which will not compile. Update to return the tuple directly.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.Net)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ParameterizedDataRowTests.cs:42

  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return (iterator syntax), which will not compile. Convert this to a direct tuple return.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (DataRowAssetName, DataRowAssetName,
                SourceCodeDataRow
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/WinUITests.cs:39

  • GetAssetsToGenerate now returns a single tuple (not an iterator), but this method still uses iterator statements (yield break / yield return), which will not compile. Additionally, this fixture needs a way to skip asset generation on non-Windows without failing during InitializeAsync (e.g., allow 0 assets, or make the asset return optional).
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TestHostProcessLifetimeHandlerTests.cs:141
  • GetAssetsToGenerate now returns a single tuple (not an iterator), but the method body still uses yield return, which will not compile. Replace the iterator implementation with a direct tuple return (or adjust the base contract back to an IEnumerable if multiple/conditional assets are required).
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HelpInfoAllExtensionsTests.cs:468
  • GetAssetsToGenerate now returns a single tuple (not an iterator), but this method still uses yield return, which will not compile. Update to return the tuple directly (or keep the previous IEnumerable contract).
    test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/LocalizationFailingTests.cs:125
  • GetAssetsToGenerate now returns a single tuple (not an iterator), but the implementation still uses yield return, which will not compile. Convert to a direct tuple return (or revert the base method back to IEnumerable if you still need iterator semantics).
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/ConfigurationSettingsTests.cs:93
  • GetAssetsToGenerate now returns a single tuple, but this method still uses yield return (iterator syntax), which will not compile. Update this to return the tuple directly.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassTests.cs:69

  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return (iterator syntax), which will not compile. Convert this to a direct tuple return.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/AssemblyCleanupTests.cs:40
  • GetAssetsToGenerate now returns a single tuple (not an iterator), but the implementation still uses yield return, which will not compile. Replace with a direct tuple return (or revert the base method signature back to IEnumerable if iterator semantics are needed).
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

test/IntegrationTests/MSTest.Acceptance.IntegrationTests/RunsettingsTests.cs:104

  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return, which will not compile. Update this method to return the tuple directly.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/STATestClassCooperativeTimeoutTests.cs:69
  • GetAssetsToGenerate now returns a single tuple, but this method still uses yield return, which will not compile. Replace with a direct tuple return.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TrxReportTests.cs:55
  • GetAssetsToGenerate now returns a single tuple, but the method body still uses yield return, which will not compile. Update to return the tuple directly.
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/InconclusiveTests.cs:126
  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return (iterator syntax), which will not compile. Replace with a direct tuple return.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.NetCurrent)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpProcessTreeTests.cs:39

  • GetAssetsToGenerate now returns a single tuple (not an iterator), but the implementation still uses yield return, which will not compile. Convert this to a direct tuple return (or restore an IEnumerable-based contract).
    test/IntegrationTests/MSTest.Acceptance.IntegrationTests/DynamicDataMethodTests.cs:65
  • GetAssetsToGenerate now returns a single tuple, but the implementation still uses yield return, which will not compile. Replace this iterator block with a direct tuple return.
        public override (string ID, string Name, string Code) GetAssetsToGenerate()
        {
            yield return (ProjectName, ProjectName,
                SourceCode
                .PatchTargetFrameworks(TargetFrameworks.All)
                .PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));

Copilot AI review requested due to automatic review settings March 21, 2026 21:08
@Youssef1313 Youssef1313 force-pushed the dev/ygerges/getassetstogen branch from 86357da to 5a38eae Compare March 21, 2026 21:08
Copy link
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 95 out of 95 changed files in this pull request and generated 3 comments.

@Youssef1313 Youssef1313 merged commit 7ed42bc into main Mar 22, 2026
14 checks passed
@Youssef1313 Youssef1313 deleted the dev/ygerges/getassetstogen branch March 22, 2026 10:39
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