Bug 632144

Summary: Winfroms Strongwind test cause "no attribute ORBit" error when close the frame
Product: [Mono] UI Automation Reporter: calen chen <cachen>
Component: Winforms - GeneralAssignee: Michael Gorse <mgorse>
Status: CONFIRMED --- QA Contact: E-mail List <mono-a11y-qa>
Severity: Major    
Priority: P1 - Urgent CC: mgorse
Version: Unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Strongwind patch.

Description calen chen 2010-08-18 02:55:59 UTC
upgrade to 2.0.95 internal version

REPRO:

1. Run uia2atk/test/testers/winforms/label-regresion.py, the last step is using altF4 of strongwind 'Frame' class to close the application frame

RESULTS:

Action: In the Button_Label_LinkLabel controls window, press <Alt>F4.
[Error 10:39:58.960] [UiaDbusBridge.RaiseAutomationEvent] Inconsistent provider -> wrapper mapping state
[Error 10:39:58.960] [UiaDbusBridge.RaiseAutomationEvent] Inconsistent provider -> wrapper mapping state
Expected result: The frame disappears.
Traceback (most recent call last):
  File "./winforms/label-regresion.py", line 81, in <module>
    lFrame.quit()
  File "/A11y/uia2atk-test/testers/winforms/label/labelframe.py", line 61, in quit
    self.altF4()
  File "/usr/lib/python2.6/site-packages/strongwind/accessibles.py", line 750, in altF4
    if assertClosed: self.assertClosed()
  File "/usr/lib/python2.6/site-packages/strongwind/accessibles.py", line 764, in assertClosed
    assert utils.retryUntilTrue(closed)
  File "/usr/lib/python2.6/site-packages/strongwind/utils.py", line 98, in retryUntilTrue
    if func(*args,**kargs): return True
  File "/usr/lib/python2.6/site-packages/strongwind/accessibles.py", line 760, in closed
    except (LookupError, KeyError, pyatspi.ORBit.CORBA.COMM_FAILURE):
AttributeError: 'module' object has no attribute 'ORBit'

EXPECTED RESULTS:

doesn't appear the error

COMMENTS:

I would like to make it P1, it cause all of Winforms test failing.
Comment 1 Michael Gorse 2010-08-18 09:02:29 UTC
Created attachment 383696 [details]
Strongwind patch.

Sent this to the Strongwind maintainers for review.
Comment 2 calen chen 2010-09-06 06:20:02 UTC
Hey Mike,

When I run Winforms test in openSUSE11.3 with the strongwind pacth, I got another error, seems 'dbus.exceptions.DBusException' doesn't works in try.....except...., would you please help to take a look again? thanks!

You can reproduce it by running uia2atk/test/testers/winforms/button-regression.py, the error happens when a new dialog appear or dialog and frame closed.

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 195, in _children_changed_handler
    app._children_changed_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path)
  File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 291, in _children_changed_handler
    item.children.remove (any_data)
ValueError: list.remove(x): x not in list
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 195, in _children_changed_handler
    app._children_changed_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path)
  File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 291, in _children_changed_handler
    item.children.remove (any_data)
ValueError: list.remove(x): x not in list