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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 0111 Actions


    Problem Report Number 0111
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0111
    Raised 1993-10-14 08:00
    Updated 2003-03-13 08:00
    Published 1993-11-19 08:00
    Product Standard X Window System Applications Interface
    Certification Program The Open Brand certification program
    Test Suite VSW version 4.1.1
    Test Identification CH09/sticnszs 1
    Problem Summary TSD4.111 On a machine where sizeof(int) == sizeof(long), certain property definitions, (XWMHints for example) will happen to work properly, but will fail on other architectures where this is not the case. The ...
    Problem Text
    On a machine where sizeof(int) == sizeof(long), certain property
    definitions, (XWMHints for example) will happen to work properly, but
    will fail on other architectures where this is not the case.

    The sample implementation of Xlib recognizes that this is not a
    portable solution and so takes steps do the proper thing. The solution
    used by Xlib is to have two copies of the property structures, one that
    matches the needs of XGetWindowProperty()/XChangeProperty() and
    another that is for use by users of the library (and external
    representation so to speak). The external structure definition in the
    example case is XWMHints (defined in Xutil.h). The internal definition
    used by the sample inplementation for the same thing is xPropWMHints
    (defined in Xatomtype.h). The library copies to and from the protocol
    representation and the external representation as is needed.

    The following patch corrects this incorrect assumption in the test suite.

    (see also vsw_stwmhnts_T20.1 and vsw_stwmprprts_T20.5)

    *** ./xtest/tset/CH09/sticnszs/sticnszs.m Tue Aug 18 06:21:17 1992
    --- /usr/projects/x11/vsw_4.1.1/./xtest/tset/CH09/sticnszs/sticnszs.m Fri Aug
    27 16:46:50 1993
    ***************
    *** 24,29 ****
    --- 24,42 ----
    >>EXTERN
    #include "Xatom.h"
    XIconSize sizelist;
    +
    + /* This typedef extracted from Xatomtype.h as this is the proper/portable
    *
    + * definition of what the raw property looks like
    */
    +
    + #define SIGNEDINT long
    +
    + /* this structure defines the icon size hints information */
    + typedef struct {
    + SIGNEDINT minWidth, minHeight; /* need to cvt */
    + SIGNEDINT maxWidth, maxHeight; /* need to cvt */
    + SIGNEDINT widthInc, heightInc; /* need to cvt */
    + } xPropIconSize;
    +
    >>ASSERTION Good A
    A call to xname sets the WM_ICON_SIZE property for the window
    .A w
    ***************
    *** 51,58 ****
    unsigned long leftover, nitems, len;
    int actual_format;
    Atom actual_type;
    ! XIconSize *rsizelist = (XIconSize *) NULL, *sp;
    ! XIconSize sizelist[7];
    int cnt = 7;
    int i, v;

    --- 64,79 ----
    unsigned long leftover, nitems, len;
    int actual_format;
    Atom actual_type;
    ! XIconSize sizelist[7], *sp;
    ! /* */
    ! /* receiving structure modified per X Consortium format 32 clarification */
    ! /* */
    ! /* rsp = receiver sizelist pointer points to array of values received */
    ! /* xPropIconSize is template for long values returned */
    ! /* lsizelist[] is buffer for values received from server */
    ! /* */
    ! xPropIconSize *rsizelist = (xPropIconSize *) NULL, *rsp ;
    ! xPropIconSize lsizelist[7];
    int cnt = 7;
    int i, v;

    ***************
    *** 101,107 ****
    } else
    CHECK;

    ! if( rsizelist == (XIconSize *) NULL) {
    report("No value was obtained for the WM_ICON_SIZES property.");
    FAIL;
    } else {
    --- 122,128 ----
    } else
    CHECK;

    ! if( rsizelist == (xPropIconSize *) NULL) {
    report("No value was obtained for the WM_ICON_SIZES property.");
    FAIL;
    } else {
    ***************
    *** 114,153 ****
    if(actual_format == 32) {

    CHECK;
    ! for(i=0, sp=rsizelist, v=0; i<cnt; i++, sp++) {

    ! if(sp->min_width != v++) {
    ! report("The min_width component
    of the XIconSize structure %d was %d instead of %d.", i, sp->min_width, v-1);
    FAIL;
    } else
    CHECK;

    ! if(sp->min_height != v++) {
    ! report("The min_height component
    of the XIconSize structure %d was %d instead of %d.", i, sp->min_height, v-1);
    FAIL;
    } else
    CHECK;

    ! if(sp-> max_width != v++) {
    ! report("The max_width component
    of the XIconSize structure %d was %d instead of %d.", i, sp-> max_width, v-1);
    FAIL;
    } else
    CHECK;

    ! if(sp->max_height != v++) {
    ! report("The max_height component
    of the XIconSize structure %d was %d instead of %d.", i, sp->max_height, v-1);
    FAIL;
    } else
    CHECK;

    ! if(sp->width_inc != v++) {
    ! report("The width_inc component
    of the XIconSize structure %d was %d instead of %d.", i, sp->width_inc, v-1);
    FAIL;
    } else
    CHECK;

    ! if(sp-> height_inc != v++) {
    ! report("The height_inc component
    of the XIconSize structure %d was %d instead of %d.", i, sp->height_inc, v-1);
    FAIL;
    } else
    CHECK;
    --- 135,174 ----
    if(actual_format == 32) {

    CHECK;
    ! for(i=0, rsp=rsizelist, v=0; i<cnt; i++, rsp++)
    {

    ! if(rsp->minWidth != v++) {
    ! report("The min_width component
    of the XIconSize structure %d was %d instead of %d.", i, rsp->minWidth, v-1);
    FAIL;
    } else
    CHECK;

    ! if(rsp->minHeight != v++) {
    ! report("The min_height component
    of the XIconSize structure %d was %d instead of %d.", i, rsp->minHeight, v-1);
    FAIL;
    } else
    CHECK;

    ! if(rsp-> maxWidth != v++) {
    ! report("The max_width component
    of the XIconSize structure %d was %d instead of %d.", i, rsp-> maxWidth, v-1);
    FAIL;
    } else
    CHECK;

    ! if(rsp->maxHeight != v++) {
    ! report("The max_height component
    of the XIconSize structure %d was %d instead of %d.", i, rsp->maxHeight, v-1);
    FAIL;
    } else
    CHECK;

    ! if(rsp->widthInc != v++) {
    ! report("The width_inc component
    of the XIconSize structure %d was %d instead of %d.", i, rsp->widthInc, v-1);
    FAIL;
    } else
    CHECK;

    ! if(rsp-> heightInc != v++) {
    ! report("The height_inc component
    of the XIconSize structure %d was %d instead of %d.", i, rsp->heightInc, v-1);
    FAIL;
    } else
    CHECK;

    Test Output
    /tset/CH09/sticnszs/Test 1 Failed

    Test Description:
    A call to XSetIconSizes sets the WM_ICON_SIZE property for
    the window w to be of type WM_ICON_SIZE, format 32 and to
    have value set to the count XIconSize structures named by
    the size_list argument.

    Test Strategy:
    Create a window using XCreateWindow.
    Set the WM_ICON_SIZE property using XSetIconSizes.
    Obtain the WM_ICON_SIZE property using XGetWindowProperty.
    Verify that the property type is WM_ICON_SIZE.
    Verify that the property format is 32.
    Verify that the returned number of elements is correct.
    Verify that the property value is correct.

    Test Information:
    --- Running test with visual class PseudoColor, depth 8
    The min_height component of the XIconSize structure 0 was 0 instead of
    1
    The max_width component of the XIconSize structure 0 was 1 instead of 2.
    The max_height component of the XIconSize structure 0 was 0 instead of
    3
    The width_inc component of the XIconSize structure 0 was 2 instead of 4.
    The height_inc component of the XIconSize structure 0 was 0 instead of
    5
    The min_width component of the XIconSize structure 1 was 3 instead of 6.
    The min_height component of the XIconSize structure 1 was 0 instead of
    7
    The max_width component of the XIconSize structure 1 was 4 instead of 8.
    The max_height component of the XIconSize structure 1 was 0 instead of
    9
    The width_inc component of the XIconSize structure 1 was 5 instead of
    10
    The height_inc component of the XIconSize structure 1 was 0 instead of
    11
    The min_width component of the XIconSize structure 2 was 6 instead of
    12
    The min_height component of the XIconSize structure 2 was 0 instead of
    13
    The max_width component of the XIconSize structure 2 was 7 instead of
    14
    The max_height component of the XIconSize structure 2 was 0 instead of
    15
    The width_inc component of the XIconSize structure 2 was 8 instead of
    16
    The height_inc component of the XIconSize structure 2 was 0 instead of
    17
    The min_width component of the XIconSize structure 3 was 9 instead of
    18
    The min_height component of the XIconSize structure 3 was 0 instead of
    19
    The max_width component of the XIconSize structure 3 was 10 instead of
    20
    The max_height component of the XIconSize structure 3 was 0 instead of
    21
    The width_inc component of the XIconSize structure 3 was 11 instead of
    22
    The height_inc component of the XIconSize structure 3 was 0 instead of
    23
    The min_width component of the XIconSize structure 4 was 12 instead of
    24
    The min_height component of the XIconSize structure 4 was 0 instead of
    25
    The max_width component of the XIconSize structure 4 was 13 instead of
    26
    The max_height component of the XIconSize structure 4 was 0 instead of
    27
    The width_inc component of the XIconSize structure 4 was 14 instead of
    28
    The height_inc component of the XIconSize structure 4 was 0 instead of
    29
    The min_width component of the XIconSize structure 5 was 15 instead of
    30
    The min_height component of the XIconSize structure 5 was 0 instead of
    31
    The max_width component of the XIconSize structure 5 was 16 instead of
    32
    The max_height component of the XIconSize structure 5 was 0 instead of
    33
    The width_inc component of the XIconSize structure 5 was 17 instead of
    34
    The height_inc component of the XIconSize structure 5 was 0 instead of
    35
    The min_width component of the XIconSize structure 6 was 18 instead of
    36
    The min_height component of the XIconSize structure 6 was 0 instead of
    37
    The max_width component of the XIconSize structure 6 was 19 instead of
    38
    The max_height component of the XIconSize structure 6 was 0 instead of
    39
    The width_inc component of the XIconSize structure 6 was 20 instead of
    40
    The height_inc component of the XIconSize structure 6 was 0 instead of
    41

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is agreed to be 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