|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1469 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 1469.
Report 1469 Actions
Problem Report Number 1469 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0751 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1995-11-07 08:00 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 base/poll 25 Problem Summary TSD4U.00062 This test may fail on implementations because CL_BIND is not being passed to unix_client(). Problem Text
This test may fail on implementations because CL_BIND is not being
passed to unix_client().
There are two problems with these test cases:
1) The flag, CL_BIND, should have been passed to unix_client() when
test_unix_socket() calls unix_client().
Without this flag set, unix_client() will not bind an address
to the socket being created. Later on, when test_unix_socket calls
send()/write(), because there is no address bound to it, the server
will not get the sender's address when the recvfrom() returns. The
test function, unix_server() does not check for this condition
and it turns around to echo the data out to a "null" address by
calling sendto(). The call to sendto() actually fails, but again
unix_server does not check for this condition. The client never
receives the data, therefore poll() fails.
2) As I said earlier, unix_server should check for errors in recvfrom()
and sendto().
After adding CL_BIND flag to unix_client() call, all affected test cases
passed.
poll, test case 25
select, test case 2
We request a waiver to cover the above two test cases.
Test Output
----------------- journal log for poll 25 ----------------------------------
520|1 1 8479 1 1|SPEC1170TESTSUITE CASE 25
520|1 1 8479 1 2|If the implementation supports a communications domain
520|1 1 8479 1 3|and a socket type:
520|1 1 8479 1 4|A call to int poll(struct pollfd fds[], nfds_t nfds,
520|1 1 8479 1 5|int timeout) shall support regular files, terminals
520|1 1 8479 1 6|and pseudo-terminal devices, STREAMS-based files,
520|1 1 8479 1 7|sockets, FIFOS and pipes.
520|1 1 8480 1 1|TEST: AF_INET SOCK_STREAM
520|1 1 8480 1 2|PREP: Create test sockaddr_in: address = 15.0.65.49, port = 2461
520|1 1 8480 2 1|PREP: Wait for server to be ready
520|1 1 8480 2 2|PREP: Create a socket
520|1 1 8480 2 3|PREP: Connect socket to address 15.0.65.49, port 2461
520|1 1 8480 2 4|PREP: Send test data
520|1 1 8480 2 5|TEST: Call poll
520|1 1 8480 2 6|CLEANUP: Close socket, kill server
520|1 1 8480 2 7|TEST: AF_UNIX SOCK_STREAM
520|1 1 8480 2 8|PREP: Create test sockaddr_un: path = ../tmp/unix.a08480
520|1 1 8481 1 1|PREP: Server: create socket
520|1 1 8481 1 2|PREP: Server: bind address 15.0.65.49, port 2461 to socket
520|1 1 8481 1 3|PREP: Server: listen on socket
520|1 1 8481 1 4|PREP: Server: notify client server is ready
520|1 1 8481 1 5|PREP: Server: accept connection
520|1 1 8481 1 6|INFO: Server: accepted connection from address 15.0.65.49, port 1270
520|1 1 8481 1 7|PREP: echo_server: read and echo data
520|1 1 8481 1 8|INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
520|1 1 8481 1 9|INFO: Server received signal 15
520|1 1 8481 1 10|INFO: Server terminated
520|1 1 8480 3 1|PREP: Wait for server to be ready
520|1 1 8480 3 2|PREP: Create a socket
520|1 1 8480 3 3|PREP: Connect to address ../tmp/unix.a08480
520|1 1 8480 3 4|PREP: Send test data
520|1 1 8480 3 5|TEST: poll supports AF_UNIX sockets
520|1 1 8480 3 6|CLEANUP: Close socket, kill server
520|1 1 8480 3 7|TEST: AF_INET SOCK_DGRAM
520|1 1 8480 3 8|PREP: Create test sockaddr_in: address = 15.0.65.49, port = 2462
520|1 1 8482 1 1|PREP: Server: create socket
520|1 1 8482 1 2|PREP: Server: bind address ../tmp/unix.a08480 to socket
520|1 1 8482 1 3|PREP: Server: listen on socket
520|1 1 8482 1 4|PREP: Server: notify client ready to accept
520|1 1 8482 1 5|PREP: Server: accept connection
520|1 1 8482 1 6|INFO: Server: accepted connection from address
520|1 1 8482 1 7|PREP: echo_server: read and echo data
520|1 1 8482 1 8|INFO: echo_server: echoed 11 bytes of data (ABC123TEST!)
520|1 1 8482 1 9|INFO: Server received signal 15
520|1 1 8482 1 10|INFO: Server terminated
520|1 1 8480 4 1|PREP: Wait for server to be ready
520|1 1 8480 4 2|PREP: Create a socket
520|1 1 8480 4 3|PREP: Connect socket to address 15.0.65.49, port 2462
520|1 1 8480 4 4|PREP: Send test data
520|1 1 8480 4 5|TEST: Call poll
520|1 1 8480 4 6|CLEANUP: Close socket, kill server
520|1 1 8480 4 7|TEST: AF_UNIX SOCK_DGRAM
520|1 1 8480 4 8|PREP: Create test sockaddr_un: path = ../tmp/unix.a08480
520|1 1 8483 1 1|PREP: Server: create socket
520|1 1 8483 1 2|PREP: Server: bind address 15.0.65.49, port 2462 to socket
520|1 1 8483 1 3|PREP: Server: notify client server is ready
520|1 1 8483 1 4|PREP: Server: read and echo data
520|1 1 8483 1 5|INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is 15.0.65.49, port 1763
520|1 1 8483 1 6|INFO: Server received signal 15
520|1 1 8483 1 7|INFO: Server terminated
520|1 1 8480 5 1|PREP: Wait for server to be ready
520|1 1 8480 5 2|PREP: Create a socket
520|1 1 8480 5 3|PREP: Connect to address ../tmp/unix.a08480
520|1 1 8480 5 4|PREP: Send test data
520|1 1 8480 5 5|TEST: poll supports AF_UNIX sockets
520|1 1 8480 5 6|ERROR: poll failed, errno = 4(EINTR - Interrupted system call)
520|1 1 8480 5 7|PREP: Create pipe
520|1 1 8480 5 8|PREP: Write data to one end of pipe
520|1 1 8480 5 9|TEST: poll supports pipes
520|1 1 8480 5 10|CLEANUP: Close pipe
520|1 1 8480 5 11|PREP: Create fifo
520|1 1 8480 5 12|PREP: Write data to one end of FIFO
520|1 1 8480 5 13|TEST: poll supports FIFOs
520|1 1 8480 5 14|CLEANUP: Remove fifo
520|1 1 8480 5 15|PREP: Open tty (VSU_TERMIOS_TTY)
520|1 1 8480 5 16|TEST: poll supports tty
520|1 1 8480 5 17|CLEANUP: Close terminal
520|1 1 8480 5 18|PREP: Open pseudo ttys
520|1 1 8480 5 19|PREP: Write data to one end of pseudo-tty
520|1 1 8480 5 20|TEST: poll supports pseudo-tty
520|1 1 8480 5 21|CLEANUP: Close pseudo terminal
520|1 1 8480 5 22|PREP: Obtain file descriptor for regular file
520|1 1 8480 5 23|TEST: Regular file polls TRUE for reading
520|1 1 8480 5 24|CLEANUP: Close file
520|1 1 8480 5 25|PREP: Create two streams
520|1 1 8480 5 26|PREP: Create a pipe
520|1 1 8480 5 27|PREP: Determine if pipe is a stream
520|1 1 8480 5 28|PREP: Create a pipe
520|1 1 8480 5 29|PREP: Determine if pipe is a stream
520|1 1 8480 5 30|PREP: Write data into one of the streams
520|1 1 8480 5 31|TEST: poll supports STREAMS-file
520|1 1 8484 1 1|PREP: Server: create socket
520|1 1 8484 1 2|PREP: Server: bind address ../tmp/unix.a08480 to socket
520|1 1 8484 1 3|PREP: Server: notify client server is ready
520|1 1 8484 1 4|PREP: Server: read and echo data
520|1 1 8484 1 5|INFO: Server: echoed 11 bytes of data (ABC123TEST!), peer is
520|1 1 8484 1 6|INFO: Server received signal 15
520|1 1 8484 1 7|INFO: Server terminated
220|1 1 1 13:36:23|FAIL
410|1 25 1 13:36:23|IC End
80|1 0 13:36:23|TC End
-------------journal file for select 2 ----------------------------------------
110|0 /tset/CAPIbase/fselect/fselect2 13:35:14|Build Start, scenario ref 3-1
130|0 0 13:35:16|Build End
10|1 /tset/CAPIbase/fselect/fselect2 13:35:16|TC Start, scenario ref 3-1, ICs {2}
15|1 1.10 1|TCM Start
400|1 2 1 13:35:17|IC Start
200|1 1 13:35:17|TP Start
520|1 1 8421 1 1|SPEC1170TESTSUITE CASE 2
520|1 1 8421 1 2|A call to int select(int nfds, fd_set *readfds, fd_set
520|1 1 8421 1 3|*writefds, fd_set *exceptfds, const struct timeval
520|1 1 8421 1 4|*timeout) when readfds is not a null pointer shall
520|1 1 8421 1 5|check each regular file, terminal, pseudo-terminal
520|1 1 8421 1 6|device, STREAMS-based file, sockets, FIFOs and pipes
520|1 1 8421 1 7|file descriptor less than nfds specified by a bit set
520|1 1 8421 1 8|in the structure pointed to by readfds and set the
520|1 1 8421 1 9|corresponding bit in the structure pointed to by
520|1 1 8421 1 10|readfds when the file descriptor is ready to read.
520|1 1 8422 1 1|TEST: AF_INET SOCK_STREAM
520|1 1 8422 1 2|PREP: Create test sockaddr_in: address = 15.0.65.49, port = 4573
520|1 1 8423 1 1|PREP: Server: create socket
520|1 1 8423 1 2|PREP: Server: bind address 15.0.65.49, port 4573 to socket
520|1 1 8423 1 3|PREP: Server: listen on socket
520|1 1 8423 1 4|PREP: Server: notify client server is ready
520|1 1 8423 1 5|PREP: Server: accept connection
520|1 1 8423 1 6|INFO: Server: accepted connection from address 15.0.65.49, port 1269
520|1 1 8423 1 7|PREP: echo_server: read and echo data
520|1 1 8423 1 8|INFO: echo_server: echoed 10 bytes of data (write data)
520|1 1 8423 1 9|INFO: Server received signal 15
520|1 1 8423 1 10|INFO: Server terminated
520|1 1 8422 2 1|PREP: Wait for server to be ready
520|1 1 8422 2 2|PREP: Create a socket
520|1 1 8422 2 3|PREP: Connect socket to address 15.0.65.49, port 4573
520|1 1 8422 2 4|PREP: Write data into socket
520|1 1 8422 2 5|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 2 6|CLEANUP: Close socket, kill server
520|1 1 8422 2 7|TEST: AF_UNIX SOCK_STREAM
520|1 1 8422 2 8|PREP: Create test sockaddr_un: path = ../tmp/unix.a08422
520|1 1 8424 1 1|PREP: Server: create socket
520|1 1 8424 1 2|PREP: Server: bind address ../tmp/unix.a08422 to socket
520|1 1 8424 1 3|PREP: Server: listen on socket
520|1 1 8424 1 4|PREP: Server: notify client ready to accept
520|1 1 8424 1 5|PREP: Server: accept connection
520|1 1 8424 1 6|INFO: Server: accepted connection from address
520|1 1 8424 1 7|PREP: echo_server: read and echo data
520|1 1 8424 1 8|INFO: echo_server: echoed 10 bytes of data (write data)
520|1 1 8424 1 9|INFO: Server received signal 15
520|1 1 8424 1 10|INFO: Server terminated
520|1 1 8422 3 1|PREP: Wait for server to be ready
520|1 1 8422 3 2|PREP: Create a socket
520|1 1 8422 3 3|PREP: Connect to address ../tmp/unix.a08422
520|1 1 8422 3 4|PREP: Write data into socket
520|1 1 8422 3 5|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 3 6|CLEANUP: Close socket, kill server
520|1 1 8422 3 7|TEST: AF_INET SOCK_DGRAM
520|1 1 8422 3 8|PREP: Create test sockaddr_in: address = 15.0.65.49, port = 4574
520|1 1 8425 1 1|PREP: Server: create socket
520|1 1 8425 1 2|PREP: Server: bind address 15.0.65.49, port 4574 to socket
520|1 1 8425 1 3|PREP: Server: notify client server is ready
520|1 1 8425 1 4|PREP: Server: read and echo data
520|1 1 8425 1 5|INFO: Server: echoed 10 bytes of data (write data), peer is 15.0.65.49, port 1762
520|1 1 8425 1 6|INFO: Server received signal 15
520|1 1 8425 1 7|INFO: Server terminated
520|1 1 8422 4 1|PREP: Wait for server to be ready
520|1 1 8422 4 2|PREP: Create a socket
520|1 1 8422 4 3|PREP: Connect socket to address 15.0.65.49, port 4574
520|1 1 8422 4 4|PREP: Write data into socket
520|1 1 8422 4 5|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 4 6|CLEANUP: Close socket, kill server
520|1 1 8422 4 7|TEST: AF_UNIX SOCK_DGRAM
520|1 1 8422 4 8|PREP: Create test sockaddr_un: path = ../tmp/unix.a08422
520|1 1 8422 5 1|PREP: Wait for server to be ready
520|1 1 8422 5 2|PREP: Create a socket
520|1 1 8422 5 3|PREP: Connect to address ../tmp/unix.a08422
520|1 1 8422 5 4|PREP: Write data into socket
520|1 1 8422 5 5|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 6|ERROR: Descriptors are not set correctly:
520|1 1 8422 5 7| Expected descriptor 8 set
520|1 1 8422 5 8| Received descriptor 8 clear
520|1 1 8422 5 9|PREP: Create pipe
520|1 1 8422 5 10|PREP: Write data into pipe
520|1 1 8422 5 11|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 12|CLEANUP: Close pipe
520|1 1 8422 5 13|PREP: Create fifo
520|1 1 8422 5 14|PREP: Write data into fifo
520|1 1 8422 5 15|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 16|CLEANUP: Remove fifo
520|1 1 8422 5 17|PREP: Open pseudo ttys
520|1 1 8422 5 18|PREP: Write data into pty
520|1 1 8422 5 19|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 20|CLEANUP: Close pseudo terminal
520|1 1 8422 5 21|PREP: Create file
520|1 1 8422 5 22|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 23|CLEANUP: Close file
520|1 1 8422 5 24|PREP: Create a pipe
520|1 1 8422 5 25|PREP: Determine if pipe is a stream
520|1 1 8422 5 26|PREP: Write data into STREAM
520|1 1 8422 5 27|TEST: select checks readfds and sets appropriate bits
520|1 1 8422 5 28|CLEANUP: Close STREAM
520|1 1 8426 1 1|PREP: Server: create socket
520|1 1 8426 1 2|PREP: Server: bind address ../tmp/unix.a08422 to socket
520|1 1 8426 1 3|PREP: Server: notify client server is ready
520|1 1 8426 1 4|PREP: Server: read and echo data
520|1 1 8426 1 5|INFO: Server: echoed 10 bytes of data (write data), peer is
220|1 1 1 13:35:34|FAIL
410|1 2 1 13:35:34|IC End
80|1 0 13:35:34|TC EndReview 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.
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 1469
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority