Skip to content

Fix unit tests on 32-bit targets - #331

Merged
jaemk merged 1 commit into
masterfrom
261012.32-bit-test-fixes
Oct 12, 2026
Merged

jaemk merged 1 commit into
masterfrom
261012.32-bit-test-fixes

Conversation

@jaemk

@jaemk jaemk commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner
  • Check ExpiringCache field types with an exhaustive destructure instead of comparing size_of against UnboundCache (a Box<[Slot]> is the same size as an AtomicU64 on 32-bit)
  • Assert only that the cache stays consistent when LruCache::pop_raw_with_hash gets a wrong hash, and fix its doc: a wrong hash may still hit, since hashbrown reads only the low 32 bits on 32-bit
  • Add make tests/32bit (unit and integration tests on i686-unknown-linux-gnu, default and no default features) and make tests/32bit/docker (same target in a container built from docker/i686/Dockerfile, no local 32-bit toolchain needed)
  • Add a test-32bit CI job running make tests/32bit

Fixes #330

- check `ExpiringCache` field types instead of comparing `size_of` against `UnboundCache`
- assert only consistency for a wrong hash passed to `LruCache::pop_raw_with_hash`, and fix its doc
- add `make tests/32bit` and `make tests/32bit/docker` to run the suite on `i686-unknown-linux-gnu`
- run `make tests/32bit` in CI

Fixes #330
@jaemk
jaemk force-pushed the 261012.32-bit-test-fixes branch from fd8e680 to 37ba53c Compare October 12, 2026 11:21
@jaemk
jaemk enabled auto-merge (squash) October 12, 2026 11:35
@jaemk
jaemk merged commit a8b893c into master Oct 12, 2026
5 checks passed
@jaemk jaemk mentioned this pull request Oct 12, 2026
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.

test failures on 32-bit.

1 participant