Skip to content

Tests | Manual Test "Set" Trait#4071

Open
benrr101 wants to merge 2 commits intomainfrom
dev/russellben/cleanup/testsets-categories
Open

Tests | Manual Test "Set" Trait#4071
benrr101 wants to merge 2 commits intomainfrom
dev/russellben/cleanup/testsets-categories

Conversation

@benrr101
Copy link
Contributor

Description

This PR looks big, but it's actually really small. This updates the manual tests project to include all files in all builds, and moves the TestSet build property to a trait. Filtering of test sets can now be done via the filter command line argument.

Why is this good?

  • Uses existing mechanics to filter test sets, instead of custom baked things.
  • No surprises because files were not included
  • We can use "compiledefaultitems" in the project - no need to update the csproj when adding/removing tests.

Build2.proj now forwards the TestSet parameter to the filter argument, combining it with other filters that were provided. Thus, no changes to the pipelines were necessary.

🤖

Codex did the batch update of the test files (though it applied changes to files that didn't have any tests, so I had to back those changes out).

Testing

Everything works locally, so it should be good in PR validation.

Copilot AI review requested due to automatic review settings March 21, 2026 00:53
@benrr101 benrr101 requested a review from a team as a code owner March 21, 2026 00:53
@github-project-automation github-project-automation bot moved this to To triage in SqlClient Board Mar 21, 2026
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

Updates the ManualTests project to compile all test sources by default and switches “test set” partitioning from MSBuild-driven file inclusion to xUnit Trait("Set", ...) filtering, with build2.proj translating TestSet into a dotnet test --filter expression.

Changes:

  • Enable default compile item inclusion for ManualTests (removes per-TestSet <Compile Include=...> lists).
  • Add Trait("Set", "...") across ManualTests to support set-based filtering via dotnet test --filter.
  • Update build2.proj to convert TestSet into a Set=... filter and combine it with existing test filters.

Reviewed changes

Copilot reviewed 118 out of 118 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/XEventsTracingTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/MetricsTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/EventSourceTest.cs Adds Trait("Set", "3") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/DiagnosticTest.cs Adds Trait("Set", "3") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/WeakRefTestYukonSpecific/WeakRefTestYukonSpecific.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/WeakRefTest/WeakRefTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/VectorTest/VectorTypeBackwardCompatibilityTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/VectorTest/VectorAPIValidationTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/VectorTest/NativeVectorFloat32Tests.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/Utf8SupportTest/Utf8SupportTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtTest2.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtDateTimeOffsetTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtBulkCopyTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/TransactionTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/TransactionEnlistmentTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/TransactionTest/DistributedTransactionTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlStatisticsTest/SqlStatisticsTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlSchemaInfoTest/SqlSchemaInfoTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlNotificationTest/SqlNotificationTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlNamedPipesTest/SqlNamedPipesTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlFileStreamTest/SqlFileStreamTest.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlDependencyTest/SqlDependencyTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlDSEnumeratorTest/SqlDataSourceEnumeratorTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCredentialTest/SqlCredentialTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCommand/SqlCommandStoredProcTest.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCommand/SqlCommandSetTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCommand/SqlCommandExecuteScalarTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCommand/SqlCommandCompletedTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlCommand/SqlCommandCancelTest.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/TestBulkCopyWithUTF8.cs Adds Trait("Set", "2") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/SqlGraphTables.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/SqlBulkCopyTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/HiddenTargetColumn.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/DataConversionErrorMessageTest.cs Adds Trait("Set", "2") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/AdjustPrecScaleForBulkCopy.cs Adds Trait("Set", "2") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SplitPacketTest/SplitPacketTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RetryLogic/SqlConnectionReliabilityTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RetryLogic/SqlConfigurationManagerReliabilityTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RetryLogic/SqlCommandReliabilityTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RetryLogic/RetryLogicTestHelper.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RetryLogic/RetryLogicCounterTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/RandomStressTest/RandomStressTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHintsTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundariesTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameterTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameterTests.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlAdapterUpdateBatch.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/ParametersTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameterTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariantTests.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParallelTransactionsTest/ParallelTransactionsTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/MirroringTest/ConnectionOnMirroringTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/MARSTest/MARSTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/MARSSessionPoolingTest/MarsSessionPoolingTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/LocalDBTest/LocalDBTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/KerberosTests/KerberosTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonTest.cs Adds Trait("Set", "3") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonBulkCopyTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/IntegratedAuthenticationTest/IntegratedAuthenticationTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/InstanceNameTest/InstanceNameTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ExceptionTest/ExceptionTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ExceptionTest/ConnectionExceptionTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DateTimeTest/DateTimeTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs Adds Trait("Set", "2") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataSourceParserTest/DataSourceParserTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataReaderTest/DataReaderTest.cs Adds Trait("Set", "2") for test-set filtering; minor whitespace cleanup in embedded XML string.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataReaderTest/DataReaderStreamsTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataReaderTest/DataReaderCancellationTest.cs Adds Trait("Set", "2") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataClassificationTest/DataClassificationTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataBaseSchemaTest/ConnectionSchemaTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DNSCachingTest/DNSCachingTest.cs Adds Trait("Set", "2") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectivityTests/TcpDefaultForAzureTest.cs Adds Trait("Set", "2") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectivityTests/ConnectivityTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectivityTests/ConnectionBehaviorTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectivityTests/AADConnectionTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionTestWithSSLCert/CertificateTestWithTdsServer.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionTestWithSSLCert/CertificateTest.cs Adds Trait("Set", "1") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/TransactionPoolTest.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/PoolBlockPeriodTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/ConnectionPoolTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/ConnectionPoolTest.Debug.cs Adds Trait("Set", "3") for test-set filtering (debug-only file).
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/ConnectionPoolStressTest.cs Adds Trait("Set", "3") for test-set filtering; minor comment whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConfigurableIpPreferenceTest/ConfigurableIpPreferenceTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/Batch/BatchTests.netcore.cs Adds Trait("Set", "3") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AsyncTest/XmlReaderAsyncTest.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AsyncTest/BeginExecReaderAsyncTest.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AsyncTest/BeginExecAsyncTest.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AsyncTest/AsyncTimeoutTest.cs Adds Trait("Set", "1") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AsyncTest/AsyncCancelledConnectionsTest.cs Adds Trait("Set", "1") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AdapterTest/AdapterTest.cs Adds Trait("Set", "2") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/AADFedAuthTokenRefreshTest/AADFedAuthTokenRefreshTest.cs Adds Trait("Set", "3") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/ProviderAgnostic/ReaderTest/ReaderTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/ProviderAgnostic/MultipleResultsTest/MultipleResultsTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj Removes per-TestSet compile-item selection and relies on default compile items; keeps resource/config files copied to output.
src/Microsoft.Data.SqlClient/tests/ManualTests/DDBasics/DDMARSTest/DDMARSTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/DDBasics/DDDataTypesTest/DDDataTypesTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/DDBasics/DDAsyncTest/DDAsyncTest.cs Adds Trait("Set", "3") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestTrustedMasterKeyPaths.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/SqlNullValues.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/SqlBulkCopyTruncation.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ExceptionsGenericError.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ExceptionTestAKVStore.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/End2EndSmokeTests.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/EnclaveAzureDatabaseTests.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/DateOnlyReadTests.netcore.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/CspProviderExt.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ConversionTests.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ColumnDecryptErrorTests.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/BulkCopyAEErrorMessage.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/BulkCopyAE.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ApiShould.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs Adds Trait("Set", "AE") for test-set filtering.
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVTests.cs Adds Trait("Set", "AE") for test-set filtering; minor whitespace cleanup.
build2.proj Changes TestSet handling to create and combine a Set=... vstest filter with existing filters when running manual tests.
Comments suppressed due to low confidence (3)

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs:29

  • [Trait("Set", "3")] is currently attached to JsonRecord, but the test methods live on JsonStreamTest. As a result, dotnet test --filter "Set=3" won’t include these tests. Move/add the trait to the JsonStreamTest class (or the individual [ConditionalFact] methods) instead of the data model type.
    src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtDateTimeOffsetTest.cs:36
  • [Trait("Set", "3")] is applied to DateTimeOffsetList, but the actual test class in this file is UdtDateTimeOffsetTest. With the trait on a helper type, filtering by Set=3 won’t include these tests. Move/add the trait to UdtDateTimeOffsetTest (or the test methods) instead.
    src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/ConnectionPoolTest.cs:36
  • The Set trait is applied to ConnectionPoolConnectionStringProvider, but the tests are on ConnectionPoolTest. With the trait only on the data provider type, --filter "Set=3" won’t select the pool tests. Move/add the trait to the ConnectionPoolTest class (or to the test methods).

$(TestBlameArgument)
$(TestCodeCoverageArgument)
$(TestFiltersArgument)
--filter "$(ManualTestFiltersArgument)"
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

ManualTestFiltersArgument is referenced in the dotnet test command but is never defined in build2.proj, so the command will pass an empty filter (or fail). Define and use the correct property (either pass $(ManualTestFilters) directly, or introduce a ManualTestFiltersArgument similar to TestFiltersArgument).

Suggested change
--filter "$(ManualTestFiltersArgument)"
--filter "$(ManualTestFilters)"

Copilot uses AI. Check for mistakes.
<TestSetFilter>$(TestSetFilter.Trim('|')</TestSetFilter>

<!-- Combine existing filters with test set filters -->
<ManualTestFilters>$(TestFilters)&amp;($(TestSetFilter))</ManualTestFilters>
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

When $(TestSet) is empty, $(TestSetFilter) remains empty and ManualTestFilters becomes $(TestFilters)&($(TestSetFilter)) (i.e., it appends &()), producing an invalid vstest filter. Build ManualTestFilters conditionally so that the Set filter is only appended when TestSetFilter is non-empty (and if TestFilters is empty, use just the Set filter).

Suggested change
<ManualTestFilters>$(TestFilters)&amp;($(TestSetFilter))</ManualTestFilters>
<!-- Start with any existing test filters -->
<ManualTestFilters>$(TestFilters)</ManualTestFilters>
<!-- If both filters and test set filter are present, combine them -->
<ManualTestFilters Condition="'$(TestFilters)' != '' and '$(TestSetFilter)' != ''">$(TestFilters)&amp;($(TestSetFilter))</ManualTestFilters>
<!-- If only a test set filter is present, use just the set filter -->
<ManualTestFilters Condition="'$(TestFilters)' == '' and '$(TestSetFilter)' != ''">$(TestSetFilter)</ManualTestFilters>
<!-- Trim any leading or trailing '&' characters -->

Copilot uses AI. Check for mistakes.
Comment on lines 18 to 21
// drops these orphaned sessions as part of every run to help mitigate this issue.
[Trait("Set", "3")]
public class XEventCleaner
{
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The Set trait is applied to XEventCleaner, but the actual tests are in XEventsTracingTest. Filtering by --filter "Set=3" will not select these tests unless the trait is on the test class (or test methods). Move/add the Set trait to XEventsTracingTest (and remove it from the fixture if it’s not needed there).

Copilot uses AI. Check for mistakes.
<TestSetFilter Condition="$(NormalizedTestSet.Contains('2'))">$(TestSetFilter)|Set=2</TestSetFilter>
<TestSetFilter Condition="$(NormalizedTestSet.Contains('3'))">$(TestSetFilter)|Set=3</TestSetFilter>
<TestSetFilter Condition="$(TestSet.ToUpper().Contains('AE'))">$(TestSetFilter)|Set=AE</TestSetFilter>
<TestSetFilter>$(TestSetFilter.Trim('|')</TestSetFilter>
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

<TestSetFilter>$(TestSetFilter.Trim('|')</TestSetFilter> is missing a closing parenthesis, which makes the MSBuild XML invalid and will break loading/parsing build2.proj. Fix the expression to properly close the Trim call (and keep it as a single property-function call).

Suggested change
<TestSetFilter>$(TestSetFilter.Trim('|')</TestSetFilter>
<TestSetFilter>$(TestSetFilter.Trim('|'))</TestSetFilter>

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To triage

Development

Successfully merging this pull request may close these issues.

2 participants