HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1469 Details

Help 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 End

    Review 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:

     

    Back   


Contact the Certification Authority