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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0174 Actions


    Problem Report Number 0174
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0174
    Raised 1994-07-14 08:00
    Updated 2003-03-13 08:00
    Published 1994-07-22 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.2
    Test Identification ANSI.os/string/strxfrm_X 1 3 4
    Linked Problem Reports TSD4.087, (in, old, system)
    Problem Summary TSD4.174 This waiver request was granted with TSD4.087 under VSX4.2.4, but the failures still occurs under VSX4.3.2. A new TSD is been requested. These tests assume that the transformed strings can be stored i...
    Problem Text
    <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    This waiver request was granted with TSD4.087 under VSX4.2.4, but
    the failures still occurs under VSX4.3.2. A new TSD is been
    requested.

    <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    These tests assume that the transformed strings can be stored
    in 25 bytes or constant number of bytes. However, the standard says:
    "The fact that when n is zero, s1 is permitted to be a null pointer,
    is useful to determine the size of the s1 array prior to making the
    transformation"

    So, the right way before applying the function is to call it with
    n=0 to determine the bytes needed for the transformation and then
    applying the transformation.

    For example, the following code sequence is in error:

    (void) strcpy(buf2, "bern");
    (void) asc_to_psl(buf2, VALINFO1LANG);
    (void) strxfrm(buf1, buf2, (size_t)25);
    expect = strlen(buf1);
    retval = (int) strxfrm(buf3, buf2, (size_t)(expect-1));


    The correct way to write this test is:

    (void) strcpy(buf2, "bern");
    (void) asc_to_psl(buf2, VALINFO1LANG);
    expect = strxfrm(NULL, buf2, 0);
    retval = (int) strxfrm(buf3, buf2, (size_t)(expect-1));


    Same problem exists in test 1 and 3 of strxfrm().

    <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    .fi
    Test Output
    <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    /tset/ANSI.os/string/strxfrm_X/T.strxfrm_X 4 Failed

    Test Description:
    The return value gives the length of string that is required to hold
    the transformation of the string s2 (This value may exceed the value
    of n).

    Test Strategy:
    CREATE child process
    VERIFY that the maximum size of the string is returned when size
    argument < required size.

    Test Information:
    If the returned string exceeds the length set in the 3rd argument, the
    required length is returned
    Current language setting is VSX4L1
    strxfrm did not return expected value
    value of string to be transformed (4245534e)
    expected return value : 20
    actual return value : 40

    <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    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 a test suite fault and it is recommended
    that a waiver be granted because of this 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