You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The skip reason property is set to platformToIgnoreAttr.Reason instead of the constructed ignoreReason string that includes both the browser and custom reason
The platform check logic assumes only NET8_0 target framework, but should handle other supported .NET versions or provide clear error handling for unsupported versions
#if NET8_0return"net8";
#else
#error Update IgnoreTargetAttribute.CurrentPlatform to the current TFM
#endif
public void ApplyToTest(Test test)
{
+ if (test == null)+ {+ throw new ArgumentNullException(nameof(test));+ }
if (test.RunState is RunState.NotRunnable)
{
return;
}
Apply this suggestion
Suggestion importance[1-10]: 8
Why: Adding null parameter validation is crucial for preventing runtime errors and maintaining robust code. This is particularly important for public API methods like ApplyToTest.
8
Add constructor parameter validation to prevent null reference exceptions
Add null check for target parameter in constructor to prevent potential issues with null values being passed.
public IgnoreTargetAttribute(string target)
{
+ if (target == null)+ {+ throw new ArgumentNullException(nameof(target));+ }
this.Value = target.ToLower();
}
Apply this suggestion
Suggestion importance[1-10]: 8
Why: Adding null parameter validation in the constructor is essential for preventing runtime errors, especially since the code immediately calls ToLower() on the parameter which would throw if null.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
User description
Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
Motivation and Context
Types of changes
Checklist
PR Type
Bug fix, Enhancement
Description
Refactored
IgnoreTargetAttributeclass for improved clarity and maintainability.Added nullability annotations to enhance code safety and modernize the implementation.
Simplified logic for applying test ignore attributes and improved platform matching.
Updated platform detection logic to support
net8and added compile-time error for unsupported platforms.Changes walkthrough 📝
IgnoreTargetAttribute.cs
Refactored and enhanced `IgnoreTargetAttribute` classdotnet/test/common/CustomTestAttributes/IgnoreTargetAttribute.cs
IgnoreTargetAttributeto use auto-properties.net8.