mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-12 09:17:44 +03:00
test: skip one test for iszero_safe() on i386 without SSE2
We do not provide any numerical libraries, and iszero_safe() is only used in parsing or formatting JSON. Hence, it is not necessary for us to request that the function provides the same result on different systems. Fixes #25044.
This commit is contained in:
parent
50675bb98f
commit
82c5487894
@ -54,7 +54,16 @@ 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));
|
||||
|
Loading…
Reference in New Issue
Block a user