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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0173 Actions


    Problem Report Number 0173
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0173
    Raised 1994-08-07 08:00
    Updated 2003-03-13 08:00
    Published 1994-07-11 08:00
    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/i_modem 6, 9
    Problem Summary TSD4.173 A delay should be added at the start of the "do_loop" routine in /tset/POSIX.os/devclass/i_modem/i_modem.c. The purpose of this delay is to allow time for the lowering of DTR and RTS on one port to pr...
    Problem Text
    A delay should be added at the start of the "do_loop" routine in
    /tset/POSIX.os/devclass/i_modem/i_modem.c. The purpose of this
    delay is to allow time for the lowering of DTR and RTS on one port
    to propagate and effect a lowering of DCD on the loopback port.

    The reason for this is that sufficient delay is not provided at the
    start each sub-test to ensure that DCD has been successfully lowered
    from the previous test. When the second and third sub-tests start,
    DCD is found to be high on the port and the TTY is successfully opened.
    However, DCD goes low shortly after the open, as a result of the
    previous close. This causes subsequent writes to the TTY to return -1
    with an errno of EIO.

    To verify that this was the problem, a 100 millisecond delay was inserted
    at the start of "do_loop". After this change, all 11 i_modem assertions
    succeed. It is interesting to note that at the place where the 100 ms.
    delay was inserted, a comment stating "/* parent sleeps and closes */" was
    found suggesting that there had originally been a sleep in there that had
    been taken out.
    Test Output
    ************************************************************************
    /tset/POSIX.os/devclass/i_modem/T.i_modem 6 Failed

    Test Description:
    If general terminal interface supported:
    If modem control and CLOCAL are supported, when CLOCAL is clear and
    the open flag O_NONBLOCK is clear for the terminal, an open() shall
    wait for the modem connection to complete before returning from the
    call.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-52(C)

    Test Strategy:
    CREATE child process
    CHILD process:
    OPEN and initialise terminal file and loop back file
    SET signal action for SIGHUP to signal catching function
    CLEAR CLOCAL in terminal control flags
    CLEAR CLOCAL in loop back control flags
    CLOSE loop back file descriptor
    SLEEP to allow SIGHUP to arrive safely
    SLEEP to allow modem lines to do their thing
    CREATE process pair
    CHILD process:
    SLEEP for WAITTIME/2
    OPEN and initialise loop back file descriptor
    SLEEP for WAITTIME/2
    PARENT process:
    SET time out for WAITTIME
    OPEN terminal file using open(file, O_RDWR)
    VERIFY that open() blocked for at least WAITTIME/2 -1 seconds

    Test Information:
    open() did not wait for modem connection
    ************************************************************************

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

    Test Description:
    If general terminal interface supported:
    If modem control and CLOCAL are supported, when CLOCAL is clear for
    the terminal, a creat() shall wait for the modem connection to
    complete before returning from the call.
    Posix Ref: Component Settable Parameters Assertion 7.1.2.4-53(C)

    Test Strategy:
    CREATE child process
    CHILD process:
    OPEN and initialise terminal file and loop back file
    SET signal action for SIGHUP to signal catching function
    CLEAR CLOCAL in terminal control flags
    CLEAR CLOCAL in loop back control flags
    CLOSE loop back file descriptor
    SLEEP to allow SIGHUP to arrive safely
    SLEEP to allow modem lines to do their thing
    CREATE process pair
    CHILD process:
    SLEEP for WAITTIME/2
    OPEN and initialise loop back file descriptor
    SLEEP for WAITTIME/2
    PARENT process:
    SET time out for WAITTIME
    OPEN terminal file using creat()
    VERIFY that creat() blocked for at least WAITTIME/2 -1 seconds

    Test Information:
    creat() did not wait for modem connection
    ***********************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is accepted that this is atest 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