Collin Funk <[email protected]> writes:

> Hi Bruno,
>
> I see the following test failure on Android 16 after building a testdir
> of all modules:
>
>     $ cat gltests/test-snan-1.log 
>     test-snan-1.c:99: assertion 'fetestexcept (FE_INVALID)' failed
>     Aborted
>     FAIL test-snan-1 (exit status: 134)

Likewise, the fenv-rounding tests fail in the same places as FreeBSD and
OpenBSD.

Patch attached.

Collin

>From ef1742f1daacde303c85cc45426c11f17d3e930f Mon Sep 17 00:00:00 2001
Message-ID: <ef1742f1daacde303c85cc45426c11f17d3e930f.1761018667.git.collin.fu...@gmail.com>
From: Collin Funk <[email protected]>
Date: Mon, 20 Oct 2025 20:50:21 -0700
Subject: [PATCH] fenv-rounding tests: Avoid test failure on Android.

* tests/test-fenv-round.c (test_towardzero, test_upward)
(test_downward): Disable tests that are known to fail.
---
 ChangeLog               | 4 ++++
 tests/test-fenv-round.c | 6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 87fc8281c5..0a52e17632 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2025-10-20  Collin Funk  <[email protected]>
 
+	fenv-rounding tests: Avoid test failure on Android.
+	* tests/test-fenv-round.c (test_towardzero, test_upward)
+	(test_downward): Disable tests that are known to fail.
+
 	snan tests: Avoid test failure on Android.
 	* tests/test-snan-1.c (main): Disable test that is known to fail.
 
diff --git a/tests/test-fenv-round.c b/tests/test-fenv-round.c
index 746cd63541..38426f0dce 100644
--- a/tests/test-fenv-round.c
+++ b/tests/test-fenv-round.c
@@ -45,7 +45,7 @@ test_towardzero ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p > a);
   }
-#if !(((defined __FreeBSD__ || defined __OpenBSD__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
+#if !(((defined __FreeBSD__ || defined __OpenBSD__ || defined __ANDROID__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;
 
@@ -80,7 +80,7 @@ test_upward ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p > a);
   }
-#if !(((defined __FreeBSD__ || defined __OpenBSD__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
+#if !(((defined __FreeBSD__ || defined __OpenBSD__ || defined __ANDROID__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;
 
@@ -115,7 +115,7 @@ test_downward ()
     a = -1; b = 3; q = a / b; p = b * q;
     ASSERT (p < a);
   }
-#if !(((defined __FreeBSD__ || defined __OpenBSD__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
+#if !(((defined __FreeBSD__ || defined __OpenBSD__ || defined __ANDROID__) && defined __aarch64__) || (defined __NetBSD__ && defined __sparcv9 /* sparc64 */) || (defined __OpenBSD__ && defined __mips64))
   {
     long double volatile a, b, q, p;
 
-- 
2.51.0

Reply via email to