|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1097 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1097.
Report 1097 Actions
Problem Report Number 1097 Submitter's Classification Minor System Fault State Resolved Resolution Minor System Fault (MSF) Problem Resolution ID MSF.X.0046 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1995-12-15 08:00 Expiry Date 1996-12-15 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.0.2 Test Identification CAPIsockets/poll 26 27 28 Problem Summary MSF4U.00007 A temporary waiver is requested because because poll does not properly report POLLOUT/POLLIN revents. A workaround is available. Problem Text
A temporary waiver is requested because because poll does not properly
report POLLOUT/POLLIN revents. A workaround is available.
The following test cases are being reported:-
/tset/CAPIsockets/fconnect/fconnect1
/tset/CAPIbase/fpoll/fpoll26
/tset/CAPIbase/fpoll/fpoll27
/tset/CAPIbase/fpoll/fpoll28
This waiver request is to cover the case where the poll() function does not
return the POLLOUT/POLLIN flags in revents when the socket is ready for
writing/reading.
A workaround is to change the value of POLLWRNORM to 0x0104, and the value
of POLLRDNORM to 0x0041 in poll.h.
This failure does not affect program portability because portable applications
will work correctly with the workaround in place.Test Output
/tset/CAPIsockets/fconnect/fconnect1 14:52:17|TC Start, scenario ref 3-1, I Cs
{8}
TCM Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 8
If the implementation supports a communications domain
and a connection-oriented socket type:
After a connection is asynchronously established due
to a call to int connect(int socket, const struct
sockaddr *address, size_t address_len) select() and
poll() shall indicate socket is ready for writing.
PREP: Get VSU_CONNECT_TIMEOUT configuration variable
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 15.14.144.53, port = 1717
PREP: Create three sockets
PREP: Wait for child to be ready
PREP: Connect twice to fill queue
PREP: Set O_NONBLOCK
TEST: connect returns with EINPROGRESS
PREP: Notify child to accept
TEST: Await notification connections completed
TEST: Select reports socket ready to write
TEST: Poll reports socket ready to write
ERROR: Write ready not indicated in revents
PREP: Child: create socket
PREP: Child: bind to socket
PREP: Child: listen on socket with backlog of 2
PREP: Child: tell parent ready
PREP: Child: wait for parent to become ready
PREP: Child: accept queued connections
PREP: Child: accept connection being asynchronously establishe d
PREP: Child: notify parent connections completed
PREP: Child: wait for parent to complete test
FAIL
IC End
TC End
/tset/CAPIbase/fpoll/fpoll26 14:37:35|TC Start, scenario ref 3-1, ICs {26}
TCM Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 26
On a call to int poll(struct pollfd fds[], nfds_t
nfds, int timeout) regular files shall always poll
TRUE for reading and writing.
PREP: Obtain file descriptor for regular file
TEST: Regular file polls TRUE for reading
ERROR: poll returned incorrect value
Expected 1
Received 0
FAIL
IC End
TC End
/tset/CAPIbase/fpoll/fpoll27 15:42:37|TC Start, scenario ref 3-1, ICs {27}
TCM Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 27
If the implementation supports a communications domain
and a connection-oriented socket type:
On a call to int poll(struct pollfd fds[], nfds_t
nfds, int timeout) a socket that is listening for
connections shall indicate that it is ready for
reading once connections are available.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 15.0.65.45, port = 382
9
PREP: Child: wait for parent
PREP: Create a socket
PREP: Connect socket to address 15.0.65.45, port 3829
PREP: Child: wait for parent to complete
CLEANUP: Child: close socket
PREP: Create socket
PREP: Bind to socket
PREP: Call listen for socket
PREP: Signal child parent is ready
PREP: Wait for child to connect
TEST: poll() on a file descriptor with connection indicates rea
dy to read
ERROR: File descriptor not ready to read
Member revents Expected: 192 Received: 0
CLEANUP: Close sockets, kill child
|TEST: AF_UNIX SOCK_STREAM
|PREP: Create test sockaddr_un: path = ../tmp/unix.a04419
PREP: Child: wait for parent
PREP: Create a socket
PREP: Bind address ../tmp/uclient.a04421 to socket
PREP: Connect to address ../tmp/unix.a04419
PREP: Child: wait for parent to complete
CLEANUP: Child: close socket
PREP: Create socket
PREP: Bind to socket
PREP: Call listen for socket
PREP: Signal child parent is ready
TEST: poll() on a file descriptor with connection indicates rea
dy to read
ERROR: File descriptor not ready to read
Member revents Expected: 192 Received: 0
CLEANUP: Close sockets, kill child
FAIL
IC End
/tset/CAPIbase/fpoll/fpoll28 15:45:10|TC Start, scenario ref 3-1, ICs {28}
TCM Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 28
If the implementation supports a communications domain
and a connection-oriented socket type:
On a call to int poll(struct pollfd fds[], nfds_t
nfds, int timeout) a socket that is connecting
asynchronously shall indicate that it is ready for
writing once a connection has been established.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 15.0.65.45, port = 15
PREP: Server: create socket
PREP: Server: bind address 15.0.65.45, port 1517 to socket
PREP: Server: listen on socket
PREP: Server: notify client server is ready
PREP: Server: accept connection
INFO: Server: accepted connection from address 15.0.65.45, por
1061
PREP: echo_server: read and echo data
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
TEST: poll indicates file descriptor ready for writing
PREP: Create a socket
PREP: Connect socket to address 15.0.65.45, port 1517
ERROR: File descriptor not ready to read
Member revents Expected: 256 Received: 0
CLEANUP: Close socket, kill server
TEST: AF_UNIX SOCK_STREAM
PREP: Create test sockaddr_un: path = ../tmp/unix.a04475
PREP: Wait for server to be ready
TEST: poll indicates file descriptor ready for writing
PREP: Create a socket
PREP: Connect to address ../tmp/unix.a04475
ERROR: File descriptor not ready to read
Member revents Expected: 256 Received: 0
CLEANUP: Close socket, kill server
PREP: Server: create socket
PREP: Server: bind address ../tmp/unix.a04475 to socket
PREP: Server: listen on socket
PREP: Server: notify client ready to accept
PREP: Server: accept connection
INFO: Server: accepted connection from address
PREP: echo_server: read and echo data
INFO: Server received signal 15
INFO: Server terminated
FAIL
IC End
EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
Since a workaround is available, a temporary waiver for a minor system
fault is acceptable to us.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Minor System Fault (MSF) Review Conclusion
A Temporary Waiver is granted.
Problem Reporting System Options:
- View Report 1097
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority