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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0129 Actions


    Problem Report Number 0129
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0129
    Raised 1993-12-13 08:00
    Updated 2003-03-13 08:00
    Published 1993-12-21 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 POSIX.os/devclass/c_iflag 20
    Problem Summary TSD4.129 c_iflag 20 This test case fails due to the failure in the previous test case (c_iflag 19). It executes flushes (using tcflush(...., TCIOFLUSH)) on both loop and tty side of its loopback construct, and...
    Problem Text

    c_iflag 20


    This test case fails due to the failure in the previous test case
    (c_iflag 19). It executes flushes (using tcflush(...., TCIOFLUSH)) on
    both loop and tty side of its loopback construct, and expects
    all data to now be removed. This is not the case, however, due
    to the way the loopback is constructed. This test case passes if
    test case 19 is not executed.

    The masters from both the loop side and the tty side are connected
    through the use of two user processes. One process reads from the
    loop side and writes to the tty side, and the other process does the
    opposite. This is where the trouble lies: The previous test case
    finds the "capacity" of the loopback by writing until the write()
    blocks, then reading all the data. Then it floods the loopback
    with this same amount of data, and fails for the reasons mentioned
    in the previous explanation. This leaves the loopback with all
    queues full, and also one of the user process that connects the two
    masters is blocked, waiting to write.

    Now, test case 20 tries to clear the construct, by flushing both the
    tty and loop side. However, this does not remove the data that
    is held by the connecting process which is blocked on write.
    The flushes clear all the queues. The process that had been blocked
    on the write now puts the 47 bytes left over from test case 19 into
    the read queue on the tty side. Thus, test 20 will always see the extra
    47 bytes of data (which is the string that was continually written in
    c_iflag 19), and will always fail.


    Test Output

    ************************************************************************
    /tset/POSIX.os/devclass/c_iflag/T.c_iflag 20 Failed

    Test Description:
    If general terminal interface supported:
    When IGNCR and ICRNL are both clear, a received CR character is not
    altered during input processing.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-27(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having SAME
    parity)
    SET VMIN to 1 and VTIME to 0
    CLEAR ICRNL, IGNCR and ICANON in terminal control flags
    WRITE one character CR to loop back file
    VERIFY that read() from terminal file returned 1
    VERIFY that read() read character CR

    Test Information:
    read() returned 48, expected 1
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is accepted that residual data left over from test 19 affects the
    outcome of test 20. A test suite deficiency is recommended.

    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