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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1560 Actions


    Problem Report Number 1560
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0842
    Raised 2001-07-17 08:00
    Updated 2003-03-13 08:00
    Published 2001-07-20 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.1.2
    Test Identification CAPI.os/ioprim/read 5, 6
    Problem Summary TSD4U.00303 The tests may fail on fast systems as they do not allow time for the messages to reach the STREAM head.
    Problem Text

    In all four test cases, the test opens a master and slave pseudo
    tty, set the STREAM to message-discard, set O_NONBLOCK on the
    read end of STREAM, put two messages on the stream, and finally read
    both messages back. Each assertion fails when trying to read back the
    second message from the stream, setting errno to 11 (EAGAIN) - Resource
    temporarily unavailable.

    The reason for the failure is that on faster machines with more than
    one processor, the second read, or readv, is executed before the
    message has had time to make it to the stream head. This causes the
    read, readv, and the assertion to fail since no message is on the
    queue.

    If a sleep is added between the first and second calls to read/readv
    then the assertion passes. Since VSU is setting O_NONBLOCK,
    it should wait for enough time so that all the messages can properly
    make their way onto the stream queue.

    Test Output
    **************************************************************************
    /tset/CAPI.os/ioprim/read/T.read 5 Failed

    Test Description:
    Base Required Conformance
    A call to ssize_t read(int fildes, void *buf, size_t nbyte) when
    fildes refers to a STREAMS file in message-discard mode shall retrieve
    data until nbyte bytes are transferred or a message boundary is
    reached.

    Test Information:
    PREP: Set STREAM to message-discard mode
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put two messages on the STREAM
    TEST: Reads until nbytes are read
    TEST: Reads until end of message
    ERROR: read return value incorrect
    Expected 256
    Received -1

    **************************************************************************


    **************************************************************************
    /tset/CAPI.os/ioprim/read/T.read 6 Failed

    Test Description:
    Base Required Conformance
    A call to ssize_t read(int fildes, void *buf, size_t nbyte) when
    fildes refers to a STREAMS file in message-discard mode shall discard
    unread data remaining in a message.

    Test Information:
    PREP: Set STREAM to message-discard mode
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put two messages on the STREAM
    PREP: Read half of first message
    TEST: Tail of first message is discarded
    ERROR: read return value incorrect
    Expected 256
    Received -1

    **************************************************************************

    **************************************************************************
    /tset/CAPI.os/ioprim/readv/T.readv 28 Failed

    Test Description:
    Base Required Conformance
    A call to ssize_t readv(int fildes, const struct iovec *iov, int
    iovcnt) when fildes refers to a STREAMS file in message-discard mode
    shall retrieve data until the buffers provided are full or a message
    boundary is reached.

    Test Information:
    PREP: Set STREAM to message-discard mode
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put two messages on the STREAM
    TEST: Reads until nbytes are read
    TEST: Reads until end of message
    ERROR: readv return value incorrect

    Expected 256
    Received -1

    **************************************************************************

    **************************************************************************
    /tset/CAPI.os/ioprim/readv/T.readv 29 Failed

    Test Description:
    Base Required Conformance
    A call to ssize_t readv(int fildes, const struct iovec *iov, int
    iovcnt) when fildes refers to a STREAMS file in message-discard mode
    shall discard unread data remaining in a message.

    Test Information:
    PREP: Set STREAM to message-discard mode
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put two messages on the STREAM
    PREP: Read half of first message
    TEST: Tail of first message is discarded
    ERROR: readv return value incorrect
    Expected 256
    Received -1

    **************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is accepted as a fault in the test suite.

    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