On 2023-03-19 13:44, Jim Meyering wrote:
I've pushed your change along with the attached.
I'll probably create another snapshot today.
Thanks. I also installed a minor dfa.c change in Gnulib yesterday to
pacify Oracle Solaris Studio. No big deal since 'grep' builds OK anyway.
I also ran into a weird issue with test-select on Fedora 37 x86-64. It
appears to be timing dependent and usually doesn't happen. I can't
reproduce under strace. This is another Gnulib thing and not relevant to
grep (other than people might report test failures to bug-grep).
I installed into Gnulib the attached patch which shouldn't hurt but
which I don't know fixes the bug.diff --git a/ChangeLog b/ChangeLog
index dfce1a8df7..f42e2ede30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2023-03-19 Paul Eggert <egg...@cs.ucla.edu>
+
+ test-pselect, test-select: use different ports
+ I have observed rare and hard-to-reproduce problems with the GNU
+ grep release candidate with ‘make -j5 check’ on Fedora 37 x86-64.
+ One possibility is that test-pselect and test-select interfere
+ with each other somehow when run simultaneously, as they use the
+ same port. Work around this possibility by using different ports
+ from each other, and from test-poll (which also uses 12345).
+ Of course it’d be better if all these tests used system-assigned
+ ports, but I assume that’d take more work.
+ * tests/test-pselect.c, tests/test-select.c (TEST_PORT): New macro.
+ * tests/test-select.h (TEST_PORT): Remove.
+
2023-03-19 Bruno Haible <br...@clisp.org>
Update MODULES.html.sh.
diff --git a/tests/test-pselect.c b/tests/test-pselect.c
index 41468684c5..a383f1d1b2 100644
--- a/tests/test-pselect.c
+++ b/tests/test-pselect.c
@@ -24,6 +24,7 @@ SIGNATURE_CHECK (pselect, int,
(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
struct timespec const *restrict, const sigset_t *restrict));
+#define TEST_PORT 12347
#include "test-select.h"
static int
diff --git a/tests/test-select.c b/tests/test-select.c
index d04be58418..b460060351 100644
--- a/tests/test-select.c
+++ b/tests/test-select.c
@@ -25,6 +25,7 @@
SIGNATURE_CHECK (select, int, (int, fd_set *, fd_set *, fd_set *,
struct timeval *));
+#define TEST_PORT 12346
#include "test-select.h"
int
diff --git a/tests/test-select.h b/tests/test-select.h
index afa996f40c..ceeb485471 100644
--- a/tests/test-select.h
+++ b/tests/test-select.h
@@ -37,8 +37,6 @@
# include <sys/wait.h>
#endif
-#define TEST_PORT 12345
-
typedef int (*select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *);