Skip to content

v0.20.3

Choose a tag to compare

@rustyconover rustyconover released this 16 Jun 15:21
· 3 commits to main since this release

Hypothesis property-based tests (test-only)

Adds property-based testing infrastructure (dev-only hypothesis dependency). No library code changes — the published wheel is functionally identical to v0.20.2.

  • Round-trip coverage (tests/test_property_roundtrip.py): auto-discovers every ArrowSerializableDataclass subclass (51 today) and asserts deserialize(serialize(x)) == x, building a strategy per class from its annotations + resolved ARROW_SCHEMA so integer widths, decimal scale, and temporal units are respected. New dataclasses are covered automatically; unmodelled field shapes skip with a reason.
  • shm allocator stateful machine (tests/test_property_shm.py): a RuleBasedStateMachine drives random allocate/free sequences against the first-fit ShmAllocator plus a Python model, asserting the safety invariants every step — no overlap, in-bounds, sorted, header count consistent, and "allocate returns None only when no gap fits."

Both run in ~2.5s at committed settings and pass mypy strict + ruff.

Full diff: v0.20.2...v0.20.3