|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1829 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 1829.
Report 1829 Actions
Problem Report Number 1829 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0906 Raised 1970-01-01 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 CH08/sndevnt 14 Problem Summary TSD4W.00110 Test has a 32-bit dependency. Problem Text
We have identified two 64-bit portability problems in this test.
First, a 64-bit '-1' does not equal a 32-bit '-1'. Secondly, the
size of 5 longs on a 64-bit platform is 40, not 20.
Given these facts we believe that the test is at fault. The
following source changes may be used to correct these portability
problems.
*** ./xtest/tset/CH08/sndevnt/sndevnt.m Tue Aug 18 06:21:02 1992
--- /usr/projects/x11/vsw_4.1.1/./xtest/tset/CH08/sndevnt/sndevnt.m Fri Aug
27 16:44:43 1993
***************
*** 18,24 ****
Status
XSendEvent(display, w, propagate, event_mask, event_send)
Display *display = Dsp;
! Window w = (Window) -1;
Bool propagate = False;
long event_mask = NoEventMask;
XEvent *event_send = &_event;
--- 18,24 ----
Status
XSendEvent(display, w, propagate, event_mask, event_send)
Display *display = Dsp;
! Window w = (CARD32) ((Window) -1 );
Bool propagate = False;
long event_mask = NoEventMask;
XEvent *event_send = &_event;
***************
*** 25,30 ****
--- 25,32 ----
>>SET startup focusstartup
>>SET cleanup focuscleanup
>>EXTERN
+ #include <X11/Xmd.h>
+
/*
* Can not use "xcall" because it empties the event queue.
*/
***************
*** 33,38 ****
--- 35,43 ----
((XAnyEvent *) event_send)->send_event = False;\
rvalue = XSendEvent(display, w, propagate, event_mask,
event_send);\
_endcall(display)
+
+ #define expectedsize 5*(sizeof(long))
+
static XEvent _event;
static int event_types[] = {
***************
*** 1813,1819 ****
event_send->xany.display = (Display *) NULL;
/* Set window member of event to -1. */
! event_send->xany.window = (Window) -1;
/* Discard all events in the event queue. */
XSync(display, True);
--- 1818,1824 ----
event_send->xany.display = (Display *) NULL;
/* Set window member of event to -1. */
! event_send->xany.window = (CARD32) ( (Window) -1 );
/* Discard all events in the event queue. */
XSync(display, True);
***************
*** 1879,1888 ****
CHECK;
/* Verify that window was set to 0. */
! if (event->window != (Window) -1 &&
event->type != MappingNotify &&
event->type != KeymapNotify) {
! report("%s: window set to 0x%x, expected 0x%x", en,
event->window, (Window) -1);
FAIL;
}
else
--- 1884,1893 ----
CHECK;
/* Verify that window was set to 0. */
! if (event->window != (CARD32) ( (Window) -1 ) &&
event->type != MappingNotify &&
event->type != KeymapNotify) {
! report("%s: window set to 0x%lx, expected 0x%lx", en,
event->window, (CARD32) ((Window) -1) );
FAIL;
}
else
***************
*** 2027,2034 ****
/* Set type to ClientMessage. */
event->type = ClientMessage;
/* Verify that the size of the l member of the data union is 20 bytes. */
! if (sizeof(event->data.l) != 20) {
! report("Size %d, expected %d", sizeof(event->data.l), 20);
FAIL;
}
else
--- 2032,2039 ----
/* Set type to ClientMessage. */
event->type = ClientMessage;
/* Verify that the size of the l member of the data union is 20 bytes. */
! if (sizeof(event->data.l) != expectedsize) {
! report("Size %d, expected %d", sizeof(event->data.l),
expectedsize);
FAIL;
}
else
Test Output
/tset/CH08/sndevnt/Test 14 Failed
Test Description:
On a call to XSendEvent the only fields in the forwarded
event which are changed are the send_event and serial
fields.
Test Strategy:
Create window.
Set type member of event to KeyPress.
Set serial member of event to 0.
Set send_event member of event to False.
Ignore display member of event, as it's filled in by Xlib.
Set window member of event to -1.
Discard all events in the event queue.
Call XSendEvent to send event to creator of window.
Verify that XSendEvent returned non-zero.
Verify that event was received.
Verify that type was set to KeyPress.
Verify that serial was not set to 0.
Verify that send_event was not set to False.
Check display member of event was filled in by Xlib properly.
Verify that window was set to 0.
Repeat for each event-type.
Test Information:
KeyPress: window set to 0xffffffff, expected 0xffffffff
KeyRelease: window set to 0xffffffff, expected 0xffffffff
ButtonPress: window set to 0xffffffff, expected 0xffffffff
ButtonRelease: window set to 0xffffffff, expected 0xffffffff
MotionNotify: window set to 0xffffffff, expected 0xffffffff
EnterNotify: window set to 0xffffffff, expected 0xffffffff
LeaveNotify: window set to 0xffffffff, expected 0xffffffff
FocusIn: window set to 0xffffffff, expected 0xffffffff
FocusOut: window set to 0xffffffff, expected 0xffffffff
Expose: window set to 0xffffffff, expected 0xffffffff
GraphicsExpose: window set to 0xffffffff, expected 0xffffffff
NoExpose: window set to 0xffffffff, expected 0xffffffff
VisibilityNotify: window set to 0xffffffff, expected 0xffffffff
CreateNotify: window set to 0xffffffff, expected 0xffffffff
DestroyNotify: window set to 0xffffffff, expected 0xffffffff
UnmapNotify: window set to 0xffffffff, expected 0xffffffff
MapNotify: window set to 0xffffffff, expected 0xffffffff
MapRequest: window set to 0xffffffff, expected 0xffffffff
ReparentNotify: window set to 0xffffffff, expected 0xffffffff
ConfigureNotify: window set to 0xffffffff, expected 0xffffffff
ConfigureRequest: window set to 0xffffffff, expected 0xffffffff
GravityNotify: window set to 0xffffffff, expected 0xffffffff
ResizeRequest: window set to 0xffffffff, expected 0xffffffff
CirculateNotify: window set to 0xffffffff, expected 0xffffffff
CirculateRequest: window set to 0xffffffff, expected 0xffffffff
PropertyNotify: window set to 0xffffffff, expected 0xffffffff
SelectionClear: window set to 0xffffffff, expected 0xffffffff
SelectionRequest: window set to 0xffffffff, expected 0xffffffff
SelectionNotify: window set to 0xffffffff, expected 0xffffffff
ColormapNotify: window set to 0xffffffff, expected 0xffffffff
ClientMessage: window set to 0xffffffff, expected 0xffffffff
Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The failure of test 14 is related to a 64-bit issue and it seems that this is
a test suite deficiency. However, we would suggest that the implementor
considers whether the XID should be classified as a 32-bit unsigned integer
rather than a 64-bit unsigned long. The XID is classified as CARD32 for the
purposes of the X protocol (in Xproto.h) and is normally specified as an
unsigned long with respect to more general usage (in X.h). It is possible
that this has been overlooked and a change should be made in X.h to classify
the XID as an unsigned int.
.sp
The failure could be classified as 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 1829
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority