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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1829 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 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:

     

    Back   


Contact the Certification Authority