validate_dbus_object can cause more than one class in the cpo cache

Bug #1350532 reported by Leo Arias on 2014-07-30
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Autopilot
High
Christopher Lee

Bug Description

When using validate_dbus_object to override the custom proxy object match, the real QML classname can get to the cache and autopilot will fail saying that there are two possible classes that match the query.

For example, on system settings we have many ItemPage qml objects. Each one has different functions and children, so I made different python classes overriding the validate_dbus_object, like here: http://bazaar.launchpad.net/~system-settings-touch/ubuntu-system-settings/trunk/view/head:/tests/autopilot/ubuntu_system_settings/__init__.py#L192

The problem is that if you select_single('ItemPage') at some point, the ItemPage will be added to the cache and it will make any try to select the other pages objects like AboutPage to fail.

One of the problems I see is that you can't select_single(AboutPage, objectName='aboutPage')
You have to do select_single(objectName='aboutPage')
Thats reported as bug #1337004.

Christopher Lee (veebers) wrote :

This will be resolved by the fixes made against bug lp:1457629.

Changed in autopilot:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Christopher Lee (veebers)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers