Skip to content

Conversation

@benrr101
Copy link
Contributor

Description

Following the pattern from the last PR (#3870), this PR migrates the FunctionalTests to reference the common MDS project. This affords us an opportunity to clean up a fair bit of the project files, so here's an overview of the changes:

  • Change reference in FunctionalTests from separate MDS projects to common MDS project

    • Unlike the unit test projects, this reference is conditional on whether we are running in package or project mode. Comments as to how that works have been added to the csproj. The default will be to run in project mode.
  • Clean up references section in FunctionalTests csproj as per the common project and unit test projects

    • One section for netcore, one section for netfx
    • Remove references to AKV and MSS - they didn't seem necessary and the project compiles and runs just fine without them
  • Remove manual inclusion of all files in the project and use the modern, implicit inclusion mechanism. Only external files and resource files need explicit inclusion.

  • SslOverTdsStream tests have been #if included to only run on netcore.

  • Remove RestoreFunctionalTests* and BuildFunctionalTests* targets from build.proj

  • Change RunFunctionalTests* targets in build.proj to build the project, same procedure that enabled unit test project update to work.

Issues

N/A

Testing

Local test runs work - in IDE, same failures as always happen; in console via build.proj, everything seems to be working. CI runs will validate pipeline integration is working correctly

Guidelines

Please review the contribution guidelines before submitting a pull request:

@benrr101 benrr101 added this to the 7.0.0-preview4 milestone Jan 13, 2026
@benrr101 benrr101 added the Common Project 🚮 Things that relate to the common project project label Jan 13, 2026
@benrr101 benrr101 requested a review from a team as a code owner January 13, 2026 22:26
Copilot AI review requested due to automatic review settings January 13, 2026 22:26
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 migrates the FunctionalTests project to reference the common MDS project, following the pattern established in PR #3870 for UnitTests. The changes modernize the project structure and simplify the build process.

Changes:

  • Migrated FunctionalTests project to reference the unified/common MDS project with conditional logic for Package vs Project mode
  • Modernized FunctionalTests.csproj by removing manual file inclusions, restructuring references into clear netfx/netcore sections, and adding comprehensive documentation comments
  • Simplified build.proj by removing separate BuildFunctionalTests*/RestoreFunctionalTests* targets and updating RunFunctionalTests* targets to build the project directly

Reviewed changes

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

File Description
Microsoft.Data.SqlClient.UnitTests.csproj Reordered TDS-related project references for consistency
SslOverTdsStreamTest.cs Added #if NET conditional compilation and updated namespace from SNI to ManagedSni
Microsoft.Data.SqlClient.FunctionalTests.csproj Complete restructure with conditional MDS reference, organized netfx/netcore sections, and removal of manual file inclusions
build.proj Removed FunctionalTests build/restore targets, updated RunFunctionalTests* targets to use simplified command structure

Copilot AI review requested due to automatic review settings January 14, 2026 20:13
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 4 out of 4 changed files in this pull request and generated 5 comments.

@codecov
Copy link

codecov bot commented Jan 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.92%. Comparing base (0a1c612) to head (e7396dc).
⚠️ Report is 4 commits behind head on main.

❗ There is a different number of reports uploaded between BASE (0a1c612) and HEAD (e7396dc). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (0a1c612) HEAD (e7396dc)
addons 1 0
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3890      +/-   ##
==========================================
- Coverage   76.66%   69.92%   -6.75%     
==========================================
  Files         269      263       -6     
  Lines       43246    66170   +22924     
==========================================
+ Hits        33156    46269   +13113     
- Misses      10090    19901    +9811     
Flag Coverage Δ
addons ?
netcore 69.94% <ø> (-6.76%) ⬇️
netfx 69.20% <ø> (-7.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@paulmedynski paulmedynski self-assigned this Jan 15, 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.

My comments will be incorporated into the next PR in this series.

@benrr101 benrr101 merged commit d948cd4 into main Jan 15, 2026
280 checks passed
@benrr101 benrr101 deleted the dev/russellben/common/functional-tests branch January 15, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Common Project 🚮 Things that relate to the common project project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants