aspect_ratio::tests::aligns fails on i386: (0.0, 0.0, 0.1, 1.0) != (0.0, 0.0, 0.1, 1.0)
I'm trying to upgrade librsvg in Debian experimental from 2.44.2 to 2.44.7, in preparation for switching from the non-rusty 2.42 branch to the 2.44 branch, and got this assertion failure in an i386 build:
failures:
---- aspect_ratio::tests::aligns stdout ----
thread 'aspect_ratio::tests::aligns' panicked at 'assertion failed: `(left == right)`
left: `(0.0, 0.0, 0.1, 1.0)`,
right: `(0.0, 0.0, 0.1, 1.0)`', rsvg_internals/src/aspect_ratio.rs:307:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.
failures:
aspect_ratio::tests::aligns
test result: FAILED. 166 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
I assume this is i387 excess precision hard at work on breaking our assumptions...
Can this test either do some sort of fuzzy comparison instead, or use fractions that are exactly representable in binary, like 0.125 instead of 0.1? (Sorry, I don't know Rust.)
Edited by Simon McVittie