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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0294 Actions


    Problem Report Number 0294
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0010
    Raised 1993-10-22 08:00
    Updated 2003-03-13 08:00
    Published 1993-10-27 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_cflag,c_iflag
    Specification System Interfaces and Headers Issue 4
    Location in Spec See Problem Text
    Linked Problem Reports PG3.609, (in, old, system)
    Problem Summary PIN4.010 Summary of tests failed: POSIX.os/devclass/c_cflag 1,2,3,8,9,10,11 POSIX.os/devclass/c_iflag 6,7,8,9,11 Our system (SVR4 based) does not support locally connected asynchronous terminals. In order to r...
    Problem Text

    Summary of tests failed:

    POSIX.os/devclass/c_cflag 1,2,3,8,9,10,11
    POSIX.os/devclass/c_iflag 6,7,8,9,11

    Our system (SVR4 based) does not support locally connected asynchronous
    terminals. In order to run VSX tests, we use a pseudo-tty loopback (through
    ptycon4) to simulate the hardware terminal interface. Because of the
    limitations on software simulation, hardware related features are not
    supported, such as parity generation/detection, character size.

    The listed failures are all related to the hardware features of a
    asynchronous terminal. For this reason, we request a waiver for the above
    failures.

    Similar problems were encountered in previous releases of VSX for which
    a waiver was granted. See Waivers PG3.609.

    Test Output

    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 1 Failed

    Test Description:
    If general terminal interface supported:
    If a CSIZE of CS5 is supported and CSIZE is set to CS5, characters
    are sent and received as 5 bits, not including the parity bit.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-38(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file setting CS5 in
    CSIZE
    WRITE character with all bits set to terminal file
    WRITE character with all bits set to loop back file
    SLEEP for 2 seconds
    READ from loop back file
    VERIFY character is read in which only 5 bits are set
    READ from terminal file
    VERIFY character is read in which only 5 bits are set

    Test Information:
    sent character incorrectly - expected 037, actual 0377
    received character incorrectly - expected 037, actual 0377
    ************************************************************************

    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 2 Failed

    Test Description:
    If general terminal interface supported:
    If a CSIZE of CS6 is supported and CSIZE is set to CS6, characters
    are sent and received as 6 bits, not including the parity bit.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-39(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file setting CS6 in
    CSIZE
    WRITE character with all bits set to terminal file
    WRITE character with all bits set to loop back file
    SLEEP for 2 seconds
    READ from loop back file
    VERIFY character is read in which only 6 bits are set
    READ from terminal file
    VERIFY character is read in which only 6 bits are set

    Test Information:
    sent character incorrectly - expected 077, actual 0377
    received character incorrectly - expected 077, actual 0377
    ************************************************************************

    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 3 Failed

    Test Description:
    If general terminal interface supported:
    If a CSIZE of CS7 is supported and CSIZE is set to CS7, characters
    are sent and received as 7 bits, not including the parity bit.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-40(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file setting CS7 in
    CSIZE
    WRITE character with all bits set to terminal file
    WRITE character with all bits set to loop back file
    SLEEP for 2 seconds
    READ from loop back file
    VERIFY character is read in which only 7 bits are set
    READ from terminal file
    VERIFY character is read in which only 7 bits are set

    Test Information:
    sent character incorrectly - expected 0177, actual 0377
    received character incorrectly - expected 0177, actual 0377
    ************************************************************************


    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 8 Failed

    Test Description:
    If general terminal interface supported:
    If CREAD is supported and CREAD is clear, no characters shall be
    received.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-45(C)

    Test Strategy:
    OPEN and initialise loop back file
    OPEN and initialise terminal file setting INPCK, IGNPAR and clearing
    CREAD
    WRITE data to loop back file
    SLEEP for 2 seconds
    READ from terminal file
    VERIFY that read() did not return size of data written

    Test Information:
    read() succeeded when expected to fail
    ************************************************************************

    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 10 Failed

    Test Description:
    If general terminal interface supported:
    If PARENB and PARODD are supported and are both set, parity
    generation and detection is odd parity.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-47(C)

    Test Strategy:

    OPEN and initialise loop back file setting PARENB and PARODD
    OPEN and initialise terminal file setting INPCK, IGNPAR, PARENB and
    PARODD
    WRITE data to loop back file
    SLEEP for 2 seconds
    READ from terminal file
    VERIFY that read() returned size of data written
    OPEN and initialise loop back file setting PARENB and clearing PARODD
    OPEN and initialise terminal file setting INPCK, IGNPAR, PARENB and
    PARODD
    WRITE data to loop back file
    SLEEP for 2 seconds
    READ from terminal file
    VERIFY that read() did not return size of data written

    Test Information:
    read() succeeded when expected to fail
    ************************************************************************

    ************************************************************************
    /tset/POSIX.os/devclass/c_cflag/T.c_cflag 11 Failed

    Test Description:
    If general terminal interface supported:
    If PARENB and PARODD are supported, when PARENB is set and PARODD
    is clear, parity generation and detection is even parity.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-48(C)

    Test Strategy:
    OPEN and initialise loop back file setting PARENB and clearing PARODD
    OPEN and initialise terminal file setting INPCK, IGNPAR and PARENB and
    clearing PARODD
    WRITE data to loop back file
    SLEEP for 2 seconds
    READ from terminal file
    VERIFY that read() returned size of data written
    OPEN and initialise loop back file setting PARENB and PARODD
    OPEN and initialise terminal file setting INPCK, IGNPAR and PARENB and
    clearing PARODD
    WRITE data to loop back file
    SLEEP for 2 seconds
    READ from terminal file
    VERIFY that read() returned size of data written

    Test Information:
    read() succeeded when expected to fail
    ************************************************************************

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

    Test Description:
    If general terminal interface supported:
    If PARENB is supported and is set, when IGNPAR is set, a byte with
    a parity error is ignored.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-13(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having opposite
    parity)
    SET VMIN to 0 and VTIME to 10
    SET IGNPAR, INPCK and PARENB in terminal control flags
    CLEAR ICANON in terminal control flags
    WRITE one character '\377' to loop back file
    VERIFY that read() from terminal file returned 0

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

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

    Test Description:
    If general terminal interface supported:
    If PARENB is supported and is set, when PARMRK is set, and IGNPAR
    is clear, a byte with a parity error is read as a three-character
    sequence '\377', '\0' 'X', where X is the character received in
    error.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-15(C)

    Test Strategy:
    FOR ISTRIP clear and set:
    OPEN and initialise terminal file and loop back file (having
    opposite parity)
    SET VMIN to 3 and VTIME to 0
    SET PARMRK, INPCK and PARENB in terminal control flags
    CLEAR IGNPAR and ICANON in terminal control flags
    WRITE one character '\1' to loop back file
    VERIFY that read() from terminal file returned 3
    VERIFY that read() read characters '\377', '\0' and an undefined
    character

    Test Information:
    read() returned -1, expected 3
    errno was set to 4 (EINTR)
    when ISTRIP flag was clear
    read() returned -1, expected 3
    errno was set to 4 (EINTR)
    when ISTRIP flag was set
    ************************************************************************

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

    Test Description:
    If general terminal interface supported:
    If PARENB is supported and is set and INPCK is set, when PARMRK is
    clear, and IGNPAR is clear, a byte with a parity error is read as a
    single NULL character.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-18(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having opposite
    parity)
    SET VMIN to 1 and VTIME to 0
    SET INPCK and PARENB in terminal control flags
    CLEAR PARMRK, IGNPAR and ICANON in terminal control flags
    WRITE one character '\377' to loop back file
    VERIFY that read() from terminal file returned 1
    VERIFY that read() read character '\0'

    Test Information:
    read 0377, expected 0
    ************************************************************************

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

    Test Description:
    If general terminal interface supported:
    If PARENB is supported and is set, when INPCK is set, input parity
    checking is enabled.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-19(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having opposite
    parity)
    SET VMIN to 0 and VTIME to 10
    SET INPCK and PARENB in terminal control flags
    CLEAR IGNPAR and ICANON in terminal control flags
    WRITE one character '\377' to loop back file
    VERIFY that read() from terminal file returned 1
    VERIFY that read() read character '\0'

    Test Information:
    read 0377, expected 0
    ************************************************************************

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

    Test Description:
    If general terminal interface supported:
    If PARENB is supported and is set, when PARMRK is set, and CSIZE is
    set to CS8, and IGNPAR is clear, and ISTRIP is clear, a valid
    character of '\377' is read as '\377', '\377'.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.2-16(C)

    Test Strategy:
    OPEN and initialise terminal file and loop back file (having SAME
    parity)
    SET CS8 in loop back control flags
    SET VMIN to 1 and VTIME to 0
    SET CS8, PARMRK, INPCK and PARENB in terminal control flags
    CLEAR ISTRIP, IGNPAR and ICANON in terminal control flags
    WRITE one character '\377' to loop back file
    VERIFY that read() from terminal file returned 2
    VERIFY that read() read characters '\377', '\377'

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

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is an agreed grey area relating to the use of pseudo-terminals and a
    permannet interpretation is recommended.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A permanent interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority