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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0190 Actions


    Problem Report Number 0190
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0190
    Raised 1994-09-22 08:00
    Updated 2003-03-13 08:00
    Published 1994-09-28 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.4
    Test Identification POSIX.os/ioprim/write 18
    Problem Summary TSD4.190 The VSX 4 /tset/Posix.os/ioprim/write/T.write test 18 test is flawed in its methodology. The corresponding text from Posix 1003.1-1990 (Section 6.4.2.2, page 120, section 4(b) reads: (b) A write reque...
    Problem Text
    The VSX 4 /tset/Posix.os/ioprim/write/T.write test 18 test
    is flawed in its methodology. The corresponding text from
    Posix 1003.1-1990 (Section 6.4.2.2, page 120, section 4(b)
    reads:

    (b) A write request for {PIPE_BUF} or fewer bytes shall either:

    [1] If there is sufficient space available in the pipe, transfer
    all the data and return the number of bytes requested.

    [2] If there is not sufficient space available in the pipe,
    transfer no data and return -1 with errno set to [EAGAIN].


    Under the definition for {PIPE_BUF} (page 36, Table 2-6, last
    item:

    {PIPE_BUF} Maximum number of bytes that can be written
    atomically when writing to a pipe.


    Posix 1003.1-1990 does not describe the underlying buffering
    mechanism for a pipe, and only specifies the behavior of a single
    write with respect to {PIPE_BUF}. This test *might* succeed
    and validate that write() returns EAGAIN (if there is not sufficient
    space in the pipe, which is not necessarily equivalent to PIPE_BUF)
    if the total space available happens to exactly equal PIPE_BUF. If
    not, the test is indeterminate.

    In short, the VSX4 test is not sufficient to test the semantics of
    O_NONBLOCK in the context of write and {PIPE_BUF}.

    Test Output
    ************************************************************************
    /tset/POSIX.os/ioprim/write/T.write 18 Failed

    Test Description:
    For the XNFS specification:
    Not in use.
    For the XSH specification:
    EAGAIN in errno and -1 returned by write() if the flag O_NONBLOCK
    is set and nbytes is less than or equal to {PIPE_BUF} and there is
    insufficient space in the pipe or FIFO.
    Posix Ref: Component WRITE Assertion 6.4.2.4-26(A)

    Test Strategy:
    OBTAIN pipe_buf from pathconf(_PC_PIPE_BUF)
    REPEAT for FIFO and pipe:
    WRITE to FIFO/pipe until no more data can be transferred
    SET O_NONBLOCK for write file descriptor
    READ (pipe_buf - 1) bytes from FIFO/pipe
    WRITE pipe_buf bytes to FIFO/pipe
    VERIFY write() returns -1 and sets errno to EAGAIN

    Test Information:
    write(7, buf, 8192) failed
    RETURN VALUES: expected: -1, observed: 8192
    ERRNO VALUES: expected: 11 (EAGAIN), observed: 0 (NO ERROR)
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is accepted that this is a test suite problem and it is recommended
    that a waiver is granted on the grounds of a test suite deficiency.

    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