Michele Locati wrote: > I'm building iconv+gettext for Windows with Cygwin and MinGW-w64 in a > GitHub Action [1]. > > When running make check for gettext-tools, we have two failing tests [2]. > In the test-suite.log file we have: > > FAIL: test-getopt-gnu > ===================== > ../../../gettext-tools/gnulib-tests/test-getopt_long.h:1850: assertion > 'strcmp (argv[1], "donald") == 0' failed > FAIL test-getopt-gnu.exe (exit status: 3) > > FAIL: test-getopt-posix > ======================= > ../../../gettext-tools/gnulib-tests/test-getopt.h:772: assertion > 'strcmp (argv[1], "-p") == 0' failed > FAIL test-getopt-posix.exe (exit status: 3)
This was a test suite bug, fixed through <https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00228.html>. You are seeing it because the gettext 0.22.5 release predates this fix. > I also noticed that *sometimes* [3] the test-asyncsafe-spin2 test fails too: > > FAIL: test-asyncsafe-spin2 > ========================== > Starting test_asyncsafe_spin ...FAIL test-asyncsafe-spin2.exe (exit status: 3) I'm seeing this too. Reviewing the code in asyncsafe-spin.c and windows-spin.c, it looks correct. Any idea? > I tried checking gnulib in a similar environment [4], and there we > have these failures: > > FAIL: test-nonblocking-socket.sh > ================================ > ../../gltests/test-nonblocking-reader.h:111: assertion 'spent_time < 0.5' > failed > test-nonblocking-socket-main.exe: ./test-nonblocking-socket-child.exe > subprocess got fatal signal 15 > ../../gltests/test-nonblocking-socket-main.c:119: assertion 'err == 0' failed > FAIL test-nonblocking-socket.sh (exit status: 1) This just means that your test machine is particularly fast or particularly slow. You can ignore this failure. > FAIL: test-u16-casecoll > ======================= > ../../gltests/unicase/test-casecmp.h:34: assertion 'my_casecmp (input, > SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0' failed > FAIL test-u16-casecoll.exe (exit status: 3) > > FAIL: test-u32-casecoll > ======================= > ../../gltests/unicase/test-casecmp.h:34: assertion 'my_casecmp (input, > SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0' failed > FAIL test-u32-casecoll.exe (exit status: 3) > > FAIL: test-u8-casecoll > ====================== > ../../gltests/unicase/test-casecmp.h:34: assertion 'my_casecmp (input, > SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0' failed > FAIL test-u8-casecoll.exe (exit status: 3) > > FAIL: unicase/test-ulc-casecmp1.sh > ================================== > ../../gltests/unicase/test-casecmp.h:34: assertion 'my_casecmp (input, > SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0' failed > FAIL unicase/test-ulc-casecmp1.sh (exit status: 3) > > FAIL: unicase/test-ulc-casecoll1.sh > =================================== > ../../gltests/unicase/test-casecmp.h:34: assertion 'my_casecmp (input, > SIZEOF (input), NULL, 0, NULL, nf, &cmp) == 0' failed > FAIL unicase/test-ulc-casecoll1.sh (exit status: 3) > > FAIL: test-u16-normcoll > ======================= > ../../gltests/uninorm/test-u16-normcmp.h:34: assertion 'my_normcmp > (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0' failed > FAIL test-u16-normcoll.exe (exit status: 3) > > FAIL: test-u32-normcoll > ======================= > ../../gltests/uninorm/test-u32-normcmp.h:34: assertion 'my_normcmp > (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0' failed > FAIL test-u32-normcoll.exe (exit status: 3) > > FAIL: test-u8-normcoll > ====================== > ../../gltests/uninorm/test-u8-normcmp.h:34: assertion 'my_normcmp > (input, SIZEOF (input), NULL, 0, nf, &cmp) == 0' failed > FAIL test-u8-normcoll.exe (exit status: 3) > > FAIL: test-u16-vasnprintf1 > ========================== > ../../gltests/unistdio/test-u16-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u16-vasnprintf1.exe (exit status: 3) > > FAIL: unistdio/test-u16-vasnprintf2.sh > ====================================== > ../../gltests/unistdio/test-u16-printf1.h:332: assertion 'result != NULL' > failed > FAIL unistdio/test-u16-vasnprintf2.sh (exit status: 1) > > FAIL: test-u16-vasprintf1 > ========================= > ../../gltests/unistdio/test-u16-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u16-vasprintf1.exe (exit status: 3) > > FAIL: test-u16-vsnprintf1 > ========================= > ../../gltests/unistdio/test-u16-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u16-vsnprintf1.exe (exit status: 3) > > FAIL: test-u16-vsprintf1 > ======================== > ../../gltests/unistdio/test-u16-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u16-vsprintf1.exe (exit status: 3) > > FAIL: test-u32-vasnprintf1 > ========================== > ../../gltests/unistdio/test-u32-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u32-vasnprintf1.exe (exit status: 3) > > FAIL: unistdio/test-u32-vasnprintf2.sh > ====================================== > ../../gltests/unistdio/test-u32-printf1.h:332: assertion 'result != NULL' > failed > FAIL unistdio/test-u32-vasnprintf2.sh (exit status: 1) > > FAIL: test-u32-vasprintf1 > ========================= > ../../gltests/unistdio/test-u32-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u32-vasprintf1.exe (exit status: 3) > > FAIL: test-u32-vsnprintf1 > ========================= > ../../gltests/unistdio/test-u32-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u32-vsnprintf1.exe (exit status: 3) > > FAIL: test-u32-vsprintf1 > ======================== > ../../gltests/unistdio/test-u32-printf1.h:332: assertion 'result != NULL' > failed > FAIL test-u32-vsprintf1.exe (exit status: 3) > > FAIL: test-u8-vasnprintf1 > ========================= > ../../gltests/unistdio/test-u8-printf1.h:288: assertion 'result != NULL' > failed > FAIL test-u8-vasnprintf1.exe (exit status: 3) > > FAIL: unistdio/test-u8-vasnprintf2.sh > ===================================== > ../../gltests/unistdio/test-u8-printf1.h:288: assertion 'result != NULL' > failed > FAIL unistdio/test-u8-vasnprintf2.sh (exit status: 1) > > FAIL: test-u8-vasprintf1 > ======================== > ../../gltests/unistdio/test-u8-printf1.h:288: assertion 'result != NULL' > failed > FAIL test-u8-vasprintf1.exe (exit status: 3) > > FAIL: test-u8-vsnprintf1 > ======================== > ../../gltests/unistdio/test-u8-printf1.h:288: assertion 'result != NULL' > failed > FAIL test-u8-vsnprintf1.exe (exit status: 3) > > FAIL: test-u8-vsprintf1 > ======================= > ../../gltests/unistdio/test-u8-printf1.h:288: assertion 'result != NULL' > failed > FAIL test-u8-vsprintf1.exe (exit status: 3) > > FAIL: test-ulc-vasnprintf1 > ========================== > ../../gltests/unistdio/test-ulc-printf1.h:63: assertion 'result != NULL' > failed > FAIL test-ulc-vasnprintf1.exe (exit status: 3) > > FAIL: unistdio/test-ulc-vasnprintf2.sh > ====================================== > ../../gltests/unistdio/test-ulc-printf1.h:63: assertion 'result != NULL' > failed > FAIL unistdio/test-ulc-vasnprintf2.sh (exit status: 1) > > FAIL: test-ulc-vasprintf1 > ========================= > ../../gltests/unistdio/test-ulc-printf1.h:63: assertion 'result != NULL' > failed > FAIL test-ulc-vasprintf1.exe (exit status: 3) > > FAIL: test-ulc-vsnprintf1 > ========================= > ../../gltests/unistdio/test-ulc-printf1.h:63: assertion 'result != NULL' > failed > FAIL test-ulc-vsnprintf1.exe (exit status: 3) > > FAIL: test-ulc-vsprintf1 > ======================== > ../../gltests/unistdio/test-ulc-printf1.h:63: assertion 'result != NULL' > failed > FAIL test-ulc-vsprintf1.exe (exit status: 3) These 28 failures are because you don't have an 'iconv' library installed. See gnulib/DEPENDENCIES (search for 'libiconv'). Bruno