[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
test failures on OpenBSD 5.0
From: |
Bruno Haible |
Subject: |
test failures on OpenBSD 5.0 |
Date: |
Mon, 30 Jan 2012 21:32:10 +0100 |
User-agent: |
KMail/4.7.4 (Linux/3.1.0-1.2-desktop; KDE/4.7.4; x86_64; ; ) |
On OpenBSD 5.0/SPARC64 I'm seeing these test failures:
-----------------------------------------------------
test-fma2.h:93: assertion failed
Abort trap (core dumped)
FAIL: test-fmal2
-----------------------------------------------------
test-mkdirat.c:93: assertion failed
Abort trap (core dumped)
FAIL: test-mkdirat
Here mkdirat (dfd, "dir3", 0700) fails with EBADF, not ENOTDIR as expected.
-----------------------------------------------------
test-mkfifo.h:36: assertion failed
Abort trap (core dumped)
FAIL: test-mkfifoat
It fails in this call:
#0 do_mknodat (name=0x20b6a0 "test-mkfifoat.tfifo", mode=384) at
test-mkfifoat.c:65
#1 0x0000000000101810 in test_mkfifo (func=0x102510 <do_mknodat>, print=false)
at test-mkfifo.h:28
#2 0x0000000000102600 in main () at test-mkfifoat.c:80
The mknodat() call fails to create "test-mkfifoat.tfifo" in the current
directory, with EPERM. Test case:
================================================================
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
int main()
{
int dfd;
int ret;
dfd = open (".", O_RDONLY);
if (dfd < 0) return 1;
ret = mknodat (dfd, "test-mkfifoat.tfifo", 0600 | S_IFIFO, 0);
printf ("%d %d\n", ret, errno);
return 0;
}
================================================================
Actual output:
-1 1
Expected output:
0 0
-----------------------------------------------------
test-futimens.h:101: assertion failed
Abort trap (core dumped)
FAIL: test-futimens
test-utimens.h:125: assertion failed
Abort trap (core dumped)
FAIL: test-utimens
test-utimens.h:71: assertion failed
Abort trap (core dumped)
FAIL: test-utimensat
-----------------------------------------------------
test-wcwidth.c:56: assertion failed
Abort trap (core dumped)
FAIL: test-wcwidth
The attached patch fixes it.
-----------------------------------------------------
Unconnected socket test... passed
Connected sockets test... failed (expecting POLLHUP after shutdown)
General socket test with fork... failed (expecting POLLHUP after shutdown)
Pipe test... passed
FAIL: test-poll
Well-known.
2012-01-29 Bruno Haible <address@hidden>
wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
* doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
--- doc/posix-functions/wcwidth.texi.orig Mon Jan 30 21:19:09 2012
+++ doc/posix-functions/wcwidth.texi Mon Jan 30 21:17:07 2012
@@ -17,7 +17,7 @@
@item
This function handles combining characters in UTF-8 locales incorrectly on some
platforms:
-MacOS X 10.3.
+MacOS X 10.3, OpenBSD 5.0.
@end itemize
Portability problems not fixed by Gnulib:
--- m4/wcwidth.m4.orig Mon Jan 30 21:19:09 2012
+++ m4/wcwidth.m4 Mon Jan 30 21:15:57 2012
@@ -1,4 +1,4 @@
-# wcwidth.m4 serial 21
+# wcwidth.m4 serial 22
dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -37,6 +37,7 @@
if test $ac_cv_func_wcwidth = yes; then
HAVE_WCWIDTH=1
dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
+ dnl On OpenBSD 5.0, wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1.
dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
dnl This leads to bugs in 'ls' (coreutils).
AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales],
@@ -69,8 +70,10 @@
{
if (wcwidth (0x0301) > 0)
result |= 1;
- if (wcwidth (0x200B) > 0)
+ if (wcwidth (0x05B0) > 0)
result |= 2;
+ if (wcwidth (0x200B) > 0)
+ result |= 4;
}
return result;
}]])],
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- test failures on OpenBSD 5.0,
Bruno Haible <=