-
Notifications
You must be signed in to change notification settings - Fork 319
Minimal modifications to stress tests for Linux #3548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 modernizes the stress tests for SqlClient to better support Linux development by replacing the old Visual Studio solution file with a minimal SLNX format and updating build configurations. The changes include updating target frameworks to .NET 9.0 and .NET Framework 4.8.1, fixing build warnings, and improving documentation.
Key Changes
- Replaced traditional .sln file with minimal .slnx format for better cross-platform compatibility
- Updated all projects to target .NET Framework 4.8.1 instead of 4.8 and maintained .NET 9.0 support
- Added centralized package management with Directory.Build.props and Directory.Packages.props files
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| StressTests.slnx | New minimal solution file replacing traditional .sln format |
| SqlClientStressTest.sln | Removed old Visual Studio solution file |
| *.csproj files | Updated target frameworks from net48 to net481 and centralized package references |
| TestBase.cs | Removed CLS compliance attributes and improved formatting |
| DataTestGroup.cs | Simplified exception handling by using bare throw statements |
| DataStressFactory.cs | Simplified exception handling by using bare throw statements |
| StressTest.config | Updated example configuration with corrected field formatting |
| Directory.Build.props | Added to prevent searching up directory tree for parent configurations |
| Directory.Packages.props | Added centralized package version management |
| Readme.md | Updated documentation with corrected examples and improved formatting |
paulmedynski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding commentary for reviewers.
src/Microsoft.Data.SqlClient/tests/StressTests/SqlClient.Stress.Framework/DataStressFactory.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/StressTests/SqlClient.Stress.Runner/Tests/TestBase.cs
Show resolved
Hide resolved
benrr101
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm gonna make a bunch more changes to this ... but if it gets you off the ground for linux support, I guess that's fine
cheenamalhotra
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Minimal modifications to get the stress tests building and running on Linux. * Updated sample config to avoid a dummy password.
* Moved existing stress test projects from ADO into GitHub. (#3546) (This code is effectively dead since it is not being referenced anywhere, and there are no other changes to the code. As such, we can bypass the one flaky test failure.) * Minimal modifications to stress tests for Linux (#3548) * Minimal modifications to get the stress tests building and running on Linux. * Updated sample config to avoid a dummy password. * User Story 38131: Stress Tests CI - Added config file path configuration via STRESS_CONFIG_FILE environment variable. - Added support for JSON config file. - Fixed process exit code to reflect success vs failure. - Added emission to console. - Added emission of data source. - Added EntraId password-based auth. - Added CI stage. - Added NuGet package version to MDS assembly. - Added dotnet build configuration pararmeter to CI entry points. - Added MDS package version configurability to stress tests. - Added all target frameworks that MDS supports. - Each test run now creates and drops its own database to avoid collisions. - Moved to 1ES images where possible. - Using a local SQL Server that we setup as part of CI. * User Story 38131: Stress Tests CI - Added top-level pipeline flag to enable stress tests, deafult is false until tests are reliably passing.
Description
Directory.Build.propsandDirectory.Packages.propsthat don't allow the parent config to be used.Readme.mdto reflect changes and corrected examples.