1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-03 17:47:28 +03:00

test: remove brittle iszero_safe() test

The test relies on finite -> infinite conversion happening
when increasing DBL_MAX.

Fixes #25044.
This commit is contained in:
David Seifert 2022-10-28 23:55:07 +02:00 committed by Yu Watanabe
parent 6dfaeac370
commit 17dc285bd4

View File

@ -54,16 +54,6 @@ TEST(iszero_safe) {
assert_se( iszero_safe(DBL_MIN / -INFINITY));
assert_se( iszero_safe(DBL_MAX / INFINITY / 2));
assert_se( iszero_safe(DBL_MAX / -INFINITY * DBL_MAX));
#if defined(__i386__) && !defined(__SSE2_MATH__)
/* On 32bit x86, -mfpmath=387 is the default and SSE2 is not used. Then, floating point values are
* calculated in 80bit, and truncated to the length of the used type (double in this case). Hence,
* DBL_MAX * 2 is temporary calculated as a normal value, and goes to zero when divided with
* INFINITY. See issue #25044. */
log_debug("i386 architecture without SSE2 is detected. "
"Skipping \"assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY))\".");
#else
assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY));
#endif
/* infinity / infinity is NaN */
assert_se(!iszero_safe(INFINITY / INFINITY));