|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0297 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 0297.
Report 0297 Actions
Problem Report Number 0297 Submitter's Classification Test Suite problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0013 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 CH08/sndevnt 19 Specification Xlib - C Language Binding Location in Spec See Problem Text Problem Summary PIN4.013 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 fa... 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;
}
elseTest Output
/tset/CH08/sndevnt/Test 19 Failed
Test Description:
The l member of the data union is an array of 5 longs.
Test Strategy:
Set type to ClientMessage.
Verify that the size of the l member of the data union is 20 bytes.
Test Information:
Size 40, expected 20Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The failure of test 19 seems to be caused by an ambiguity in the specification.
In the specification of the MessageEvent Structure the data union is specified
as a union of 20 bytes, 10 shorts and 5 longs. Elsewhere in the specification
the term 5 32-bit values is used. It seems clear from this that the
specification intended that the union contain 5 32-bit values
.sp
The failure could be classified as a permanent interpretation.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion
A Permanent Interpretation is granted.
Problem Reporting System Options:
- View Report 0297
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority