2013-06-22 02:04:06 |
Francis Ginther |
description |
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. |
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]
The files used here were extracted from lp:otto and modified to run the single failing test case.
- Copy autopilot.desktop to /etc/xdg/autostart/autopilot.desktop
- Copy run-autopilot.sh to /usr/local/bin/run-autopilot.sh
- mkdir -p /var/local/autopilot
- 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.
I can reliable reproduce this on my saucy i386 VM. I've been unable to reproduce on my laptop running saucy amd64. The issue is that the xdg autostart job never appears to run. |
|