|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0113 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 0113.
Report 0113 Actions
Problem Report Number 0113 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0113 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/stwmprprts 5 Problem Summary TSD4.113 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_stwmhnts_T20.1)
*** ./xtest/tset/CH09/stwmprprts/stwmprprts.m Tue Aug 18 06:21:22 1992
--- /usr/projects/x11/vsw_4.1.1/./xtest/tset/CH09/stwmprprts/stwmprprts.m
Fri Aug 27 16:47:24 1993
***************
*** 63,68 ****
--- 63,88 ----
#include "Xatom.h"
static XSizeHints sizehints = { PAllHints,1,2,3,4,5,6,7,8,9,10, {11,12},
{13,14}, 15, 16, 17};
static XSizeHints sizehints_1 = { PAllHints,1,2,3,4,5,6,7,8,9,10, {11,12},
{13,14}, 15, 16, 17};
+
+ /* This typedef extracted from Xatomtype.h as this is the proper/portable
*
+ * definition of what the raw property looks like
*/
+
+ #define BOOL long
+ #define SIGNEDINT long
+ #define UNSIGNEDINT unsigned long
+ #define RESOURCEID unsigned long
+
+ typedef struct {
+ UNSIGNEDINT flags;
+ BOOL input; /* need to convert */
+ SIGNEDINT initialState; /* need to cvt */
+ RESOURCEID iconPixmap;
+ RESOURCEID iconWindow;
+ SIGNEDINT iconX; /* need to cvt */
+ SIGNEDINT iconY; /* need to cvt */
+ RESOURCEID iconMask;
+ UNSIGNEDINT windowGroup;
+ } xPropWMHints;
>>ASSERTION Good A
When the
.A window_name
***************
*** 578,584 ****
Window win;
XVisualInfo *vp;
XWMHints hints;
! XWMHints *hints_ret;
unsigned long leftover, nitems;
int actual_format;
Atom actual_type;
--- 598,604 ----
Window win;
XVisualInfo *vp;
XWMHints hints;
! xPropWMHints *hints_ret;
unsigned long leftover, nitems;
int actual_format;
Atom actual_type;
***************
*** 646,690 ****
} else
CHECK;
! if(hints_ret->initial_state != IconicState) {
report("The initial_state component of the XWMHints structure
was %d instead of IconicState.",
! hints_ret->initial_state);
FAIL;
} else
CHECK;
! if(hints_ret->icon_pixmap != 1L) {
! report("The icon_pixmap component of the XWMHints structure was
%lu instead of 1.", hints_ret->icon_pixmap);
FAIL;
} else
CHECK;
! if(hints_ret->icon_window != 1L) {
! report("The icon_window component of the XWMHints structure was
%lu instead of 1.", hints_ret->icon_window);
FAIL;
} else
CHECK;
! if(hints_ret->icon_x != 13) {
! report("The icon_x component of the XWMHints structure was %d
instead of 13.", hints_ret->icon_x);
FAIL;
} else
CHECK;
! if(hints_ret->icon_y != 7) {
! report("The icon_y component of the XWMHints structure was %d
instead of 7.", hints_ret->icon_y);
FAIL;
} else
CHECK;
! if(hints_ret->icon_mask != 1L) {
! report("The icon_mask component of the XWMHints structure was
%lu instead of 1.", hints_ret->icon_mask);
FAIL;
} else
CHECK;
! if(hints_ret->window_group != 1L) {
! report("The window_group component of the XWMHints structure was
%lu instead of 1.", hints_ret->window_group);
FAIL;
} else
CHECK;
--- 666,710 ----
} else
CHECK;
! if(hints_ret->initialState != IconicState) {
report("The initial_state component of the XWMHints structure
was %d instead of IconicState.",
! hints_ret->initialState);
FAIL;
} else
CHECK;
! if(hints_ret->iconPixmap != 1L) {
! report("The icon_pixmap component of the XWMHints structure was
%lu instead of 1.", hints_ret->iconPixmap);
FAIL;
} else
CHECK;
! if(hints_ret->iconWindow != 1L) {
! report("The icon_window component of the XWMHints structure was
%lu instead of 1.", hints_ret->iconWindow);
FAIL;
} else
CHECK;
! if(hints_ret->iconX != 13) {
! report("The icon_x component of the XWMHints structure was %d
instead of 13.", hints_ret->iconX);
FAIL;
} else
CHECK;
! if(hints_ret->iconY != 7) {
! report("The icon_y component of the XWMHints structure was %d
instead of 7.", hints_ret->iconY);
FAIL;
} else
CHECK;
! if(hints_ret->iconMask != 1L) {
! report("The icon_mask component of the XWMHints structure was
%lu instead of 1.", hints_ret->iconMask);
FAIL;
} else
CHECK;
! if(hints_ret->windowGroup != 1L) {
! report("The window_group component of the XWMHints structure was
%lu instead of 1.", hints_ret->windowGroup);
FAIL;
} else
CHECK;Test Output
/tset/CH09/stwmprprts/Test 5 Failed
Test Description:
When the wm_hints argument is non-NULL, then a call to
XSetWMProperties sets the WM_HINTS property for the window w
to be of type WM_HINTS, format 32 and to have value set to
the wm_hints argument.
Test Strategy:
Create a window with XCreateWindow.
Set the WM_HINTS property for the window with XSetWMProperties.
Verify type and format are XA_WM_HINTS and 32, respectively.
Verify that the property value was correctly set with
XGetWindowProperty.
Test Information:
--- Running test with visual class PseudoColor, depth 8
The initial_state component of the XWMHints structure was 0 instead of
IconicState.
The icon_pixmap component of the XWMHints structure was 3 instead of 1.
The icon_x component of the XWMHints structure was 1 instead of 13.
The icon_y component of the XWMHints structure was 0 instead of 7.
The icon_mask component of the XWMHints structure was 13 instead of 1.
The window_group component of the XWMHints structure was 7 instead of 1.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:
- View Report 0113
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority