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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2181 Actions


    Problem Report Number 2181
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1100
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Motif Toolkit
    Certification Program The Open Brand certification program
    Test Suite VSM version 4.0.0
    Test Identification funcs/XmProcessTraversal 1
    Problem Summary TSD4M.00006 This is the fault of test case. We failed in this for-loop(It is in vsm4/tset/funcs/proctrav.c.): for(k=0;k<MAX_NAVIGATION_MODES;k++) { for(left_side=0;left_side<MAX_SPECIAL_WIDGET_CASES;left_side++){...
    Problem Text

    This is the fault of test case.
    We failed in this for-loop(It is in vsm4/tset/funcs/proctrav.c.):
    for(k=0;k<MAX_NAVIGATION_MODES;k++) {
    for(left_side=0;left_side<MAX_SPECIAL_WIDGET_CASES;left_side++){
    When it fails, the "k" is 0 and left_side is 11.

    For the widget hierarchy tree part that we are concerning, top level
    is a BulletinBoard widget, it has two children -- left is SelectionBox widget,
    right is TextField widget. This is done by this line of code:
    w_info =setup_special_kids(shell_info,left_side,rght_side,
    XmTAB_GROUP, nav_mode_list[k], nav_mode_list[k]);

    And we do the traverse in this function:
    traverse_special(w_info,k,left_side,rght_side) ;

    In the above function, we trave those two widgets: SelectionBox and
    TextField one by one, we move the pointer to the widget by:
    xisMovePointerTo(widgets[i], oUserDefined, 0, MoveAny);

    Then we begin to traverse :
    for(j=0;j<MAX_TRAVERSE_MODES_special;j++) {
    if ( XmIsTraversable(widgets[i]) == True ) {
    proc_trav_ret =XmProcessTraversal(widgets[i],XmTRAVERSE_CURRENT) ;
    check_traversal(w_info,widgets[i],XmTRAVERSE_CURRENT,proc_trav_ret);
    }
    proc_trav_ret = XmProcessTraversal(widgets[i],trav_mode_list[j]);
    check_traversal(w_info,widgets[i],trav_mode_list[j],proc_trav_ret) ;
    }

    We check the result in check_traversal function, we get the first
    traversable item in the tab group through the following code:
    else if ( XmIsTraversable(widget) == True ){
    first_trav_kid = get_first_traversible_child(widget) ;
    }
    else{
    first_trav_kid = get_first_traversible_child(kid2) ;

    X/Open Waiver Reference: TSD4M.00006 Page: 2

    WAIVER DOCUMENT X/Open Waiver Reference: TSD4M.00006


    }
    Both cases we get the TextField widget as the first traversable item.

    The spec says:
    "XmTRAVERSE_HOME--Finds the hierarchy that contains widget. Finds the
    active item in the active tab group and makes the first traversable item in
    the tab group the active item."

    TextField widget can be traversal, SelectionBox widget as a whole can't
    be traverable, but its component: OK button, Help button, Cancel button can be
    traversable as part of a tab group, and this is the reason to cause the failure.
    In fact here the tab group is not consist of TextField and Selection
    widgets, it consists of the OK, Help, Cancel and TextField widgets as its
    traversal graph, so the first traversable item in this tab group is not
    TextField, is Ok button.

    Review Information

    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