-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Automate date fixes in test assets #8943
Conversation
WalkthroughThis pull request involves minor modifications across several test asset and utility files. The changes include reordering task subsets in a project JSON, adding a consistent configuration key in quality settings, appending a newline to a users JSON file, and introducing a new JSON cleaning utility function in a dump objects Python script. These modifications appear to be primarily related to test infrastructure and data consistency. Changes
Poem
Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
tests/python/shared/utils/dump_objects.py (1)
12-16
: Consider enhancing the date format standardization.The implementation correctly truncates milliseconds, but consider these improvements:
- The regex pattern assumes dates are in a specific format (ending with 'Z"'). This might miss dates in different formats.
- The function name could be more specific (e.g.,
standardize_json_dates
).-def clean_json(data: str) -> str: +def standardize_json_dates(data: str) -> str: # truncate milliseconds to 3 digit precision to align with data.json - data = re.sub(r'(\.\d{3})\d{3}Z"', r'\g<1>000Z"', data) + # Handle both quoted and unquoted date formats + data = re.sub(r'(\.\d{3})\d{3}Z(["}])', r'\g<1>000Z\2', data) data = data.rstrip() return data
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
tests/python/shared/assets/projects.json
(2 hunks)tests/python/shared/assets/quality_settings.json
(24 hunks)tests/python/shared/assets/users.json
(1 hunks)tests/python/shared/utils/dump_objects.py
(2 hunks)
✅ Files skipped from review due to trivial changes (2)
- tests/python/shared/assets/quality_settings.json
- tests/python/shared/assets/users.json
⏰ Context from checks skipped due to timeout of 90000ms (6)
- GitHub Check: build
- GitHub Check: generate_github_pages
- GitHub Check: testing
- GitHub Check: Analyze (python)
- GitHub Check: Linter
- GitHub Check: Analyze (javascript)
🔇 Additional comments (3)
tests/python/shared/utils/dump_objects.py (2)
1-1
: LGTM! Copyright year updated.The copyright year has been updated to reflect the current year range.
43-43
: LGTM! Proper implementation of JSON cleaning.The function is correctly applied to standardize the JSON output before writing to file.
tests/python/shared/assets/projects.json (1)
128-129
: Verify if the task subsets order is significant for tests.The order of task subsets has been changed from
["Train", "Validation"]
to["Validation", "Train"]
. While this change aligns with the PR's objective of cleaning test assets, please verify that:
- The order of subsets doesn't affect any test assertions
- There are no test cases that depend on a specific order
✅ Verification successful
Task subsets order change is safe for tests
The order of task subsets in
["Validation", "Train"]
vs["Train", "Validation"]
does not affect any test assertions or operations. The test fixtures use task_subsets only as an unordered collection, with no code depending on the specific order of these values.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for test files that might depend on the order of task subsets rg -l "task_subsets.*\[.*Train.*Validation" tests/ rg -l "task_subsets.*\[.*Validation.*Train" tests/Length of output: 105
Script:
#!/bin/bash # Find references to the projects.json file rg -l "projects\.json" tests/ # Look for task_subsets usage with broader patterns rg "task_subsets" tests/ -C 2 # Search for array indexing patterns that might indicate order dependency rg "\[0\]|\[1\].*task_subsets" tests/Length of output: 55557
Script:
#!/bin/bash # Check how task_subsets is used in the fixtures file cat tests/python/shared/fixtures/data.pyLength of output: 14862
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #8943 +/- ##
===========================================
- Coverage 73.88% 73.84% -0.05%
===========================================
Files 416 417 +1
Lines 44413 44583 +170
Branches 3993 4028 +35
===========================================
+ Hits 32814 32921 +107
- Misses 11599 11662 +63
|
Quality Gate passedIssues Measures |
Motivation and context
How has this been tested?
Checklist
develop
branch(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)
License
Feel free to contact the maintainers if that's a concern.
Summary by CodeRabbit
Chores
Tests