Skip to content

Fix PyNeoDeviceEx equality for distinct serials - #251

Open
drebbe-intrepid wants to merge 1 commit into
masterfrom
codex/fix-246-device-equality
Open

drebbe-intrepid wants to merge 1 commit into
masterfrom
codex/fix-246-device-equality

Conversation

@drebbe-intrepid

Copy link
Copy Markdown
Collaborator

Devices with identical model and firmware fields but different serial numbers previously compared equal, breaking membership checks and list deduplication. Include SerialNumber in PyNeoDeviceEx equality and return NotImplemented for unrelated types so Python can use reflected comparison.

Fixes #246.

Validation: Windows x64 / CPython 3.14.5, built with uv sync --group test. New regression coverage reproduced 7 failures before the fix; uv run --no-sync pytest tests/ -q passes all 52 tests after synchronizing the Python source into gen. Coverage includes high-bit serials, equal snapshots, all existing compared fields, unrelated objects, and reflected comparison. git diff --check passes. No hardware accessed.

Independent critic /root/critic: "I agree with the final diff. No blocking findings for behavior, error handling, ABI, ownership, or regression coverage." Independently reran all 52 tests. Builder: "I agree with the final diff." Reviewed diff is committed as 1084535 (base 45167e0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P2] PyNeoDeviceEx equality ignores serial number and equates different devices

1 participant