Comment 0 for bug 1193502

Revision history for this message
Francis Ginther (fginther) wrote :

This was found during testing of the autopilot suite during daily-release testing (for some reason these test results are not being published). Found when using bamf: 0.5.0daily13.06.19-0ubuntu1. Earlier version did not show this issue.

The failing test is:
autopilot.tests.functional.test_process_emulator.ProcessEmulatorTests.test_wait_for_app_running_works

[Test Log:]
Stacktrace

_StringException: test-log: {{{
00:25:02.548 INFO globals:48 - ************************************************************
00:25:02.549 INFO globals:49 - Starting test autopilot.tests.functional.test_process_emulator.ProcessEmulatorTests.test_wait_for_app_running_works
00:25:02.550 DEBUG globals:131 - Starting: ['/usr/bin/recordmydesktop', '--no-sound', '--no-frame', '-o', '/var/local/autopilot//videos/autopilot.tests.functional.test_process_emulator.ProcessEmulatorTests.test_wait_for_app_running_works.ogv']
}}}

traceback-1: {{{
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/autopilot/testcase.py", line 276, in _compare_system_with_app_snapshot
    raise AssertionError("The following apps were started during the test and not closed: %r", new_apps)
AssertionError: ('The following apps were started during the test and not closed: %r', [<Application 'Fire-up Autopilot tests'>])
}}}

traceback-2: {{{
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/autopilot/utilities.py", line 253, in action_on_test_end
    obj.on_test_end(test_instance)
TypeError: on_test_end() takes no arguments (2 given)
}}}

traceback-3: {{{
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/autopilot/utilities.py", line 253, in action_on_test_end
    obj.on_test_end(test_instance)
TypeError: on_test_end() takes no arguments (2 given)
}}}

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/autopilot/tests/functional/test_process_emulator.py", line 56, in test_wait_for_app_running_works
    self.assertThat(ret, Equals(True))
MismatchError: True != False

[Analysis]
The test attempts to open gedit and then, through dbus, assert that a process was started that matches the desktop file 'gedit.desktop'. This fails because bamf returns a match to /etc/xdg/autostart/autopilot.desktop (this file contains "Fire-up Autopilot Tests"). Running the test without this process does not reproduce this issue.

[Steps to reproduce]
 - Copy autopilot.desktop to /etc/xdg/autostart/autopilot.desktop
 - Copy run-autopilot.sh to /usr/local/bin/run-autopilot.sh
 - Copy testsuites to /var/local/autopilot
 - log out/log in.
 - remove $HOME/.ap_setup_done to retest
The test will run and open a gedit window with the wrong application title.