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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0265 Actions


    Problem Report Number 0265
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0265
    Raised 1997-08-14 08:00
    Updated 2003-03-13 08:00
    Published 1997-08-19 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.4.2
    Test Identification POSIX.os/devclass/c_iflag 20
    Problem Summary TSD4.265 Our system does not support locally connected asynchronous terminals. The VSX test suite is configured to use pseudo-terminals to emulate the general terminal interface. Test #19 fails on our implemen...
    Problem Text
    Our system does not support locally connected asynchronous terminals.
    The VSX test suite is configured to use pseudo-terminals to emulate the
    general terminal interface. Test #19 fails on our implementation and is
    covered by PIN4.015. The problem is that the failure in test #19 is
    causing test #20 to fail also. In fact the test suite hangs on our
    implementation on c_iflag[20] and the test must be manually killed.
    If test #20 is run alone or if tests #1-18,20 are run it will pass.

    In looking at the code for test #19, flow control is disabled and then the
    input queue is filled. It then attempts to read the STOP character, which
    fails on our implementation, and returns - leaving the input queue full.
    I added code (1 line) to read all the data in the input queue prior to
    returning which caused test #20 to pass. It seems something needs to be
    done to prevent this intra-test dependency.

    Test Output
    ************************************************************************

    /tset/POSIX.os/devclass/c_iflag/T.c_iflag 19 Failed

    Test Description:
    If general terminal interface supported:
    When IXOFF is set the system shall transmit one or more STOP
    characters as needed to prevent the number of characters in the
    input queue from exceeding its capacity. The system shall transmit
    one or more START characters as needed to start transmitting data.
    CONDITIONAL: If _POSIX_MAX_INPUT <= MAX_INPUT <= PCTS_MAX_INPUT
    assertion is base (type C) otherwise assertion is extended (type
    D).
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-32(C:D)
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-33(C:D)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having SAME
    parity)
    OBTAIN max_input from fpathconf(tty_fildes, _PC_MAX_INPUT)
    SET IXON, VMIN=0 and VTIME=10 in loop back control flags
    CLEAR ICANON in loop back control flags
    SET IXOFF, VMIN=0 and VTIME=10 in terminal control flags
    CLEAR ICANON in terminal control flags
    CREATE child process
    UNTIL a timeout occurs
    SET TIMEOUT of WAITTIME/2 seconds
    WRITE string to loop back file
    FLUSH output queue on loop back file using tcflush(fd, TCOFLUSH)
    READ entire input queue from terminal file
    SET capacity to the greater of the number of bytes read and
    max_input
    CLEAR IXON in loop back control flags
    UNTIL capacity bytes have been written
    WRITE string to loop back file
    SLEEP to allow data to transfer to terminal file
    READ from loop back file
    VERIFY that read() read at least one STOP character
    UNTIL capacity bytes have been read or a read error occurs
    READ from terminal file
    VERIFY that capacity bytes in total were read
    SLEEP to allow data to transfer to loop back file
    READ from loop back file
    VERIFY that read() read at least one START character

    Test Information:
    after input queue filled to 282 bytes, attempt
    to read() STOP character(s) returned 0, expected >= 1

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

    ************************************************************************
    /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 -1, expected 1
    errno was set to 4 (EINTR)

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

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is clear from the evidence provided that the failure of test 20 is caused
    by some unexpected data remaining from or event having occurred in test 19.
    On this basis it is recommended that a waiver is granted for test 20 on the
    grounds of a Test Suite Deficiency,

    However, it is unclear what has caused the problem in test 19. Test 20 issues
    data flushes on both sending and receiving ends of the tty interface before the
    test starts. Indeed, it undertakes this action twice to ensure that no timing
    dependencies affect the flush. The fact that the read in test 20 blocks while
    waiting for data suggests that the process generated by rdwr() has terminated.
    The reason for this processes termination is unknown and it will not be possible
    to provide a correction for this "fault" unless more specific information about
    the cause of the problem is available.

    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