scott mc wrote: > Diffutils-3.0 builds ok on Haiku but the test suite did not. I made > patches to three of the test files as shown here:
Thanks for the report and patches. I'm redirecting this to bug-gnulib, since those tests all come from that project, not diffutils directly. > -------------------- > diff -urN diffutils-3.0/gnulib-tests/test-dup2.c > diffutils-3.0-haiku/gnulib-tests/test-dup2.c > --- diffutils-3.0/gnulib-tests/test-dup2.c 2010-04-15 13:42:07.036700160 > +0000 > +++ diffutils-3.0-haiku/gnulib-tests/test-dup2.c 2010-10-06 > 11:17:38.000000000 +0000 > @@ -176,6 +176,7 @@ > > /* On systems that distinguish between text and binary mode, dup2 > reuses the mode of the source. */ > +#if O_BINARY > setmode (fd, O_BINARY); > ASSERT (is_mode (fd, O_BINARY)); > ASSERT (dup2 (fd, fd + 1) == fd + 1); > @@ -190,6 +191,6 @@ > ASSERT (close (fd + 1) == 0); > ASSERT (close (fd) == 0); > ASSERT (unlink (file) == 0); > - > +#endif > return 0; > } > diff -urN diffutils-3.0/gnulib-tests/test-fcntl.c > diffutils-3.0-haiku/gnulib-tests/test-fcntl.c > --- diffutils-3.0/gnulib-tests/test-fcntl.c 2010-04-15 13:42:08.027787264 > +0000 > +++ diffutils-3.0-haiku/gnulib-tests/test-fcntl.c 2010-10-06 > 11:21:54.000000000 +0000 > @@ -298,6 +298,7 @@ > ASSERT (is_mode (fd + 2, O_BINARY)); > ASSERT (close (fd) == 0); > > +#if O_TEXT > setmode (fd + 2, O_TEXT); > ASSERT (fcntl (fd + 2, F_DUPFD, fd + 1) == fd + 1); > ASSERT (!is_open (fd)); > @@ -318,7 +319,7 @@ > ASSERT (is_mode (fd, O_TEXT)); > ASSERT (is_mode (fd + 2, O_TEXT)); > ASSERT (close (fd + 2) == 0); > - > +#endif > /* Test F_GETFD. */ > errno = 0; > ASSERT (fcntl (-1, F_GETFD) == -1); > diff -urN diffutils-3.0/gnulib-tests/test-signal.c > diffutils-3.0-haiku/gnulib-tests/test-signal.c > --- diffutils-3.0/gnulib-tests/test-signal.c 2010-04-15 13:42:09.030932992 > +0000 > +++ diffutils-3.0-haiku/gnulib-tests/test-signal.c 2010-10-06 > 11:28:31.000000000 +0000 > @@ -58,7 +58,7 @@ > #ifdef SIGALRM > case SIGALRM: > #endif > -#ifdef SIGBUS > +#if defined SIGBUS && !defined(__HAIKU__) > case SIGBUS: > #endif > #ifdef SIGCHLD > > > ------------------------------------------ > > Haiku, like BeOS have O_BINARY and O_TEXT but they have no effect: > http://www.mail-archive.com/bug-gnulib@gnu.org/msg12137.html > > Also on Haiku and BeOS SIGSEGV is the same as SIGBUS: > http://dev.haiku-os.org/browser/haiku/trunk/headers/posix/signal.h (line 132) > > Here is the output of the test-suite with the above patch applied: > > ==================================================== > GNU diffutils 3.0: gnulib-tests/test-suite.log > ==================================================== > > 9 of 78 tests failed. (11 tests were not run). > > .. contents:: :depth: 2 > > > FAIL: test-btowc1.sh (exit: 134) > ================================ > > test-btowc.c:52: assertion failed > Abort > ./test-btowc1.sh: line 15: 431880 Abort > LC_ALL=$LOCALE_FR ./test-btowc${EXEEXT} 1 > > SKIP: test-btowc2.sh (exit: 77) > =============================== > > Skipping test: no french Unicode locale is supported > > FAIL: test-c-stack.sh (exit: 1) > =============================== > > ./test-c-stack.sh: line 7: 431920 Segmentation violation > ./test-c-stack${EXEEXT} 2> t-c-stack.tmp > > FAIL: test-fcntl (exit: 134) > ============================ > > test-fcntl.c:261: assertion failed > Abort > > FAIL: test-mbrtowc1.sh (exit: 134) > ================================== > > test-mbrtowc.c:143: assertion failed > Abort > ./test-mbrtowc1.sh: line 15: 432356 Abort > LC_ALL=$LOCALE_FR ./test-mbrtowc${EXEEXT} 1 > > SKIP: test-mbrtowc2.sh (exit: 77) > ================================= > > Skipping test: no french Unicode locale is supported > > SKIP: test-mbrtowc3.sh (exit: 77) > ================================= > > Skipping test: no traditional japanese locale is supported > > SKIP: test-mbrtowc4.sh (exit: 77) > ================================= > > Skipping test: no transitional chinese locale is supported > > SKIP: test-mbscasecmp.sh (exit: 77) > =================================== > > Skipping test: no turkish Unicode locale is supported > > SKIP: test-mbsinit.sh (exit: 77) > ================================ > > Skipping test: no french Unicode locale is supported > > FAIL: test-mbsrtowcs1.sh (exit: 134) > ==================================== > > test-mbsrtowcs.c:111: assertion failed > Abort > ./test-mbsrtowcs1.sh: line 15: 432436 Abort > LC_ALL=$LOCALE_FR ./test-mbsrtowcs${EXEEXT} 1 > > SKIP: test-mbsrtowcs2.sh (exit: 77) > =================================== > > Skipping test: no french Unicode locale is supported > > SKIP: test-mbsrtowcs3.sh (exit: 77) > =================================== > > Skipping test: no traditional japanese locale is supported > > SKIP: test-mbsrtowcs4.sh (exit: 77) > =================================== > > Skipping test: no transitional chinese locale is supported > > SKIP: test-mbsstr2.sh (exit: 77) > ================================ > > Skipping test: no french Unicode locale is supported > > SKIP: test-mbsstr3.sh (exit: 77) > ================================ > > Skipping test: no chinese GB18030 locale is supported > > FAIL: test-sleep (exit: 134) > ============================ > > test-sleep.c:55: assertion failed > Abort > > FAIL: test-unsetenv (exit: 134) > =============================== > > test-unsetenv.c:44: assertion failed > Abort > > FAIL: test-wcrtomb.sh (exit: 1) > =============================== > > test-wcrtomb.c:45: assertion failed > Abort > ./test-wcrtomb.sh: line 9: 433242 Abort > LC_ALL=$LOCALE_FR ./test-wcrtomb${EXEEXT} 1 > > FAIL: test-wcwidth (exit: 134) > ============================== > > test-wcwidth.c:57: assertion failed > Abort > > > > ------------------------------- > > -scottmc > > Scott McCreary > HaikuPorts