Skip to content

test(kpm): test_full_pipeline_pose fails on Windows with pose component out of tolerance #118

@kalwalt

Description

@kalwalt

Summary

The integration test test_full_pipeline_pose (in crates/core/tests/kpm_regression.rs:164) fails on windows-latest runners with a pose component diverging beyond the configured tolerance:

thread 'test_full_pipeline_pose' (...) panicked at crates/core/tests/kpm_regression.rs:164:13:
full_pipeline: pose[0][2] differs by 6.134186e-2 (actual=6.406289e-2, expected=2.721035e-3, tol=1.0e-2)

Observed difference is ~6× the configured tolerance, on a single pose element.

Where this surfaced

Notes

  • This is not a dual-mode test; it runs in the regular cargo test step
  • The Linux/Ubuntu CI (build-and-test) does NOT run this test currently — the existing workspace test job runs successfully on ubuntu, so either the test is also failing silently elsewhere or the failure is platform-specific
  • macOS status of this test is unknown (my CI runs were scoped to --lib, skipping it)

Reproduction

On a Windows runner / VM:
```bash
cargo test -p webarkitlib-rs --test kpm_regression
```

Suggested investigation

  1. Confirm whether the failure is Windows-only or also affects other platforms (run cargo test --workspace on macOS / Linux x86_64 / Linux ARM64)
  2. If platform-specific: identify which math operation introduces the divergence (likely an FMA / rounding-mode interaction in the pose pipeline)
  3. If the math is correct on all platforms: tighten the algorithmic root cause; if it's a tolerance issue, widen the tolerance with rationale

Related

Metadata

Metadata

Assignees

Type

Projects

Status

Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions