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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0467 Actions


    Problem Report Number 0467
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0086
    Raised 1994-08-05 08:00
    Updated 2003-03-13 08:00
    Published null
    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/devclass/Mtcgetattr 1,2
    Linked Problem Reports TSD4.136, TSD4.171, (in, old, system)
    Problem Summary PG4R.087 X/OPEN CAE Specification, System Interfaces and Headers, Issue 4, on tcgetattr, page 457 stated: "If the terminal device does not support split baud rates, the input baud rate stored in the termios st...
    Problem Text

    X/OPEN CAE Specification, System Interfaces and Headers, Issue 4, on
    tcgetattr, page 457 stated:

    "If the terminal device does not support split baud rates, the input baud
    rate stored in the termios structure will be zero."

    POSIX-Part 1: System Application Program Interface (API), IEEE std 1003.1
    first edition 1990-12-07, Section 7.2.1.2, page 143 stated:

    "If differing baud rates are not supported, the rate returned as the
    output baud rate shall be the actual baud rate. The rate returned as the
    input baud rate shall be either the number zero or the output rate ...".

    Our implementation does not support split baud rates. We chose to return
    zero for the input baud rate both to conform to the tcgetattr extension
    in the X/OPEN CAE Specification and to maintain compatibility for
    applications which used the following sequence to change the baud rate:

    * tcgetattr
    * set CBAUD bits in the termios structure's c_cflag by referencing
    them explicitly or by calling cfsetospeed.
    * tcsetattr

    With the POSIX.1-1990 tcsetattr behavior, this would return an error if
    tcgetattr did not return zero for the input baud rate. Under the previous
    version of POSIX.1, it was "implementation-defined" whether tcsetattr would
    return an error when split baud rates are not supported and the input baud
    is non-zero and not equal to the output baud. Our previous releases
    ignored the input baud rate, and used only the output baud rate. This was
    compliant to the older revision of the POSIX.1 specification, and allowed
    the sequence above to work even if the input baud rate returned by
    tcgetattr was non-zero. Returning zero for the input speed allows us to
    implement the POSIX.1-1990 tcsetattr bahavior while not breaking the
    sequence of steps above for setting the baud rate.

    The test uses cfgetispeed to get the input speed and cfgetospeed to get the
    output speed in the termios structure. Each of the result is compared with the
    VSX_TERMIOS_SPEED set in the tetexec.cfg file. (VSX_TERMIO_SPEED is set to
    B9600 in our environment.) The test expects the result of cfgetispeed to match
    the output baud rate value. When the test receives zero from cfgetispeed, it
    reports a failure.

    The test should be modified to accept this cfgetispeed behavior, especially
    since this behavior is specified as an extension to the tcgetattr
    description in the X/OPEN CAE Specification.

    Test Output

    /tset/POSIX.os/devclass/Mtcgetattr/T.tcgetattr 1 Unresolved

    Test Description:
    If general terminal interface supported:
    When tcgetattr() is called from a foreground process, it shall get
    the parameters associated with the terminal described by fildes and
    store them in the termios structure referenced by termios_p, and
    shall return zero.
    Posix Ref: Component TCGETATTR Assertion 7.2.1.2-04(C)

    Test Information:
    cfsetispeed(termios_p, baud_mask(termios_speed)) failed.
    ************************************************************************

    ************************************************************************
    /tset/POSIX.os/devclass/Mtcgetattr/T.tcgetattr 2 Unresolved

    Test Description:

    If general terminal interface supported:
    When tcgetattr() is called from a background process, it shall get
    the parameters associated with the terminal described by fildes and
    store them in the termios structure referenced by termios_p, and
    shall return zero.
    Posix Ref: Component TCGETATTR Assertion 7.2.1.2-04(C)

    Test Information:
    cfsetispeed(termios_p, baud_mask(termios_speed)) failed.
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    Test suite deficiency TSD4.171 has already been granted for the reason
    stated above. Please quote this number on branding applications.

    Note that the `M' in `devclass/Mtcgetattr' indicates that a macro
    definition of tcgetattr() is being tested, whereas `devclass/tcgetattr'
    without the `M' is the test for the tcgetattr() function. Exactly the
    same test code is used in both tests, and so any test suite deficiency
    granted against the test code covers the failures for both versions of
    the interface.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused, please refer to TSD4.171.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority