Exception raised executing _get_current_page_header in the last scope in Krilling

Bug #1464014 reported by Sergio Cazzolato
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity8 (Ubuntu)
New
Undecided
Unassigned

Bug Description

I am testing using the krilling (vivid version) phone using the Dash class in unit8/shell/emulators/dash.py. I created a method to go through all the scopes (from today until photos) verifying that the titles are correct. When I execute the method _get_current_page_header being in the last scope (photos), then the following exception is raised.

Traceback (most recent call last):
  File "/home/phablet/test/ubuntu_system_tests/tests/test_scopes.py", line 56, in test_default_scopes
    print(dash.get_scope_title())
  File "/home/phablet/test/ubuntu_system_tests/helpers/unity8/dash.py", line 74, in get_scope_title
    return self._get_current_page_header().title
  File "/usr/lib/python3/dist-packages/unity8/shell/emulators/dash.py", line 182, in _get_current_page_header
    if i.isCurrent:
  File "/usr/lib/python3/dist-packages/autopilot/introspection/dbus.py", line 416, in __getattr__
    (self.__class__.__name__, name))
AttributeError: Class 'QQuickLoader' has no attribute 'isCurrent'.

Revision history for this message
Albert Astals Cid (aacid) wrote :

this is pretty weird, we have unity8.shell.tests.test_emulators.DashEmulatorTestCase.test_search that exercises _get_current_page_header and works just fine.

Can you verify if
autopilot3 run unity8.shell.tests.test_emulators.DashEmulatorTestCase.test_search
works for you?

Revision history for this message
Sergio Cazzolato (sergio-j-cazzolato) wrote :

I am getting this error when I execute this test in the krilling

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/unity8/shell/tests/test_emulators.py", line 51, in test_search
    self.dash.enter_search_query('Test')
  File "/usr/lib/python3/dist-packages/unity8/shell/emulators/dash.py", line 172, in enter_search_query
    objectName="processingIndicator").visible.wait_for(False)
  File "/usr/lib/python3/dist-packages/autopilot/introspection/types.py", line 180, in wait_for
    failure_msg))
AssertionError: After 10.0 seconds test on QQuickRectangle.visible failed: False != dbus.Boolean(True, variant_level=1)

Revision history for this message
Albert Astals Cid (aacid) wrote :

That's weird, it just works here, which channel and revision are you using?

Revision history for this message
Sergio Cazzolato (sergio-j-cazzolato) wrote :

Hi, I executed in the last image and it is working this test. But the error that I mentioned in the bug is still happening

In the following merge proposal you can find the test that I did which has overwritten the method get_scope_title. It fails when there is a "QQuickLoader" that has not the isCurrent attribute.

https://code.launchpad.net/~canonical-platform-qa/ubuntu-system-tests/test_sanity_default_scopes/+merge/261678

The information of the image used is the following:

phablet@ubuntu-phablet:~/test$ system-image-cli -i
current build number: 46
device name: krillin
channel: ubuntu-touch/rc-proposed/bq-aquaris.en
last update: 2015-06-22 18:29:03
version version: 46
version ubuntu: 20150622.1
version device: 20150529-8e13c5f
version custom: 20150528-722-29-15-vivid

Revision history for this message
Albert Astals Cid (aacid) wrote :

well, then if our code works and yours doesn't, that is a bug in your code, no?

isCurrent is not a property of all QQuickLoader items, it is just a property of the Loaders that are direct childs of dashContentList so you may have to adjust your code to only query that property for them.

Revision history for this message
Sergio Cazzolato (sergio-j-cazzolato) wrote :

What I had to do in my code is to overwrite the medhod get_scope_title which it is located in unity8.shell.emulators.dash because it was raising an exception when it tries to access to the isCurrent property of a QQuickLoader which hasn't this property.

Revision history for this message
Albert Astals Cid (aacid) wrote :

Maybe we can move this discussion onto IRC? I can't see how it can be our bug if our tests that use this function just work fine and I see we're not making progress into making this point clearer over here, please drop into #ubuntu-unity during european working time and ping me (tsdgeos)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.