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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1569 Actions


    Problem Report Number 1569
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0851
    Raised 2002-04-11 08:00
    Updated 2003-03-13 08:00
    Published 2002-04-16 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.1.2
    Test Identification CAPI.os/ioprim/close 3
    Problem Summary TSD4U.00312 The test writes data from an uninitialised buffer, and so may fail if the STREAM modules treat any of the data as special.
    Problem Text
    The code in the test looks like the following:

    char *module, buffer[512];
    .
    .
    .
    FORK(pid);
    tet_infoline("PREP: Child: Write data into STREAM");
    if(write(fildes[1], buffer, sizeof(buffer)) == -1) {

    The test does not initialize the buffer that it is writing from. On our
    implementation, if the data is a control character, the stream module will
    expand it to two characters(i.e. ^c) for display. The child sends more
    than 512 characters while the parent only reads 512 characters. Thus, unread
    data is left in the stream which causes the close to hang.

    Adding the following after the buffer declaration corrects the problem on our
    implementation:

    for (i=0; i<512; i++) buffer[i] = 0x20 ;

    Test Output
    ************************************************************************
    /tset/CAPI.os/ioprim/close/T.close 3 Failed

    Test Description:
    Base Required Conformance
    The last successful call to int close(int fildes) for fildes when
    fildes is associated with a STREAM, O_NONBLOCK is not set for fildes,
    and no signals are posted for the STREAM shall wait for each module
    and driver with data on it's write queue to drain its output before
    dismantling the STREAM.

    Test Information:
    PREP: Ignore any signals
    PREP: Push modules on the STREAM
    PREP: Child: Write data into STREAM
    PREP: Child: Close end of STREAM
    PREP: Close end of STREAM (in parent)
    PREP: Sleep 5 seconds before reading data from child
    TEST: Close waited for data to be flushed
    ERROR: wait_for: Timed-out waiting for child to exit.

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

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is accepted as a fault in the test suite.

    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