Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3590
This pull request introduces a new extensible filtering system for test execution requests, improving both server and console modes. The changes replace previous hardcoded filter logic with a provider-based approach, add new experimental APIs for filter composition, and refactor the test node visitor to use the new unified filter interface.
Filtering System Refactor and Extensibility
ITestExecutionFilter
,ITestExecutionFilterFactory
,IRequestFilterProvider
, andAggregateTestExecutionFilter
, allowing filters to be composed and provided per request. [1] [2] [3] [4] [5] [6]Test Node Visitor Refactor
BFSTestNodeVisitor
to use the newITestExecutionFilter.Matches(TestNode)
method for filtering, removing path-based and filter-type-specific logic for a more unified approach. [1] [2] [3]NopFilter and Other Filter Implementations
NopFilter
to implement the newITestExecutionFilter
interface and always match any test node.Server Request Handling
These changes lay the foundation for more flexible and composable test execution filtering, making it easier to extend and customize filtering logic for different scenarios.