On NetBSD 9.0 and 10.0, I always see the same tests fail:

FAIL: test-dup3
===============

../../gltests/test-dup3.c:113: assertion 'dup3 (fd, fd, o_flags) == -1' failed
FAIL test-dup3 (exit status: 134)

FAIL: test-fdutimensat
======================

../../gltests/test-utimens.h:75: assertion 'func (BASE "file", ts) == -1' failed
FAIL test-fdutimensat (exit status: 134)

FAIL: test-futimens
===================

../../gltests/test-futimens.h:170: assertion 'ctime_compare (&st3, &st2) < 0' 
failed
FAIL test-futimens (exit status: 134)

FAIL: test-utimens
==================

../../gltests/test-utimens.h:149: assertion 'ctime_compare (&st3, &st2) < 0' 
failed
FAIL test-utimens (exit status: 134)

FAIL: test-utimensat
====================

../../gltests/test-utimens.h:75: assertion 'func (BASE "file", ts) == -1' failed
FAIL test-utimensat (exit status: 134)


Since I don't have time to investigate them and, OTOH, I don't want that
the NetBSD test failures mark the entire continuous integration run as
"failed", here are patches to mark them as expected failures.


2024-05-17  Bruno Haible  <br...@clisp.org>

        tests: Mark tests that fail on NetBSD as expected failures.
        * modules/dup3-tests (Depends-on): Add test-xfail.
        (Makefile.am): Expect that test-dup3 fails on NetBSD.
        * modules/fdutimensat-tests (Depends-on): Add test-xfail.
        (Makefile.am): Expect that test-fdutimensat fails on NetBSD.
        * modules/futimens-tests (Depends-on): Add test-xfail.
        (Makefile.am): Expect that test-futimens fails on NetBSD.
        * modules/utimens-tests (Depends-on): Add test-xfail.
        (Makefile.am): Expect that test-utimens fails on NetBSD.
        * modules/utimensat-tests (Depends-on): Add test-xfail.
        (Makefile.am): Expect that test-utimensat fails on NetBSD.

2024-05-17  Bruno Haible  <br...@clisp.org>

        New module 'test-xfail'.
        * modules/test-xfail: New file.

>From 7bd833e72889284f82da09a0b41145b75a828063 Mon Sep 17 00:00:00 2001
From: Bruno Haible <br...@clisp.org>
Date: Fri, 17 May 2024 22:44:56 +0200
Subject: [PATCH 1/2] New module 'test-xfail'.

* modules/test-xfail: New file.
---
 ChangeLog          |  5 ++++
 modules/test-xfail | 65 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 modules/test-xfail

diff --git a/ChangeLog b/ChangeLog
index 25c95d2aba..df2944317a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-05-17  Bruno Haible  <br...@clisp.org>
+
+	New module 'test-xfail'.
+	* modules/test-xfail: New file.
+
 2024-05-17  Bruno Haible  <br...@clisp.org>
 
 	New module 'abort-debug'.
diff --git a/modules/test-xfail b/modules/test-xfail
new file mode 100644
index 0000000000..3eef613a8a
--- /dev/null
+++ b/modules/test-xfail
@@ -0,0 +1,65 @@
+Description:
+Define Automake conditionals that can be used to mark expected failures.
+
+Files:
+m4/musl.m4
+
+Depends-on:
+
+configure.ac:
+gl_MUSL_LIBC
+gl_CONDITIONAL([LIBC_IS_GNU],
+               [case "$host_os" in *-gnu* | gnu*) true ;; *) false ;; esac])
+gl_CONDITIONAL([LIBC_IS_MUSL],
+               [case "$host_os" in *-musl* | midipix*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_MACOS],
+               [case "$host_os" in darwin*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_MACOS11],
+               [case "$host_os" in darwin20.*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_MACOS12],
+               [case "$host_os" in darwin21.*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_MACOS13],
+               [case "$host_os" in darwin22.*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_MACOS14],
+               [case "$host_os" in darwin23.*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_FREEBSD],
+               [case "$host_os" in freebsd* | dragonfly*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_NETBSD],
+               [case "$host_os" in netbsd*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_OPENBSD],
+               [case "$host_os" in openbsd*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_AIX],
+               [case "$host_os" in aix*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_SOLARIS11],
+               [case "$host_os" in solaris2.11*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_CYGWIN],
+               [case "$host_os" in cygwin*) true ;; *) false ;; esac])
+gl_CONDITIONAL([OS_IS_NATIVE_WINDOWS],
+               [case "$host_os" in mingw* | windows*) true ;; *) false ;; esac])
+
+is_mingw=false; is_msvc=false
+case "$host_os" in
+  windows*-msvc*) is_msvc=true ;;
+  mingw* | windows*)
+    AC_EGREP_CPP([Special], [
+#ifdef _MSC_VER
+ Special
+#endif
+], [is_msvc=true], [is_mingw=true])
+    ;;
+esac
+gl_CONDITIONAL([PLATFORM_IS_MINGW], [$is_mingw])
+gl_CONDITIONAL([PLATFORM_IS_MSVC], [$is_msvc])
+
+gl_CONDITIONAL([OS_IS_ANDROID],
+               [case "$host_os" in linux-androideabi*) true ;; *) false ;; esac])
+
+Makefile.am:
+
+Include:
+
+License:
+GPL
+
+Maintainer:
+all
-- 
2.34.1

>From c7eb28f79cbcfc5da0268041745094d2ae4c3db7 Mon Sep 17 00:00:00 2001
From: Bruno Haible <br...@clisp.org>
Date: Fri, 17 May 2024 23:08:00 +0200
Subject: [PATCH 2/2] tests: Mark tests that fail on NetBSD as expected
 failures.

* modules/dup3-tests (Depends-on): Add test-xfail.
(Makefile.am): Expect that test-dup3 fails on NetBSD.
* modules/fdutimensat-tests (Depends-on): Add test-xfail.
(Makefile.am): Expect that test-fdutimensat fails on NetBSD.
* modules/futimens-tests (Depends-on): Add test-xfail.
(Makefile.am): Expect that test-futimens fails on NetBSD.
* modules/utimens-tests (Depends-on): Add test-xfail.
(Makefile.am): Expect that test-utimens fails on NetBSD.
* modules/utimensat-tests (Depends-on): Add test-xfail.
(Makefile.am): Expect that test-utimensat fails on NetBSD.
---
 ChangeLog                 | 14 ++++++++++++++
 modules/dup3-tests        |  5 +++++
 modules/fdutimensat-tests |  5 +++++
 modules/futimens-tests    |  5 +++++
 modules/utimens-tests     |  5 +++++
 modules/utimensat-tests   |  5 +++++
 6 files changed, 39 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index df2944317a..add0f34488 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2024-05-17  Bruno Haible  <br...@clisp.org>
+
+	tests: Mark tests that fail on NetBSD as expected failures.
+	* modules/dup3-tests (Depends-on): Add test-xfail.
+	(Makefile.am): Expect that test-dup3 fails on NetBSD.
+	* modules/fdutimensat-tests (Depends-on): Add test-xfail.
+	(Makefile.am): Expect that test-fdutimensat fails on NetBSD.
+	* modules/futimens-tests (Depends-on): Add test-xfail.
+	(Makefile.am): Expect that test-futimens fails on NetBSD.
+	* modules/utimens-tests (Depends-on): Add test-xfail.
+	(Makefile.am): Expect that test-utimens fails on NetBSD.
+	* modules/utimensat-tests (Depends-on): Add test-xfail.
+	(Makefile.am): Expect that test-utimensat fails on NetBSD.
+
 2024-05-17  Bruno Haible  <br...@clisp.org>
 
 	New module 'test-xfail'.
diff --git a/modules/dup3-tests b/modules/dup3-tests
index 7d52771730..eff2e21307 100644
--- a/modules/dup3-tests
+++ b/modules/dup3-tests
@@ -8,9 +8,14 @@ getdtablesize
 msvc-nothrow
 open
 close
+test-xfail
 
 configure.ac:
 
 Makefile.am:
 TESTS += test-dup3
 check_PROGRAMS += test-dup3
+
+if OS_IS_NETBSD
+XFAIL_TESTS += test-dup3
+endif
diff --git a/modules/fdutimensat-tests b/modules/fdutimensat-tests
index c2f0d59f3d..29113f0cdb 100644
--- a/modules/fdutimensat-tests
+++ b/modules/fdutimensat-tests
@@ -16,6 +16,7 @@ stdckdint
 timespec
 dup
 utimecmp
+test-xfail
 
 configure.ac:
 
@@ -24,3 +25,7 @@ TESTS += test-fdutimensat
 check_PROGRAMS += test-fdutimensat
 test_fdutimensat_LDADD = $(LDADD) $(CLOCK_TIME_LIB) \
   $(NANOSLEEP_LIB) @LIBINTL@
+
+if OS_IS_NETBSD
+XFAIL_TESTS += test-fdutimensat
+endif
diff --git a/modules/futimens-tests b/modules/futimens-tests
index c6f62d9d3c..7364321cb5 100644
--- a/modules/futimens-tests
+++ b/modules/futimens-tests
@@ -15,6 +15,7 @@ stdckdint
 timespec
 dup
 utimecmp
+test-xfail
 
 configure.ac:
 
@@ -22,3 +23,7 @@ Makefile.am:
 TESTS += test-futimens
 check_PROGRAMS += test-futimens
 test_futimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@
+
+if OS_IS_NETBSD
+XFAIL_TESTS += test-futimens
+endif
diff --git a/modules/utimens-tests b/modules/utimens-tests
index 381139c8dd..3ef54ce36d 100644
--- a/modules/utimens-tests
+++ b/modules/utimens-tests
@@ -16,6 +16,7 @@ stdckdint
 symlink
 timespec
 utimecmp
+test-xfail
 
 configure.ac:
 
@@ -23,3 +24,7 @@ Makefile.am:
 TESTS += test-utimens
 check_PROGRAMS += test-utimens
 test_utimens_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@
+
+if OS_IS_NETBSD
+XFAIL_TESTS += test-utimens
+endif
diff --git a/modules/utimensat-tests b/modules/utimensat-tests
index 0ba5e09e02..720f46e1c7 100644
--- a/modules/utimensat-tests
+++ b/modules/utimensat-tests
@@ -13,6 +13,7 @@ nanosleep
 stdckdint
 timespec
 utimecmp
+test-xfail
 
 configure.ac:
 
@@ -20,3 +21,7 @@ Makefile.am:
 TESTS += test-utimensat
 check_PROGRAMS += test-utimensat
 test_utimensat_LDADD = $(LDADD) $(CLOCK_TIME_LIB) $(NANOSLEEP_LIB) @LIBINTL@
+
+if OS_IS_NETBSD
+XFAIL_TESTS += test-utimensat
+endif
-- 
2.34.1

Reply via email to