|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2205 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 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:
- View Report 2205
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority