-
Notifications
You must be signed in to change notification settings - Fork 319
Re-home stress test projects #3546
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 re-homes stress test projects from Azure DevOps (ADO) into GitHub by adding comprehensive stress testing infrastructure for Microsoft.Data.SqlClient. The purpose is to consolidate testing tools and improve accessibility by moving stress tests to the main repository.
Key changes include:
- Addition of a complete stress testing framework with test harness and runner
- Implementation of SqlClient-specific stress tests covering async operations, MARS, and various command types
- Integration of monitoring and logging capabilities for test execution tracking
Reviewed Changes
Copilot reviewed 55 out of 55 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| SqlClientStressTest.sln | Solution file defining the stress test project structure |
| SqlClient.Stress.Tests/* | Core SqlClient stress tests including async operations, MARS, and parameter tests |
| SqlClient.Stress.Runner/* | Test execution harness with threading, monitoring, and result logging |
| SqlClient.Stress.Framework/* | Base framework providing data access abstractions and test infrastructure |
| SqlClient.Stress.Common/* | Shared utilities and common test attributes |
| IMonitorLoader/* | Interface for test monitoring and metrics collection |
Comments suppressed due to low confidence (1)
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.
Gonna close my eyes and just let this one go in as-is.
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.
This file can be avoided, can you include these projects into the main solution under StressTests folder?
| This project intends to help finding a certain level of effectiveness under unfavorable conditions, and verifying the mode of failures. | ||
| This is a console application with targeting frameworks `.Net Framework 4.8`, `.NET 9.0` under driver's supported operating systems and SQL Servers. | ||
|
|
||
| ## Purpose of application for developers |
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.
This heading and description can be removed.
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.
Approved with minor touch-ups needed. Feel free to address them in next PR @benrr101
|
|
||
| private XmlReader CreateReader() | ||
| { | ||
| FileStream configurationStream = new FileStream("SqlClient.Stress.Framework/" + _configFilePath, FileMode.Open); |
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 had to remove the prefix to get this to run:
| FileStream configurationStream = new FileStream("SqlClient.Stress.Framework/" + _configFilePath, FileMode.Open); | |
| FileStream configurationStream = new FileStream(_configFilePath, FileMode.Open); |
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.
In the bin, the config file isn't nested under that directory.
(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.)
(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.)
* 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
Moved existing stress test projects from ADO into GitHub.