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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1264 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 1264.


Report 1264 Actions


    Problem Report Number 1264
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0546
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1999-04-23 08:00
    Product Standard Sockets (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.3
    Test Identification CAPIsockets/send 27
    Problem Summary TSD4U.00272 This test may fail (if datagram sockets cannot be filled on the implementation).
    Problem Text
    This IR is for the following tests:

    Sockets: send 27
    Sockets: sendto 44
    Sockets: sendmsg 46

    These tests are supposed to fill up the send socket and then test that send()
    blocks. However, on our implementation the send socket never gets full. In
    these tests both sockets are datagram sockets. It is common practice (reference:
    TCP/IP, Illustrated Vol2) to pass the message immediately to the protocol
    where it is queued for transmission on the the appropriate network device.
    This in effect means no data is stored in the send buffer directly. These
    tests send messages that are not greater than the maximum buffer size and
    thus get sent directly to the protocol layer.

    Note; that there is an error in these tests, the following line is incorrect.

    sprintf(ebuf, " Expected -1 %d Received: %d\n", ret);

    The first "%d" should be deleted.
    Test Output
    TEST CASE: send

    TEST PURPOSE #27
    If the implementation supports a communications domain
    and a socket type and allows the option to be set:
    The SO_SNDTIMEO option shall define the amount of time
    to block because flow control prevents data from
    being sent for a call to ssize_t send(int socket,
    const void *buffer, size_t length, int flags).
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 9.3.155.183, port = 2237
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.183, port 2237
    PREP: See if SO_SNDTIMEO is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    CLEANUP: Have server flush data
    CLEANUP: Close socket, kill server
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.ZasfUa
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.183, port 2237 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 9.3.155.183, port 32918
    PREP: sleep_server: wait for parent to complete test
    INFO: sleep_server: parent completed test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Bind address ../tmp/uclient.ZdsfUb to socket
    PREP: Connect to address ../tmp/unix.ZasfUa
    PREP: Set O_NONBLOCK
    PREP: See if SO_SNDTIMEO is supported
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    CLEANUP: Have server flush data
    CLEANUP: Close socket, kill server
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 9.3.155.183, port = 2238
    PREP: Server: create socket
    PREP: Server: bind address ../tmp/unix.ZasfUa to socket
    PREP: Server: listen on socket
    PREP: Server: notify client ready to accept
    PREP: Server: accept connection
    INFO: Server: accepted connection from address ../tmp/uclient.ZdsfUb
    PREP: sleep_server: wait for parent to complete test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.183, port 2238 to socket
    PREP: Server: notify client server is ready
    PREP: Server: wait for parent to complete test
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.183, port 2238
    PREP: See if SO_SNDTIMEO is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    ERROR: Socket did not fill after 2000 messages
    CLEANUP: Have server flush data
    ERROR: Test took longer than 1200 seconds: presuming
    function is hung and terminating test
    27 FAIL


    TEST CASE: sendto

    TEST PURPOSE #44
    If the implementation supports a communications domain
    and a socket type and allows the option to be set:
    The SO_SNDTIMEO option shall define the amount of time
    to block because flow control prevents data from
    being sent for a call to ssize_t sendto(int socket,
    const void *message, size_t length, int flags, const
    struct sockaddr *dest_addr, size_t dest_len).
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 9.3.155.183, port = 4369
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.183, port 4369 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 9.3.155.183, port 32937
    PREP: sleep_server: wait for parent to complete test
    INFO: sleep_server: parent completed test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.183, port 4369
    PREP: See if SO_SNDTIMEO is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    CLEANUP: Have server flush data
    CLEANUP: Close socket, kill server
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.s6soEa
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Bind address ../tmp/uclient.s9soEb to socket
    PREP: Connect to address ../tmp/unix.s6soEa
    PREP: Set O_NONBLOCK
    PREP: See if SO_SNDTIMEO is supported
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    CLEANUP: Have server flush data
    CLEANUP: Close socket, kill server
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 9.3.155.183, port = 4370
    PREP: Server: create socket
    PREP: Server: bind address ../tmp/unix.s6soEa to socket
    PREP: Server: listen on socket
    PREP: Server: notify client ready to accept
    PREP: Server: accept connection
    INFO: Server: accepted connection from address ../tmp/uclient.s9soEb
    PREP: sleep_server: wait for parent to complete test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated
    INFO: Server received signal 15
    INFO: Server terminated
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.183, port 4370
    PREP: See if SO_SNDTIMEO is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    ERROR: Socket did not fill after 2000 messages
    CLEANUP: Have server flush data
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.183, port 4370 to socket
    PREP: Server: notify client server is ready
    PREP: Server: wait for parent to complete test
    INFO: Server terminated
    ERROR: Test took longer than 1200 seconds: presuming
    function is hung and terminating test
    44 FAIL

    TEST CASE: sendmsg

    TEST PURPOSE #46
    If the implementation supports a communications domain
    and a socket type and allows the option to be set:
    The SO_SNDTIMEO option shall define the amount of time
    to block because flow control prevents data from
    being sent for a call to ssize_t sendmsg(int socket,
    const struct msghdr *message, int flags).
    TEST: AF_INET SOCK_STREAM
    PREP: Create test sockaddr_in: address = 9.3.155.181, port = 3745
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 9.3.155.181, port 3745
    PREP: Check if option is supported
    PREP: Set O_NONBLOCK
    PREP: Fill up the server
    PREP: Clear O_NONBLOCK on socket
    PREP: Call setsockopt to set timeout value
    TEST: Call to send times out as set
    ERROR: Call to send did not timeout as expected
    Expected -1 12 Received: 53296
    CLEANUP: Have server flush data
    PREP: Server: create socket
    PREP: Server: bind address 9.3.155.181, port 3745 to socket
    PREP: Server: listen on socket
    PREP: Server: notify client server is ready
    PREP: Server: accept connection
    INFO: Server: accepted connection from address 9.3.155.181, port 32929
    PREP: sleep_server: wait for parent to complete test
    INFO: sleep_server: parent completed test
    CLEANUP: sleep_server: flush data
    INFO: Server terminated
    INFO: Server received signal 15
    INFO: Server terminated
    46 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    For send 27 and sendto 44:

    We agree this is a test suite deficiency in the test suite versions listed.

    For sendmsg 46:

    This appears to be an unrelated failure - it is occurring on a stream
    socket and at a different point in the test. We beleive this is an
    implementation issue and this waiver does NOT apply to sendmsg 46.

    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. This TSD applies to
    send 27 and sendto 44 tests only.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority