The GitHub Actions job "CI" on tvm-ffi.git/2026-02-27/recursive-hash has failed.
Run started by GitHub user junrushao (triggered by junrushao).

Head commit for run:
036868664418f2dafb73ccc6745231b53db92a5b / Junru Shao <[email protected]>
test(python): add comprehensive RecursiveHash test suite

Architecture:
- Adds two new reflected test fixture classes (TestHash, TestCustomHash) to
  the testing module, registered via the C++ reflection system.
  TestHash exercises Hash(false) field exclusion; TestCustomHash exercises
  the __ffi_hash__ custom hook (hashes only `key`, ignores `label`).
- Exposes RecursiveHash in the Python FFI API stub (_ffi_api.py) so tests
  can call it directly without private imports.

Public Interfaces:
- `tvm_ffi._ffi_api.RecursiveHash` added to TYPE_CHECKING stub and __all__.
- `tvm_ffi.testing.TestHash` and `tvm_ffi.testing.TestCustomHash` exported
  as public test fixtures.

UI/UX:
- none

Behavioral Changes:
- No runtime behavioral changes; this is a test-only addition.

Docs:
- Test docstrings serve as specification documentation for hash semantics.

Tests:
- Executed: N/A (test-only commit; no build validation in this cherry-pick)
- Result: 1033-line test file covering:
  - Primitives (int, float, bool, str, bytes, None, DataType, Device)
  - NaN canonicalization (all NaN payloads hash equal)
  - Signed-zero normalization (+0.0 == -0.0 for hashing)
  - Containers (Array, List, Shape, Map, Dict) including nesting
  - Reflected objects (TestIntPair, inherited fields, container fields)
  - Hash(false) / Compare(false) field exclusion
  - Custom __ffi_hash__ hook via TestCustomHash
  - Cycle detection (self-referential List/Dict)
  - Consistency law: RecursiveEq(a,b) => RecursiveHash(a)==RecursiveHash(b)
  - Aliasing invariants (shared vs duplicated references)
  - Recursion depth (127 and 1000 levels)
  - Shared DAG scaling (linear, not exponential)
  - Guard: __ffi_eq__ without __ffi_hash__ raises ValueError
  - Parametrized cyclic-structure mismatch tests

Untested Edge Cases:
- Cross-process hash stability (hashes may differ across builds/platforms)
- Thread-safety of RecursiveHash under concurrent mutation

Report URL: https://github.com/apache/tvm-ffi/actions/runs/22509381205

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to