Skip to content

STYLE: Replace uint64_t with IT as index type in "*SerializationTest.py" - #6808

Merged
hjmjohnson merged 1 commit into
InsightSoftwareConsortium:mainfrom
N-Dekker:Replace-uint64_t-with-IT-in-Serialization-tests
Aug 27, 2026
Merged

STYLE: Replace uint64_t with IT as index type in "*SerializationTest.py"#6808
hjmjohnson merged 1 commit into
InsightSoftwareConsortium:mainfrom
N-Dekker:Replace-uint64_t-with-IT-in-Serialization-tests

Conversation

@N-Dekker

Copy link
Copy Markdown
Contributor

`itk.IT` ("IdentifierType") is the most commonly supported index type for
VectorContainer. `itk.uint64_t` may or may not be identical to `itk.IT`,
depending on `ITK_USE_64BITS_IDS`, as discussed at issue InsightSoftwareConsortium#6774
"Review whether ITK_USE_64BITS_IDS is still needed".

Follow-up to pull request InsightSoftwareConsortium#6800
commit 0939d4c
"STYLE: Replace UL with IT as index type in itkPyVectorContainerTest.py",
@github-actions github-actions Bot added area:Python wrapping Python bindings for a class type:Testing Ensure that the purpose of a class is met/the results on a wide set of test cases are correct area:Core Issues affecting the Core module type:Style Style changes: no logic impact (indentation, comments, naming) labels Aug 27, 2026
@N-Dekker
N-Dekker marked this pull request as ready for review August 27, 2026 13:52
@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This change makes the PointSet and Mesh Python serialization tests use ITK's configured identifier type (itk.IT) for point-container indices. It also updates the referenced GitHub Actions versions for caching, checkout, and Python setup.

The workflow updates were checked against their upstream action manifests: the configured inputs remain supported, and the modified pre-commit workflow passed syntax validation. No defects were found.

T-Rex validation blocked

The exact PointSet and Mesh Python-wrapping tests could not run because the required build tools and runtime packages are unavailable: cmake, ctest, ninja, swig, castxml, pixi, itk, and numpy. The available released ITK wheel predates this checkout's generated aliases, so it cannot provide a reliable runtime result for these source-tree tests.

Confidence Score: 5/5

The reviewed changes are safe to merge: no product defect was found, and the workflow references remain compatible with their configured inputs.

There are no final review findings. The workflow behavior was exercised successfully, while the unavailable local ITK wrapping build prevents only the exact serialization runtime check.

Files Needing Attention: No files require changes. The two Python serialization tests should be run in a configured ITK Python-wrapping build when build tooling is available.

T-Rex T-Rex Logs

What T-Rex did

  • Ran the direct-binding ITK runtime probe to validate the VectorContainer index-binding changes; the results show the itk==5.4.7 wheel lacks the uint64_t alias and cannot confirm the source-tree serialization path, indicating a matching ITK Python-wrapping build is required.
  • Executed the workflow upgrade compatibility checker to compare revisions before and after the action upgrades and verify inputs; upgraded cache, checkout, and Python setup actions resolved, and actionlint accepted the modified pre-commit workflow.
  • Recorded the PR vector-container change context, and captured validation outputs for the historical uint64_t path and the PR IT validation, noting that the historical path fails due to the non-matching wheel and the IT path cannot be attributed to the PR.
  • Authored and executed the workflow-action-upgrade-checker, then confirmed pre-upgrade success, post-upgrade success with node24, and that the modified pre-commit syntax passed actionlint.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "STYLE: Replace uint64_t with IT as index..." | Re-trigger Greptile

@N-Dekker

Copy link
Copy Markdown
Contributor Author

Greptile Summary

This change makes the PointSet and Mesh Python serialization tests use ITK's configured identifier type (itk.IT) for point-container indices. It also updates the referenced GitHub Actions versions for caching, checkout, and Python setup.

@greptile-apps Can you please explain? As far as I know, this pull request does not update "the referenced GitHub Actions versions for caching, checkout, and Python setup"!

@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

You’re right. The summary incorrectly claimed that GitHub Actions versions were updated. The diff only changes the VectorContainer index type from itk.uint64_t to itk.IT in:

  • Modules/Core/Common/wrapping/test/itkPointSetSerializationTest.py
  • Modules/Core/Mesh/wrapping/test/itkMeshSerializationTest.py

No caching, checkout, or Python setup workflow files—or action versions—were modified. That part of the summary should be disregarded.

@dzenanz

dzenanz commented Aug 27, 2026

Copy link
Copy Markdown
Member

Maybe it mixed up your PR with mine? 😄

@thewtex thewtex left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@hjmjohnson
hjmjohnson merged commit af2fbc8 into InsightSoftwareConsortium:main Aug 27, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Core Issues affecting the Core module area:Python wrapping Python bindings for a class type:Style Style changes: no logic impact (indentation, comments, naming) type:Testing Ensure that the purpose of a class is met/the results on a wide set of test cases are correct

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants