Skip to content

Conversation

@gpeacock
Copy link
Collaborator

The make_test_images manifest comparison ignores things like version changes so that
it can report no unexpected changes
Make_test_images has been updated to generate v2 images by default now.
The v1 and v2 known good json folders have been updated after validating the updates.

gpeacock added 7 commits July 11, 2025 12:32
…ison

- Enhanced assertion array comparison to report reordering, additions, and removals separately
- Added action array comparison for c2pa.actions assertions with same logic
- Simplified identifier matching to use only 'label' field for assertions and 'action' field for actions
- Both assertion and action comparisons now report:
  * 'Assertion/Action order changed' when items are reordered
  * 'Assertion/Action added/removed' when items are added or removed
  * Individual content changes within matched items
- Improved path matching to properly detect actions arrays within assertions
- Maintains detailed content comparison for matched items even when reordered
- Fixed duplicate val2.is_null() condition in compare_json_values
- Ensured proper detection of content changes within matched assertions/actions
- Hash values and other ignorable fields are properly ignored during comparison
- Content changes in non-ignorable fields are correctly detected and reported
@codecov
Copy link

codecov bot commented Jul 14, 2025

Codecov Report

Attention: Patch coverage is 44.59459% with 41 lines in your changes missing coverage. Please review.

Project coverage is 79.28%. Comparing base (0b92261) to head (52ee499).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
make_test_images/src/compare_manifests.rs 0.00% 33 Missing ⚠️
sdk/src/assertions/labels.rs 0.00% 5 Missing ⚠️
sdk/src/builder.rs 70.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1234      +/-   ##
==========================================
+ Coverage   79.26%   79.28%   +0.01%     
==========================================
  Files         148      148              
  Lines       41534    41487      -47     
==========================================
- Hits        32923    32892      -31     
+ Misses       8611     8595      -16     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

gpeacock added 2 commits July 15, 2025 00:19
fix managing of data_boxes and resources.
remove is_v2 guesses, just generate v2.
Move toward forcing softwareAgent to always generate a struct.
Modifies manifest.find_assertion_with_instance() to use starts_with on labels.
gpeacock added 5 commits July 15, 2025 10:14
Also update assets for actions.v2
manifest.find_assertion() will now also match .vxx extensions.
updates known_good tests
revered nonempty-collections to 0.3.1 due to 2024 dependencies.
@gpeacock gpeacock merged commit 9a35037 into main Jul 16, 2025
70 of 72 checks passed
@gpeacock gpeacock deleted the improve-manifest-comparison branch July 16, 2025 16:55
ok-nick pushed a commit that referenced this pull request Aug 11, 2025
* Improve manifest comparison: better assertion and action array comparison

- Enhanced assertion array comparison to report reordering, additions, and removals separately
- Added action array comparison for c2pa.actions assertions with same logic
- Simplified identifier matching to use only 'label' field for assertions and 'action' field for actions
- Both assertion and action comparisons now report:
  * 'Assertion/Action order changed' when items are reordered
  * 'Assertion/Action added/removed' when items are added or removed
  * Individual content changes within matched items
- Improved path matching to properly detect actions arrays within assertions
- Maintains detailed content comparison for matched items even when reordered

* Fix null comparison logic in manifest comparison

- Fixed duplicate val2.is_null() condition in compare_json_values
- Ensured proper detection of content changes within matched assertions/actions
- Hash values and other ignorable fields are properly ignored during comparison
- Content changes in non-ignorable fields are correctly detected and reported

* fix: Enhance manifest comparison,
Update baseline v1

* chore: save v1 json results separately

* chore: change make_test_images default to v2 claims
Update known good v2 baseline

* chore: catch changes in remainder of jumbf urls

* chore: clean up clippy errors

* feat: Always generate V2 Actions. V1 actions have long been deprecated.
fix managing of data_boxes and resources.
remove is_v2 guesses, just generate v2.
Move toward forcing softwareAgent to always generate a struct.
Modifies manifest.find_assertion_with_instance() to use starts_with on labels.

* feat: add labels:set_version() to help with managing label versions.

* chore: review feedback
Also update assets for actions.v2

* chore: repair doc tests
manifest.find_assertion() will now also match .vxx extensions.
updates known_good tests
revered nonempty-collections to 0.3.1 due to 2024 dependencies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants