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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2205 Actions


    Problem Report Number 2205
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1124
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1998-03-12 08:00
    Product Standard Motif Toolkit
    Certification Program The Open Brand certification program
    Test Suite VSM version 4.0.0
    Test Identification widgets/XmTextField 4
    Problem Summary TSD4M.00031 I believe there are two test suite deficiencies here: 1) ERROR: Didn't receive expected callback(s) XmNmotionVerifyCallback of widget XmTextField o f class xmTextFieldWidgetClass. Received 0, Expecte...
    Problem Text

    I believe there are two test suite deficiencies here:

    1) ERROR: Didn't receive expected callback(s) XmNmotionVerifyCallback of widget XmTextField o
    f class xmTextFieldWidgetClass. Received 0, Expected 1

    Consider the code of the test in question:

    void mvsTextFieldBehaviorSet()
    {
    .




    msg_prep("Press Alt Btn2, drag over text and release");

    XmTextFieldClearSelection(Text_info->widget, xisGetServerTime(0) ) ;

    XmTextFieldSetAddMode(Text_info->widget, False ) ;

    xisMovePointerTo(Text_info->widget, oTextChar, 13,
    LocationFront | MoveAny);
    mvsClearCallbacks();

    xisPressMouseButton( Mod1Mask, Button2 );

    xisMovePointerTo(Text_info->widget, oTextChar, 29,
    LocationFront | MoveAny);

    xisReleaseMouseButton( Mod1Mask, Button2);

    tresult += mvsCheckCallbacksAndVisual(Text_info);

    mvsTestVerify(tresult,3,tn) ;
    .
    }

    If you insert "sleep(2)" after

    xisMovePointerTo(Text_info->widget, oTextChar, 13,
    LocationFront | MoveAny);

    "OR" after

    xisPressMouseButton( Mod1Mask, Button2 );

    you DON'T get the XmNmotionVerifyCallback error. WITHOUT the sleep statement
    you see the pointer moving but you DON'T see the underlining of the text.
    Both these functions eventually call xisProcessEvents(). This is where the
    test suite implements it's own event loop. There is likely a timing problem
    somewhere in there.

    I created a test program and tested for the XmNmotionVerifyCallback when
    a secondary selection was made and everything worked fine.

    2) WARNING: Name: XmTextField Class: XmTextField XtGrabKeyboard failed

    This one seems to be coming from the call to XtDispatchEvent(&event) at the end
    of the xisSynchronize() function. The documentation for XtGrabKeyboard()
    states that "if the specified time is earlier than last-keyboard-grab time or
    later than the current X server time, it fails and returns GrabInvalidTime".
    With this in mind I added the following line to the xisSynchronize()
    function just to see if it made a difference:




    .
    case ButtonPress:
    event.xbutton.send_event = 0;
    event.xbutton.state = xisState.mod_button_state |
    event.xbutton.state |
    xisMouseButtonMask[event.xbutton.button];
    if (!xisUseCurrentTime ||
    (xisInform.event_code == EventMouseButtonMultiClick &&
    xisInform.num_clicks > 1) )
    xisLastButtonPressTime = event.xbutton.time;

    /* I ADDED THIS LINE TO SEE WHAT HAPPENDS. */
    event.xbutton.time = CurrentTime;

    break;
    .

    The warning message did not show up anymore. This appears to be a test
    suite problem since it is implementing its own event loop.

    Test Output

    REQUEST/PROBLEM DESCRIPTION:

    520|1364 4 13963 1 1|VSM4TESTSUITE PURPOSE 4
    520|1364 4 13963 1 2|The XmTextField widget shall exhibit the behavior
    520|1364 4 13963 1 3|defined in the Motif Toolkit API specification.
    520|1364 4 13963 1 4|INFO: ***************** Beginning Iteration 1 of 512 ****************
    520|1364 4 13963 1 5|INFO: --Keyboard_Focus=1
    520|1364 4 13963 1 6|INFO: --XmNsensitive=True
    520|1364 4 13963 1 7|INFO: --XmNeditable=True
    520|1364 4 13963 1 8|INFO: --XmNhighlightOnEnter=True
    520|1364 4 13963 1 9|INFO: --XmNpendingDelete=True
    520|1364 4 13963 1 10|INFO: --XmNresizeWidth=True
    520|1364 4 13963 1 11|INFO: --XmNselectionArrayCount=1
    520|1364 4 13963 1 12|INFO: --XmNtraversalOn=True
    520|1364 4 13963 1 13|PREP: Click KeyDelete (delete-next-char)
    520|1364 4 13963 1 14|TEST: deletes the character following the insertion cursor
    520|1364 4 13963 1 15|PREP: Click KeyBackspace (delete-previous-char)
    520|1364 4 13963 1 16|TEST: deletes the character of text before insertion cursr.
    520|1364 4 13963 1 17|PREP: Click KeyDelFwdWord(delete-next-word)
    520|1364 4 13963 1 18|TEST: deletes the next word .
    520|1364 4 13963 1 19|PREP: Click KeyDelPrvWord(delete-previous-word)
    520|1364 4 13963 1 20|TEST: deletes the word preceding the insertion cursor .
    520|1364 4 13963 1 21|PREP: Click KeyDeleteEOL(delete-to-end-of-line)
    520|1364 4 13963 1 22|TEST: Deletes from insertion cursor to end of line .
    520|1364 4 13963 1 23|PREP: Click KeyDeleteBOL(delete-to-start-of-line)




    520|1364 4 13963 1 24|TEST: Deletes from insertion cursor to beginning of line
    520|1364 4 13963 1 25|PREP: Click KeyLeft (backward char)
    520|1364 4 13963 1 26|TEST: Moves the insertion cursor one character to the left
    520|1364 4 13963 1 27|TEST: Traverses to next item to left of current gadget
    520|1364 4 13963 1 28|PREP: Click KeyRight (forward char)
    520|1364 4 13963 1 29|TEST: Moves the insertion cursor one character to right .
    520|1364 4 13963 1 30|TEST: Traverses to next item to right of current gadget
    520|1364 4 13963 1 31|PREP: Click MCtrl KRight (forward word)
    520|1364 4 13963 1 32|TEST: moves the insertion cursor forward one word
    520|1364 4 13963 1 33|PREP: Click MCtrl KLeft (backward word)
    520|1364 4 13963 1 34|TEST: moves the insertion cursor backward one word
    520|1364 4 13963 1 35|PREP: Click KeyBeginLine (goto BOL)
    520|1364 4 13963 1 36|TEST: moves the insertion cursor to beginning of line
    520|1364 4 13963 1 37|TEST: Traverses to 1st widget or gadget in crnt tab grp.
    520|1364 4 13963 1 38|PREP: Click KeyEndLine (goto EOL)
    520|1364 4 13963 1 39|TEST: moves the insertion cursor to end_of_line
    520|1364 4 13963 1 40|PREP: Click MShft MCtrl KLeft(backward word extend)
    520|1364 4 13963 1 41|TEST: moves the insertion cursor backward one word
    520|1364 4 13963 1 42|PREP: Click MShft MCtrl KRight (forward word extend)
    520|1364 4 13963 1 43|TEST: moves the insertion cursor forward one word
    520|1364 4 13963 1 44|PREP: Click MShift KeyBeginLine (goto BOL extend )
    520|1364 4 13963 1 45|TEST: moves the insertion cursor to beginning of line
    520|1364 4 13963 1 46|PREP: Click MShift KeyEndLine (goto EOL extend)
    520|1364 4 13963 1 47|TEST: moves the insertion cursor to end_of_line
    520|1364 4 13963 1 48|PREP: Select all then .... (select-all)
    520|1364 4 13963 1 49|TEST: Selects all text .
    520|1364 4 13963 1 50|PREP: Deselect all (deselect-all)
    520|1364 4 13963 1 51|TEST: Deselects the current selection
    520|1364 4 13963 1 52|PREP: Select all then .... (select-all)
    520|1364 4 13963 1 53|TEST: Selects all text .
    520|1364 4 13963 1 54|PREP: Clear the selection (clear-selection)
    520|1364 4 13963 1 55|TEST: Clears selection by replacing each char with <space>
    520|1364 4 13963 1 56|PREP: Select all then ....(select-all)
    520|1364 4 13963 1 57|TEST: Selects all text .
    520|1364 4 13963 1 58|PREP: Delete the selection (delete-selection)
    520|1364 4 13963 1 59|TEST: Deletes the current selection
    520|1364 4 13963 1 60|PREP: Click KeyActivate(activate)
    520|1364 4 13963 1 61|TEST: Calls the callbacks for XmNactivateCallback
    520|1364 4 13963 1 62|PREP: Click KeyHelp(help)
    520|1364 4 13963 1 63|TEST: help key results in help callback(if exists)
    520|1364 4 13963 1 64|TEST: Call the callbacks for XmNhelpCallback (if exist)
    520|1364 4 13963 1 65|PREP: Test copy-clipboard
    520|1364 4 13963 1 66|TEST: Copies the current selection to the clipboard
    520|1364 4 13963 1 67|PREP: Click KeyPrimaryCopy (copy-primary)
    520|1364 4 13963 1 68|TEST: Copies the primary selection to the insertion cursor
    520|1364 4 13963 1 69|PREP: Click KeyPrimaryPaste (copy-primary)
    520|1364 4 13963 1 70|TEST: Copies the primary selection to the insertion cursor
    520|1364 4 13963 1 71|PREP: Click KeyPrimaryCut(cut-primary)
    520|1364 4 13963 1 72|TEST: Cuts the primary selection to the insertion cursor
    520|1364 4 13963 1 73|ERROR: Didn't receive expected callback(s) XmNgainPrimaryCallback of widget XmTextField of
    class xmTextFieldWidgetClass. Received 0, Expected 1
    520|1364 4 13963 1 74|PREP: Click KeyPaste(paste-clipboard)




    520|1364 4 13963 1 75|TEST: Pastes the clipboard before the insertion cursor .
    520|1364 4 13963 1 76|PREP: Click KeySelect(set-anchor)
    520|1364 4 13963 1 77|TEST: Resets the anchor and destination points .
    520|1364 4 13963 1 78|TEST: Causes the current gadget to be armed and activtd.
    520|1364 4 13963 1 79|PREP: Click KeyAddMode(toggle-add-mode)
    520|1364 4 13963 1 80|TEST: Toggles the state of Add Mode .
    520|1364 4 13963 1 81|PREP: Click KeySpace(outside a selection)(self-insert)
    520|1364 4 13963 1 82|TEST: Inserts the char of key pressed at insertion cursor.
    520|1364 4 13963 1 83|TEST: Causes the current gadget to process a kybrd event.
    520|1364 4 13963 1 84|PREP: Enter the name "lenore" (self-insert)
    520|1364 4 13963 1 85|TEST: Inserts the char of key pressed at insertion cursor.
    520|1364 4 13963 1 86|TEST: Causes the current gadget to process a kybrd event.
    520|1364 4 13963 1 87|TEST: performs the action defined in XmNselectionArray .
    520|1364 4 13963 1 88|TEST: Causes the current gadget to be armed.
    520|1364 4 13963 1 89|TEST: Causes the current gadget to be activated.
    520|1364 4 13963 1 90|TEST: Moves the insertion cursor to the pointer
    520|1364 4 13963 1 91|TEST: Causes the current gadget to be activated.
    520|1364 4 13963 1 92|PREP: Press Button1, drag over text and release
    520|1364 4 13963 1 93|TEST: performs the action defined in XmNselectionArray .
    520|1364 4 13963 1 94|TEST: Causes the current gadget to be armed.
    520|1364 4 13963 1 95|TEST: Causes the current gadget to be activated.
    520|1364 4 13963 1 96|TEST: Causes current gadget to process mouse mtn evnt.
    520|1364 4 13963 1 97|TEST: Moves the insertion cursor to the pointer
    520|1364 4 13963 1 98|TEST: Causes the current gadget to be activated.
    520|1364 4 13963 1 99|ERROR: Didn't receive expected callback(s) XmNgainPrimaryCallback of widget XmTextField of
    class xmTextFieldWidgetClass. Received 0, Expected 1
    520|1364 4 13963 1 100|PREP: Press Shft Button1, drag over text and release
    520|1364 4 13963 1 101|TEST: Adjusts the anchor using the balance_beam method .
    520|1364 4 13963 1 102|TEST: Moves the insertion cursor to the pointer
    520|1364 4 13963 1 103|PREP: Press Ctrl Button1, and release
    520|1364 4 13963 1 104|TEST: Moves the insertion cursor to the pointer position .
    520|1364 4 13963 1 105|PREP: Press Alt Btn2, drag over text and release
    520|1364 4 13963 1 106|TEST: Marks the beginning of a secondary selection .
    520|1364 4 13963 1 107|WARNING: ****************************************************************
    520|1364 4 13963 1 108|WARNING: A Toolkit warning occured:
    520|1364 4 13963 1 109|WARNING: Name: XmTextField Class: XmTextField XtGrabKeyboard failed
    520|1364 4 13963 1 110|WARNING: ****************************************************************
    520|1364 4 13963 1 111|TEST: copies the secondary or primary selection.
    520|1364 4 13963 1 112|

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree with the applicant and recommend that a waiver be granted
    on the basis of 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