glibc/conform/data/stropts.h-data
Joseph Myers 5675961d15 conformtest: Support xfail markers on individual assertions.
Various conformtest tests fail because of known issues, filed in
Bugzilla, that are hard to fix (requiring new features, kernel
cooperation or involving changing types in ways that may involve care
around padding when interfacing to the kernel).  Such an issue has the
effect of making the whole test for the (standard, header) pair fail,
so hiding any other issues with that header for that standard
(possibly regressions or architecture-specific issues).

This patch adds a mechanism for individual conformtest test
expectations to start with xfail-, meaning that a failure of that
particular assertion does not cause the whole test to fail at the
makefile level and so failure at the makefile level can be used to
detect other issues that are likely to be easier to fix.  This is
similar to the whitelisted symbols in the linknamespace tests, or the
marking of particular libm tests as allowing spurious or missing
exceptions, for example.  The bugs filed in Bugzilla should still be
fixed, and the xfail- markers removed at that point, but xfail-
renders the tests more useful until that happens.

Note that there is no way to add such a marker for the assertion that
a header uses only symbols in the namespace of symbols it's meant to
use.  I don't think there's any need for a way to xfail those
namespace tests other than xfailing the whole (standard, header) pair
at the makefile level, since they are generally straightforward to fix
(add appropriate conditionals on the problem definitions).

The xfails in this patch do not necessarily cover all cases of
hard-to-fix header bugs filed in Bugzilla that currently show up in
conformtest failures; there may be more yet to add for existing open
bugs.

Tested for x86_64 and x86.

	* conform/conformtest.pl ($xerrors): New variable.
	(note_error): New function.
	(compiletest): New argument $xfail.  Use not_error.
	(runtest): Likewise.
	(top level): Handle xfail- lines.  Update calls to compiletest and
	runtest.  Handle xfail- and optional- in headers listed with
	allow-header.
	* conform/data/fcntl.h-data (O_TTY_INIT): Use xfail-.
	(O_EXEC): Likewise.
	(O_SEARCH): Likewise.
	* conform/data/stropts.h-data (ioctl): Likewise.
	* conform/data/sys/ipc.h-data (ipc_perm.mode): Likewise.
	* conform/data/sys/sem.h-data (semid_ds.sem_nsems): Likewise.
	* conform/data/sys/socket.h-data (msghdr.msg_iovlen): Likewise.
	(msghdr.msg_controllen): Likewise.
	(cmsghdr.cmsg_len): Likewise.
	* conform/data/utmpx.h-data (utmpx.ut_tv): Likewise.
	* conform/Makefile (test-xfail-XPG3/sys/ipc.h/conform): Remove
	variable.
	(test-xfail-XPG3/sys/sem.h/conform): Likewise.
	(test-xfail-XPG4/stropts.h/conform): Likewise.
	(test-xfail-XPG4/sys/ipc.h/conform): Likewise.
	(test-xfail-XPG4/sys/sem.h/conform): Likewise.
	(test-xfail-XPG4/sys/socket.h/conform): Likewise.
	(test-xfail-UNIX98/stropts.h/conform): Likewise.
	(test-xfail-UNIX98/sys/ipc.h/conform): Likewise.
	(test-xfail-UNIX98/sys/sem.h/conform): Likewise.
	(test-xfail-UNIX98/sys/socket.h/conform): Likewise.
	(test-xfail-XOPEN2K/stropts.h/conform): Likewise.
	(test-xfail-XOPEN2K/sys/ipc.h/conform): Likewise.
	(test-xfail-XOPEN2K/sys/sem.h/conform): Likewise.
	(test-xfail-XOPEN2K/sys/socket.h/conform): Likewise.
	(test-xfail-XOPEN2K/utmpx.h/conform): Likewise.
	(test-xfail-POSIX2008/fcntl.h/conform): Likewise.
	(test-xfail-POSIX2008/stropts.h/conform): Likewise.
	(test-xfail-XOPEN2K8/fcntl.h/conform): Likewise.
	(test-xfail-XOPEN2K8/stropts.h/conform): Likewise.
	(test-xfail-XOPEN2K8/sys/ipc.h/conform): Likewise.
	(test-xfail-XOPEN2K8/sys/sem.h/conform): Likewise.
	(test-xfail-XOPEN2K8/sys/socket.h/conform): Likewise.
2015-06-19 20:05:41 +00:00

141 lines
2.7 KiB
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3
type {struct bandinfo}
element {struct bandinfo} {unsigned char} bi_pri
element {struct bandinfo} int bi_flag
type {struct strpeek}
element {struct strpeek} {struct strbuf} ctlbuf
element {struct strpeek} {struct strbuf} databuf
element {struct strpeek} t_uscalar_t flags
type {struct strbuf}
element {struct strbuf} int maxlen
element {struct strbuf} int len
element {struct strbuf} {char*} buf
type {struct strfdinsert}
element {struct strfdinsert} {struct strbuf} ctlbuf
element {struct strfdinsert} {struct strbuf} databuf
element {struct strfdinsert} t_uscalar_t flags
element {struct strfdinsert} int fildes
element {struct strfdinsert} int offset
type {struct strioctl}
element {struct strioctl} int ic_cmd
element {struct strioctl} int ic_timout
element {struct strioctl} int ic_len
element {struct strioctl} {char*} ic_dp
type {struct strrecvfd}
element {struct strrecvfd} int fd
element {struct strrecvfd} uid_t uid
element {struct strrecvfd} gid_t gid
type uid_t
type gid_t
type t_uscalar_t
type {struct str_list}
element {struct str_list} int sl_nmods
element {struct str_list} {struct str_mlist*} sl_modlist
type {struct str_mlist}
element {struct str_mlist} char l_name [FMNAMESZ+1]
macro I_PUSH
macro I_POP
macro I_LOOK
macro FMNAMESZ
macro I_FLUSH
macro FLUSHR
macro FLUSHW
macro FLUSHRW
macro I_FLUSHBAND
macro I_SETSIG
macro S_RDNORM
macro S_RDBAND
macro S_INPUT
macro S_HIPRI
macro S_OUTPUT
macro S_WRNORM
macro S_WRBAND
macro S_MSG
macro S_ERROR
macro S_HANGUP
macro S_BANDURG
macro I_GETSIG
macro I_FIND
macro I_PEEK
macro RS_HIPRI
macro I_SRDOPT
macro RNORM
macro RMSGD
macro RMSGN
macro RPROTNORM
macro RPROTDAT
macro RPROTDIS
macro I_GRDOPT
macro I_NREAD
macro I_FDINSERT
macro I_STR
macro I_SWROPT
macro SNDZERO
macro I_GWROPT
macro I_SENDFD
macro I_RECVFD
macro I_LIST
macro I_ATMARK
macro ANYMARK
macro LASTMARK
macro I_CKBAND
macro I_GETBAND
macro I_CANPUT
macro I_SETCLTIME
macro I_GETCLTIME
macro I_LINK
macro I_UNLINK
macro I_PLINK
macro I_PUNLINK
macro MSG_ANY
macro MSG_BAND
macro MSG_HIPRI
macro MORECTL
macro MOREDATA
function int isastream (int)
function int getmsg (int, struct strbuf*, struct strbuf*, int*)
function int getpmsg (int, struct strbuf*, struct strbuf*, int*, int*)
// Bug 14362: wrong type for ioctl.
xfail-function int ioctl (int, int, ...)
function int putmsg (int, const struct strbuf*, const struct strbuf*, int)
function int putpmsg (int, const struct strbuf*, const struct strbuf*, int, int)
function int fattach (int, const char*)
function int fdetach (const char*)
allow-header unistd.h
allow bi_*
allow ic_*
allow l_*
allow sl_*
allow str_*
allow FLUSH*
allow I_*
allow M_*
allow MUXID_R*
allow S_*
allow SND*
allow STR*
allow *_t
#endif