Support keyed not in parallel tests within parallel groups#3130
Support keyed not in parallel tests within parallel groups#3130
Conversation
This allows tests to have both ParallelGroup and NotInParallel attributes that work together correctly. Changes: - TestContext now supports multiple constraints via ParallelConstraints collection - Added AddParallelConstraint method to accumulate constraints during discovery - Updated ParallelGroup and NotInParallel attributes to use AddParallelConstraint - Added GroupedConstrainedTests model for tests with combined constraints - Enhanced TestGroupingService to properly categorize tests with multiple constraints - Updated TestScheduler to execute constrained parallel groups correctly - Added comprehensive tests to validate the functionality This fixes issue #3044 where combining ParallelGroup and keyed NotInParallel attributes wasn't working properly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Claude finished @thomhurst's task —— View job Code Review: Support keyed not in parallel tests within parallel groupsI've completed a thorough review of this pull request. Here's my comprehensive feedback: ✅ Overall AssessmentThis is a well-designed feature that enhances TUnit's parallelization capabilities by allowing tests to have both 🎯 Code Quality & Best PracticesExcellent:
Good naming conventions:
🔒 Security & SafetyNo security concerns identified:
⚡ Performance ConsiderationsWell-optimized implementation:
Performance impact: ✅ Positive
🐛 Potential Issues FoundMinor Issues:
Code Pattern Inconsistency:
🧪 Test Coverage AssessmentExcellent test coverage:
Test scenarios covered:
🔄 Behavioral Parity VerificationCritical requirement from CLAUDE.md: Both source-generated and reflection modes must produce identical behavior. Question for maintainer: Have both execution modes been tested with the new combined constraints? The PR should verify that:
📊 Architecture AlignmentExcellent alignment with TUnit architecture:
✨ Recommendations
📝 SummaryThis is a high-quality implementation that successfully extends TUnit's parallelization capabilities. The feature is well-designed, properly tested, and maintains backward compatibility. The minor issues identified are easy fixes that don't impact the core functionality. Recommendation: ✅ APPROVE with minor suggested improvements. |
…nstraints support
|
Claude finished @thomhurst's task —— View job Code Review: Support keyed not in parallel tests within parallel groupsI've completed a comprehensive review of this pull request. Here's my detailed analysis: Todo List:
✅ Overall AssessmentThis is an excellent feature implementation that successfully extends TUnit's parallelization capabilities. The PR enables tests to have both 🎯 Code Quality & Best PracticesExcellent adherence to TUnit standards:
Naming conventions are excellent:
⚡ Performance AnalysisWell-optimized for TUnit's performance requirements:
Performance impact: Positive - Additional constraint handling adds negligible overhead while improving execution control. 🔒 Security AssessmentNo security concerns identified:
🐛 Issues Found1. Magic String Constant
|
No description provided.