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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0085 Actions


    Problem Report Number 0085
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0085
    Raised 1993-08-16 08:00
    Updated 2003-03-13 08:00
    Published 1993-09-03 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.2.4
    Test Identification ANSI.os/streamio/fwrite 3
    Linked Problem Reports TSD4.050, (in, old, system)
    Problem Summary TSD4.085 An identical test failure was reported bu another vendor on VSX4.2.3, a waiver has been granted, and a fix in V4.2.4 was provided as an attempt to fix the problem. The fix does not seem to have accomp...
    Problem Text
    An identical test failure was reported bu another vendor on
    VSX4.2.3, a waiver has been granted, and a fix in V4.2.4 was
    provided as an attempt to fix the problem. The fix does not
    seem to have accomplish its objective.

    The test strategy still appears to be incorrect. It assumes
    that pipes will accept data only up to a fixed limit in a single
    non-blocking write. This assumption is not neccessarily correct.
    The test functions as follows:

    [unrelated and successful fwrite > filesize ulimit]
    create pipe, set to nonblock, determine pipe_buf
    "fill the pipe" with writes of pipe_buf/2
    "drain pipe_buf bytes" by reading pipe_buf
    fwrite pipe_buf+24 bytes
    assert write returned > 2 AND < pipe_buf+24

    The fwrite returned exactly pipe_buf+24 which is the number of
    bytes that got written, since there is no set pipe capacity.

    The XPG4 specification on write() says:

    " A write request for more than {PIPE_BUF} bytes will cause one
    of the following:
    a. When at least one byte can be written, transfer what it can and
    return the number of bytes written. ..."

    In our implementation of pipes, if some of the data will fit, then
    all of it is written. This is expected and correct, and does not
    violate any XPG4 assertions.
    Test Output
    /tset/ANSI.os/streamio/fwrite/T.fwrite 3 Failed

    Test Description:
    When fwrite() writes greater than zero bytes but fewer than requested,
    then the error indicator for the stream is set.
    Posix Ref: Component FWRITE Assertion 8.2.3-05(A)

    Test Strategy:
    IF file size limit is supported:
    ...
    ...

    Test Information:
    fwrite() failed to return expected value after fwrite() could only
    write a partial buffer to a non-blocking pipe
    expected (> 0 && < 4120), returned 4120

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is an agreed 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