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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0249 Actions


    Problem Report Number 0249
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0249
    Raised 1995-12-14 08:00
    Updated 2003-03-13 08:00
    Published 1995-12-19 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.5
    Test Identification POSIX.os/devclass/cfsetispee 2
    Linked Problem Reports TSD4.136, TSD4.170, (in, old, system)
    Problem Summary TSD4.249 This test attempts to determine that a least one baud rate is supported by a general terminal interface. As part of the test it calls cfsetispeed to set the input speed in the termios structure and th...
    Problem Text


    This test attempts to determine that a least one baud rate is
    supported by a general terminal interface. As part of the test
    it calls cfsetispeed to set the input speed in the termios structure
    and then calls tcsetattr. It then attempts to verify the result of
    cfsetispeed/tcsetattr by calling tcgetattr and cfgetispeed. It
    expects the return value of cfgetispeed to match the input baud rate
    value it is testing. When the test receives zero from cfgetispeed,
    it marks the baud rate as unsupported. If all baud rates it tests
    are marked unsupported, the test fails. This is the reason the
    test is failing.

    Our systems do not support split baud rates. For the reasons cited
    below in a waiver previously granted for cfsetispeed, our implementation
    of cfgetispeed returns the number zero. The test should take this
    valid return value into account.

    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 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/cfsetospee/T.cfsetospee 2 Failed

    Test Description:
    If general terminal interface supported:
    For each of the baud rates B50, B75, B110, B134, B150, B200, B300,
    B600, B1200, B1800, B2400, B4800, B9600, B19200 and B38400 a
    successful call to cfsetospeed() followed by a call to tcsetattr()
    shall set the output baud rate to the corresponding speed. At
    least one of these baud rates shall be supported.
    Posix Ref: Component CFSETOSPEED Assertion 7.1.2.7.2-05(C)

    Test Strategy:
    SET IXON in loop back termios structure SET IXOFF in terminal termios
    structure
    For each of the specified baud rates:
    SET input/output baud rate in terminal structure using
    cfsetispeed()/cfsetospeed()
    SET terminal information using tcsetattr()
    OBTAIN terminal information using tcgetattr()
    If input/output baud rate is not set to specified baud rate, baud rate
    is n(t supported
    SET input/output baud rate in loop back terminal structure using
    cfsetispeed()/cfsetospeed()
    SET terminal information using tcsetattr()
    OBTAIN terminal information using tcgetattr()
    If input/output baud rate is not set to specified baud rate, baud rate
    is not supported
    If baud rate is supported, CREATE [child process|process pair]
    Child: SLEEP using sleep() to allow terminal file to initialise
    SET time out.
    WRITE data to loop back file using write()
    VERIFY that data was written within twice the expected write time
    Parent: READ from terminal file using read()
    VERIFY that all written data can be read
    VERIFY that at least one of the specified baud rates is supported

    Test Information:
    none of specified speeds are supported

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is agreed that this is a test suite fault and it is recommended that
    a waiver be granted on the grounds of a 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