git: f08d5362b013 - stable/14 - lib/msun/tests: xfail remaining failing tests on non-x86 archs

From: Siva Mahadevan <siva_at_FreeBSD.org>
Date: Fri, 26 Jun 2026 17:00:00 UTC
The branch stable/14 has been updated by siva:

URL: https://cgit.FreeBSD.org/src/commit/?id=f08d5362b0138ad0be532fe339067224e470787d

commit f08d5362b0138ad0be532fe339067224e470787d
Author:     Siva Mahadevan <siva@FreeBSD.org>
AuthorDate: 2025-10-08 20:40:15 +0000
Commit:     Siva Mahadevan <siva@FreeBSD.org>
CommitDate: 2026-06-26 16:10:24 +0000

    lib/msun/tests: xfail remaining failing tests on non-x86 archs
    
    These are the remaining trivial xfail cases where no other
    test logic changes are necessary.
    
    Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
    PR:             290099
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/1871
    (cherry picked from commit 405188aeac540f7666dfde37c2f32d222119f56e)
---
 lib/msun/tests/cexp_test.c        |  3 +++
 lib/msun/tests/ctrig_test.c       |  9 +++++++++
 lib/msun/tests/exponential_test.c |  3 +++
 lib/msun/tests/fma_test.c         |  9 +++++++++
 lib/msun/tests/invctrig_test.c    | 15 +++++++++++++++
 lib/msun/tests/logarithm_test.c   | 11 +++++++++--
 lib/msun/tests/lround_test.c      |  3 +++
 lib/msun/tests/nan_test.c         |  3 +++
 lib/msun/tests/nearbyint_test.c   |  3 +++
 lib/msun/tests/next_test.c        |  9 +++++++++
 lib/msun/tests/trig_test.c        |  4 +++-
 11 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/lib/msun/tests/cexp_test.c b/lib/msun/tests/cexp_test.c
index a23e448ee62a..40605ed76f26 100644
--- a/lib/msun/tests/cexp_test.c
+++ b/lib/msun/tests/cexp_test.c
@@ -233,6 +233,9 @@ ATF_TC_BODY(imaginaries, tc)
 ATF_TC_WITHOUT_HEAD(small);
 ATF_TC_BODY(small, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	static const double tests[] = {
 	     /* csqrt(a + bI) = x + yI */
 	     /* a	b	x			y */
diff --git a/lib/msun/tests/ctrig_test.c b/lib/msun/tests/ctrig_test.c
index 6a71770e791a..dc11993900aa 100644
--- a/lib/msun/tests/ctrig_test.c
+++ b/lib/msun/tests/ctrig_test.c
@@ -303,6 +303,9 @@ ATF_TC_HEAD(test_axes, tc)
 }
 ATF_TC_BODY(test_axes, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	static const long double nums[] = {
 	    M_PI / 4, M_PI / 2, 3 * M_PI / 4,
 	    5 * M_PI / 4, 3 * M_PI / 2, 7 * M_PI / 4,
@@ -366,6 +369,9 @@ ATF_TC_HEAD(test_small_inputs, tc)
 }
 ATF_TC_BODY(test_small_inputs, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	/*
 	 * z =  0.5 + i Pi/4
 	 *     sinh(z) = (sinh(0.5) + i cosh(0.5)) * sqrt(2)/2
@@ -433,6 +439,9 @@ ATF_TC_HEAD(test_large_inputs, tc)
 }
 ATF_TC_BODY(test_large_inputs, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	long double complex z;
 
 	/* tanh() uses a threshold around x=22, so check both sides. */
diff --git a/lib/msun/tests/exponential_test.c b/lib/msun/tests/exponential_test.c
index 9dc3b2698744..c3dcca869dcb 100644
--- a/lib/msun/tests/exponential_test.c
+++ b/lib/msun/tests/exponential_test.c
@@ -159,6 +159,9 @@ ATF_TC_BODY(exp2l, tc)
 ATF_TC_WITHOUT_HEAD(generic);
 ATF_TC_BODY(generic, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	run_generic_tests();
 }
 
diff --git a/lib/msun/tests/fma_test.c b/lib/msun/tests/fma_test.c
index f8dee9e16a5b..1406d659f953 100644
--- a/lib/msun/tests/fma_test.c
+++ b/lib/msun/tests/fma_test.c
@@ -122,6 +122,9 @@ test_zeroes(void)
 static void
 test_infinities(void)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	testall(INFINITY, 1.0, -1.0, INFINITY, ALL_STD_EXCEPT, 0);
 	testall(-1.0, INFINITY, 0.0, -INFINITY, ALL_STD_EXCEPT, 0);
 	testall(0.0, 0.0, INFINITY, INFINITY, ALL_STD_EXCEPT, 0);
@@ -472,6 +475,9 @@ static const int rmodes[] = {
 ATF_TC_WITHOUT_HEAD(zeroes);
 ATF_TC_BODY(zeroes, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	for (size_t i = 0; i < nitems(rmodes); i++) {
 		debug("rmode = %d\n", rmodes[i]);
 		fesetround(rmodes[i]);
@@ -482,6 +488,9 @@ ATF_TC_BODY(zeroes, tc)
 ATF_TC_WITHOUT_HEAD(infinities);
 ATF_TC_BODY(infinities, tc)
 {
+#if defined(__powerpc64__)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	for (size_t i = 0; i < nitems(rmodes); i++) {
 		debug("rmode = %d\n", rmodes[i]);
 		fesetround(rmodes[i]);
diff --git a/lib/msun/tests/invctrig_test.c b/lib/msun/tests/invctrig_test.c
index 170fb1cad3a3..ea49edd1dee4 100644
--- a/lib/msun/tests/invctrig_test.c
+++ b/lib/msun/tests/invctrig_test.c
@@ -124,6 +124,9 @@ c3pi = 9.42477796076937971538793014983850839L;
 ATF_TC_WITHOUT_HEAD(zero);
 ATF_TC_BODY(zero, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	long double complex zero = CMPLXL(0.0, 0.0);
 
 	testall_tol(cacosh, zero, CMPLXL(0.0, pi / 2), 1);
@@ -144,6 +147,9 @@ ATF_TC_BODY(zero, tc)
 ATF_TC_WITHOUT_HEAD(nan);
 ATF_TC_BODY(nan, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	long double complex nan_nan = CMPLXL(NAN, NAN);
 	long double complex z;
 
@@ -223,6 +229,9 @@ ATF_TC_BODY(nan, tc)
 ATF_TC_WITHOUT_HEAD(inf);
 ATF_TC_BODY(inf, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	long double complex z;
 
 	/*
@@ -270,6 +279,9 @@ ATF_TC_BODY(inf, tc)
 ATF_TC_WITHOUT_HEAD(axes);
 ATF_TC_BODY(axes, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	static const long double nums[] = {
 		-2, -1, -0.5, 0.5, 1, 2
 	};
@@ -307,6 +319,9 @@ ATF_TC_BODY(axes, tc)
 ATF_TC_WITHOUT_HEAD(small);
 ATF_TC_BODY(small, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	/*
 	 * z =  0.75 + i 0.25
 	 *     acos(z) = Pi/4 - i ln(2)/2
diff --git a/lib/msun/tests/logarithm_test.c b/lib/msun/tests/logarithm_test.c
index 9da4ad3ba407..28f9a328e1d8 100644
--- a/lib/msun/tests/logarithm_test.c
+++ b/lib/msun/tests/logarithm_test.c
@@ -93,7 +93,9 @@
 ATF_TC_WITHOUT_HEAD(generic_tests);
 ATF_TC_BODY(generic_tests, tc)
 {
-
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	/* log(1) == 0, no exceptions raised */
 	testall0(1.0, 0.0, ALL_STD_EXCEPT, 0);
 	testall1(0.0, 0.0, ALL_STD_EXCEPT, 0);
@@ -180,6 +182,9 @@ ATF_TC_BODY(roundingmode_tests, tc)
 ATF_TC_WITHOUT_HEAD(accuracy_tests);
 ATF_TC_BODY(accuracy_tests, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	static const struct {
 		float x;
 		long double log2x;
@@ -249,7 +254,9 @@ ATF_TC_BODY(log1p_accuracy_tests, tc)
 	if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false))
 		atf_tc_expect_fail("https://bugs.freebsd.org/253984");
 #endif
-
+#if defined(__riscv)
+	atf_tc_expect_death("https://bugs.freebsd.org/290099");
+#endif
 	test_tol(log1pf, 0x0.333333p0F,
 		 1.82321546859847114303367992804596800640e-1L, FLT_ULP());
 	test_tol(log1p, 0x0.3333333333333p0,
diff --git a/lib/msun/tests/lround_test.c b/lib/msun/tests/lround_test.c
index a61672617081..e22f59c323a2 100644
--- a/lib/msun/tests/lround_test.c
+++ b/lib/msun/tests/lround_test.c
@@ -65,6 +65,9 @@
 ATF_TC_WITHOUT_HEAD(main);
 ATF_TC_BODY(main, tc)
 {
+#if defined(__powerpc64__)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	testall(0.0, 0, 0);
 	testall(0.25, 0, FE_INEXACT);
 	testall(0.5, 1, FE_INEXACT);
diff --git a/lib/msun/tests/nan_test.c b/lib/msun/tests/nan_test.c
index 75c28d45fb78..e5b1334926f2 100644
--- a/lib/msun/tests/nan_test.c
+++ b/lib/msun/tests/nan_test.c
@@ -106,6 +106,9 @@ testnan(const char *nan_format)
 ATF_TC_WITHOUT_HEAD(nan);
 ATF_TC_BODY(nan, tc)
 {
+#if defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	/* Die if a signalling NaN is returned */
 	feenableexcept(FE_INVALID);
 
diff --git a/lib/msun/tests/nearbyint_test.c b/lib/msun/tests/nearbyint_test.c
index 9dcdbdf6b852..cd2d9c139a9a 100644
--- a/lib/msun/tests/nearbyint_test.c
+++ b/lib/msun/tests/nearbyint_test.c
@@ -153,6 +153,9 @@ test_modf(int testindex)
 ATF_TC_WITHOUT_HEAD(nearbyint);
 ATF_TC_BODY(nearbyint, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	unsigned i;
 
 	for (i = 0; i < nitems(tests); i++) {
diff --git a/lib/msun/tests/next_test.c b/lib/msun/tests/next_test.c
index 282e47d783a0..a14b1ba433d9 100644
--- a/lib/msun/tests/next_test.c
+++ b/lib/msun/tests/next_test.c
@@ -79,6 +79,9 @@ static const long double ldbl_eps = LDBL_EPSILON;
 ATF_TC_WITHOUT_HEAD(zeros);
 ATF_TC_BODY(zeros, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	long double ldbl_small;
 
 #ifdef	__i386__
@@ -164,6 +167,9 @@ ATF_TC_BODY(ordinary, tc)
 ATF_TC_WITHOUT_HEAD(boundaries);
 ATF_TC_BODY(boundaries, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	/*
 	 * Tests at word boundaries, normalization boundaries, etc.
 	 */
@@ -211,6 +217,9 @@ ATF_TC_BODY(boundaries, tc)
 ATF_TC_WITHOUT_HEAD(overflow);
 ATF_TC_BODY(overflow, tc)
 {
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	long double ldbl_max;
 	/*
 	 * We can't use a compile-time constant here because gcc on
diff --git a/lib/msun/tests/trig_test.c b/lib/msun/tests/trig_test.c
index d1d831e07c71..9ed35530ecd6 100644
--- a/lib/msun/tests/trig_test.c
+++ b/lib/msun/tests/trig_test.c
@@ -86,7 +86,9 @@ ATF_TC_HEAD(special, tc)
 }
 ATF_TC_BODY(special, tc)
 {
-
+#if defined(__aarch64__) || defined(__riscv)
+	atf_tc_expect_fail("https://bugs.freebsd.org/290099");
+#endif
 	/* Values at 0 should be exact. */
 	testall(tan, 0.0, 0.0, ALL_STD_EXCEPT, 0);
 	testall(tan, -0.0, -0.0, ALL_STD_EXCEPT, 0);