Skip to content

Tests | Manual Test "Set" Trait#4071

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

Tests | Manual Test "Set" Trait#4071
benrr101 wants to merge 4 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).

@paulmedynski paulmedynski moved this from To triage to In review in SqlClient Board Mar 23, 2026
@paulmedynski paulmedynski added this to the 7.1.0-preview1 milestone Mar 23, 2026
@paulmedynski paulmedynski added the Area\Tests Issues that are targeted to tests or test projects label Mar 23, 2026
Copy link
Contributor

@paulmedynski paulmedynski left a comment

Choose a reason for hiding this comment

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

Looks like Copilot found some bugs to address. I have a question about backwards compatibility with build.proj.

@github-project-automation github-project-automation bot moved this from In review to In progress in SqlClient Board Mar 23, 2026
@paulmedynski paulmedynski self-assigned this Mar 23, 2026
Copilot AI review requested due to automatic review settings March 24, 2026 19:39
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 119 out of 129 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (4)

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

  • [Trait("Set", "3")] is applied to JsonRecord, but the test methods live on JsonStreamTest. Filtering via --filter "Set=3" will not include these tests unless the trait is on the test class (or individual test methods). Move the Set trait to JsonStreamTest (and remove it from JsonRecord if it isn’t needed).
    src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UdtDateTimeOffsetTest.cs:35
  • [Trait("Set", "3")] is applied to DateTimeOffsetList, but the actual tests are in UdtDateTimeOffsetTest. With --filter "Set=3", these tests won’t be selected unless the trait is on the test class (or methods). Move the Set trait to UdtDateTimeOffsetTest (and remove it from the helper type if not needed).
    src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ConnectionPoolTest/ConnectionPoolTest.cs:36
  • [Trait("Set", "3")] is applied to ConnectionPoolConnectionStringProvider, but the test methods are on ConnectionPoolTest. Filtering by --filter "Set=3" will not include these tests unless the trait is on the test class (or methods). Move the Set trait to ConnectionPoolTest (and remove it from the provider type if it isn’t required).
    src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/VectorTest/NativeVectorFloat32Tests.cs:60
  • [Trait("Set", "3")] is applied to VectorFloat32TestData, but the tests are in NativeVectorFloat32Tests. --filter "Set=3" won’t select these tests unless the trait is applied to the test class (or methods). Move the trait to NativeVectorFloat32Tests (and remove it from the data provider type if not needed).

$(TestFiltersArgument)
$(TestFrameworkArgument)
$(TestSetArgument)
--filter "$(ManualTestFilters)"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

TestMdsManual no longer passes $(TestFrameworkArgument), so -p:TestFramework=... will have no effect for manual tests (unlike functional/unit targets). This likely causes the manual test run to execute all TFMs by default and breaks existing invocations that relied on selecting a single framework. Add $(TestFrameworkArgument) back to the manual test dotnet test command (or document/rename the parameter if this behavior change is intentional).

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

Copilot uses AI. Check for mistakes.
Comment on lines +477 to 487
<!-- Combine existing filters with test set filters -->
<ManualTestFilters>$(TestFilters)&amp;$(TestSetFilter)</ManualTestFilters>
<ManualTestFilters>$(ManualTestFilters.Trim('&amp;'))</ManualTestFilters>

<DotnetCommand>
"$(DotnetPath)dotnet" test "$(MdsManualTestProjectPath)"
-p:Configuration=$(Configuration)
$(TestBlameArgument)
$(TestCodeCoverageArgument)
$(TestFiltersArgument)
$(TestFrameworkArgument)
$(TestSetArgument)
--filter "$(ManualTestFilters)"
--results-directory "$(TestResultsFolderPath)"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

TestMdsManual always passes --filter "$(ManualTestFilters)". When TestFilters=none and TestSet is empty, ManualTestFilters becomes an empty string, and dotnet test --filter "" is likely to fail or behave unexpectedly. Make the --filter argument conditional (similar to $(TestFiltersArgument)) so it’s omitted when ManualTestFilters is empty.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@paulmedynski paulmedynski left a comment

Choose a reason for hiding this comment

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

I agree with the Copilot comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area\Tests Issues that are targeted to tests or test projects

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants