|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1395 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 1395.
Report 1395 Actions
Problem Report Number 1395 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0677 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1996-07-31 08:00 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification base/poll 25 Problem Summary TSD4U.00138 This test may fail on implementations because CL_BIND is not being passed to unix_client(). Problem Text
We are seeing the same behaviour on our implementation for
poll#25 and select#2 as referenced in TSD4U.00062, however
the journal for poll#25 is slightly different. For the
AF_UNIX SOCK_DGRAM test:
We see
ERROR: poll returned 0 (call timed out)
The journal in TSD4U.00062 contains
ERROR: poll failed, errno = 4 (EINTR - Interrupted system call)
However the cause is the same, the CL_BIND flag was not set
when unix_client() is called.
Our journal for select#2 is the same as contained in TSD4U.00062,
I have included it here for completeness.
Please note, the journal for poll#25 contains 2 unrelated errors
for tty ERROR: open failed, errno = 139(EPERM - Not owner)
and for STREAMS
and the select#2 journal contains the same STREAMS failure.
These are unrelated to and do not affect the behaviour covered
in this IR.Test Output
TEST CASE: poll
TEST PURPOSE #25
If the implementation supports a communications domain
and a socket type:
A call to int poll(struct pollfd fds[], nfds_t nfds,
int timeout) shall support regular files, terminals
and pseudo-terminal devices, STREAMS-based files,
sockets, FIFOS and pipes.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 198.151.241.50, port = 2509
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect socket to address 198.151.241.50, port 2509
PREP: Send test data
TEST: poll AF_INET socket for POLLIN
CLEANUP: Close socket, kill server
TEST: AF_UNIX SOCK_STREAM
PREP: Create test sockaddr_un: path = ../tmp/unix.cGFGxQ
PREP: Server: create socket
PREP: Server: bind address 198.151.241.50, port 2509 to socket
PREP: Server: listen on socket
PREP: Server: notify client server is ready
PREP: Server: accept connection
INFO: Server: accepted connection from address 198.151.241.50, port 1026
PREP: echo_server: read and echo data
INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
INFO: echo_server: recv returned -1, errno = 1121(ECONNRESET - Connection reset)
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect to address ../tmp/unix.cGFGxQ
PREP: Send test data
TEST: poll AF_UNIX socket for POLLIN
CLEANUP: Close socket, kill server
TEST: AF_INET SOCK_DGRAM
PREP: Create test sockaddr_in: address = 198.151.241.50, port = 2510
PREP: Server: create socket
PREP: Server: bind address ../tmp/unix.cGFGxQ to socket
PREP: Server: listen on socket
PREP: Server: notify client ready to accept
PREP: Server: accept connection
INFO: Server: accepted connection from address H
PREP: echo_server: read and echo data
INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect socket to address 198.151.241.50, port 2510
PREP: Send test data
TEST: poll AF_INET socket for POLLIN
CLEANUP: Close socket, kill server
TEST: AF_UNIX SOCK_DGRAM
PREP: Create test sockaddr_un: path = ../tmp/unix.fDBhxQ
PREP: Server: create socket
PREP: Server: bind address 198.151.241.50, port 2510 to socket
PREP: Server: notify client server is ready
PREP: Server: read and echo data
INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is 198.151.241.50, port 1026
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect to address ../tmp/unix.fDBhxQ
PREP: Send test data
TEST: poll AF_UNIX socket for POLLIN
ERROR: poll returned 0 (call timed out)
PREP: Create pipe
PREP: Write data to one end of pipe
TEST: poll other end of pipe for POLLIN
CLEANUP: Close pipe
PREP: Create fifo
PREP: Write data to one end of FIFO
TEST: poll other end of FIFO for POLLIN
CLEANUP: Remove fifo
PREP: Open tty (VSU_TERMIOS_TTY)
ERROR: open failed, errno = 139(EPERM - Not owner)
PREP: Open pseudo ttys
PREP: Write data to one end of pseudo-tty
TEST: poll pseudo-tty for POLLIN
CLEANUP: Close pseudo terminal
PREP: Obtain file descriptor for regular file
TEST: Regular file polls TRUE for reading
CLEANUP: Close file
PREP: Create a streams
PREP: Create a pipe
PREP: Determine if pipe is a stream
INFO: Pipes are not STREAMs on this implementation
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Neither pipes nor pseudo terminals are STREAMS
based on this implementation. The sample code
in $TET_ROOT/CAPI/SRC/LIB/capi_user/sreflect.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
PREP: Server: create socket
PREP: Server: bind address ../tmp/unix.fDBhxQ to socket
PREP: Server: notify client server is ready
PREP: Server: read and echo data
INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is
INFO: Server received signal 15
INFO: Server terminated
25 FAIL
TEST CASE: select
TEST PURPOSE #2
A call to int select(int nfds, fd_set *readfds, fd_set
*writefds, fd_set *exceptfds, const struct timeval
*timeout) when readfds is not a null pointer shall
check each regular file, terminal, pseudo-terminal
device, STREAMS-based file, sockets, FIFOs and pipes
file descriptor less than nfds specified by a bit set
in the structure pointed to by readfds and set the
corresponding bit in the structure pointed to by
readfds when the file descriptor is ready to read.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 198.151.241.50, port = 64117
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect socket to address 198.151.241.50, port 64117
PREP: Write data into socket
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close socket, kill server
TEST: AF_UNIX SOCK_STREAM
PREP: Create test sockaddr_un: path = ../tmp/unix.EfADxQ
PREP: Server: create socket
PREP: Server: bind address 198.151.241.50, port 64117 to socket
PREP: Server: listen on socket
PREP: Server: notify client server is ready
PREP: Server: accept connection
INFO: Server: accepted connection from address 198.151.241.50, port 1042
PREP: echo_server: read and echo data
INFO: echo_server: echoed 10 bytes of data (write data)
INFO: echo_server: recv returned -1, errno = 1121(ECONNRESET - Connection reset)
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect to address ../tmp/unix.EfADxQ
PREP: Write data into socket
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close socket, kill server
TEST: AF_INET SOCK_DGRAM
PREP: Create test sockaddr_in: address = 198.151.241.50, port = 64118
PREP: Server: create socket
PREP: Server: bind address ../tmp/unix.EfADxQ to socket
PREP: Server: listen on socket
PREP: Server: notify client ready to accept
PREP: Server: accept connection
INFO: Server: accepted connection from address 5
PREP: echo_server: read and echo data
INFO: echo_server: echoed 10 bytes of data (write data)
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect socket to address 198.151.241.50, port 64118
PREP: Write data into socket
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close socket, kill server
TEST: AF_UNIX SOCK_DGRAM
PREP: Create test sockaddr_un: path = ../tmp/unix.cFfcxQ
PREP: Server: create socket
PREP: Server: bind address 198.151.241.50, port 64118 to socket
PREP: Server: notify client server is ready
PREP: Server: read and echo data
INFO: Server: echoed 10 bytes of data (write data), peer is 198.151.241.50, port 1036
INFO: Server received signal 15
INFO: Server terminated
PREP: Wait for server to be ready
PREP: Create a socket
PREP: Connect to address ../tmp/unix.cFfcxQ
PREP: Write data into socket
TEST: select checks readfds and sets appropriate bits
ERROR: Descriptors are not set correctly:
Expected descriptor 8 set
Received descriptor 8 clear
PREP: Create pipe
PREP: Write data into pipe
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close pipe
PREP: Create fifo
PREP: Write data into fifo
TEST: select checks readfds and sets appropriate bits
CLEANUP: Remove fifo
PREP: Open pseudo ttys
PREP: Write data into pty
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close pseudo terminal
PREP: Create file
TEST: select checks readfds and sets appropriate bits
CLEANUP: Close file
PREP: Create a pipe
PREP: Determine if pipe is a stream
INFO: Pipes are not STREAMs on this implementation
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Neither pipes nor pseudo terminals are STREAMS
based on this implementation. The sample code
in $TET_ROOT/CAPI/SRC/LIB/capi_user/sreflect.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
PREP: Server: create socket
PREP: Server: bind address ../tmp/unix.cFfcxQ to socket
PREP: Server: notify client server is ready
PREP: Server: read and echo data
INFO: Server: echoed 10 bytes of data (write data), peer is
2 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed.
Although this request would normally be refused as a duplicate of
TSD4U.00062 the test logic changed between 4.0.2 and 4.1.0. The
output in TSD4U.00062 is what would be expected when running
4.0.2. The output here is expected when running 4.1.0. Since
4.0.2 is no longer a valid indicator of compliance we suggest
this be request approved and TSD4U.00062 no longer be allowed
as a waiver for 4.1.0.
Please note that our agreement for poll #25 is with regard
to the error
ERROR: poll returned 0 (call timed out)
not the error
ERROR: open failed, errno = 139(EPERM - Not owner)
An additional waiver is required for this error.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 1395
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority