Autopilot test "EnglishDefaultInstallTestCase" fails with Xubuntu i386 Wily daily ISO

Bug #1479064 reported by Daniel Kessel
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Fix Released
Medium
Dan Chapman 

Bug Description

I am running the ubiquity autopilot tests on a local machine as described here:
http://bazaar.launchpad.net/~ubuntu-installer/ubiquity/trunk/view/head:/autopilot/README.md

I am using the Xubuntu ISO Image 20150728 for Wily.

The relevant part from the log is:

ERROR testresult:44 - ERROR: ubiquity_autopilot_tests.tests.test_english_default.EnglishDefaultInstallTestCase.test_default_install
/var/local/autopilot//logs//autopilot.log: 17:40:44.883 ERROR testresult:44 - /var/log/syslog: {{{
/var/local/autopilot//logs//autopilot.log: Jul 28 17:40:44 xubuntu kernel: [ 163.143368] input: autopilot-finger as /devices/virtual/input/input5
/var/local/autopilot//logs//autopilot.log: }}}
/var/local/autopilot//logs//autopilot.log: 17:40:44.883 ERROR testresult:44 - Binary attachment: "FailedTestScreenshot" (image/png)
/var/local/autopilot//logs//autopilot.log: 17:40:44.884 ERROR testresult:44 - traceback: {{{
/var/local/autopilot//logs//autopilot.log: Traceback (most recent call last):
/var/local/autopilot//logs//autopilot.log: File "/home/xubuntu/ubiquity-autopilot/autopilot/ubiquity_autopilot_tests/tests/test_english_default.py", line 33, in test_default_install
/var/local/autopilot//logs//autopilot.log: self.welcome_page_tests(lang='English')
/var/local/autopilot//logs//autopilot.log: File "/home/xubuntu/ubiquity-autopilot/autopilot/ubiquity_autopilot_tests/tests/__init__.py", line 165, in welcome_page_tests
/var/local/autopilot//logs//autopilot.log: treeview_items = treeview.get_all_items()
/var/local/autopilot//logs//autopilot.log: File "/home/xubuntu/ubiquity-autopilot/autopilot/ubiquity_autopilot_tests/emulators/gtkcontrols.py", line 253, in get_all_items
/var/local/autopilot//logs//autopilot.log: treeview = self._get_gail_treeview()
/var/local/autopilot//logs//autopilot.log: File "/home/xubuntu/ubiquity-autopilot/autopilot/ubiquity_autopilot_tests/emulators/gtkcontrols.py", line 352, in _get_gail_treeview
/var/local/autopilot//logs//autopilot.log: "No treeview visible with globalRect {0}".format(self.globalRect)
/var/local/autopilot//logs//autopilot.log: ValueError: No treeview visible with globalRect Rectangle(225, 270, 122, 242)

Related branches

Revision history for this message
Daniel Kessel (dkessel) wrote :

full console log of the test run is attached.

tags: added: xubuntu
tags: added: autopilot
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubiquity (Ubuntu):
status: New → Confirmed
Revision history for this message
Dan Chapman  (dpniel) wrote :

This will most likely be an issue for all flavors this test is run on. It looks like the relation between GtkTreeView & AtkTreeView has changed in a recent Gtk upgrade. It's been over 18 months since the tests were written :-)

IIRC the current logic will find the languages treeview on the left side by looking up visible AtkTreeView object in the accessibility tree once that was found we could compare the object's rect properties with that of the all the GtkTreeView's, which we could then select the one that matched. There was no easy way to do this going straight down the Gtk object tree.

This may have changed now though so it would be worth firing up autopilot vis once the test has failed.

Revision history for this message
Daniel Kessel (dkessel) wrote :

Thanks for the help so far on IRC.
Here's what I have found so far:

GtkTreeView's globalRect: 225,270,122,242
GtkTreeViewAccessible's globalRect: 224,269,122,242

So the coordinates seem to have come off by one pixel in the X and Y direction, but the size did not change. Making the globalRect comparison less strict (or even implementing a "second try" strategy in the comparison) might work, although it is no pretty solution.

tags: added: ubiquity-2.21.27
tags: added: wily
Daniel Kessel (dkessel)
Changed in ubiquity (Ubuntu):
assignee: nobody → Daniel Kessel (dkessel)
Changed in ubiquity (Ubuntu):
importance: Undecided → Medium
Daniel Kessel (dkessel)
Changed in ubiquity (Ubuntu):
assignee: Daniel Kessel (dkessel) → nobody
Dan Chapman  (dpniel)
Changed in ubiquity (Ubuntu):
assignee: nobody → Dan Chapman  (dpniel)
Dan Chapman  (dpniel)
Changed in ubiquity (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.21.30

---------------
ubiquity (2.21.30) wily; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * Fix access denied crashes in calling GetDevices() for NM integration: this
    happened because we didn't specify a DBus interface for the call.
    (LP: #1495017)
  * Automatic update of included source packages: grub-installer
    1.78ubuntu29.

  [ Dan Chapman ]
  * Multiple autopilot fixes:
    - Add workaround for 'Write changes to disk' dialog. (LP: #1480430)
    - Update the use_device_desc string in generated config file use for
      english install tests.
    - Fix handling of globalRect mismatches. (LP: #1479064)
    - Fixup string comparisons to properly match Ubuntu-MATE for the english
      install tests.
    - Fix the autopilot test runner for Ubuntu-GNOME and Ubuntu-MATE.

 -- Mathieu Trudel-Lapierre <email address hidden> Tue, 15 Sep 2015 17:04:57 -0400

Changed in ubiquity (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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