Supress autopilot internal functions in test tracebacks

Bug #1257451 reported by Thomi Richards
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Autopilot
Confirmed
Medium
Unassigned

Bug Description

Tests often fail with a traceback that looks like this:

---
Traceback (most recent call last):
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/test_simple_page.py", line 32, in setUp
super(TestSimplePage, self).setUp()
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/__init__.py", line 57, in setUp
self.launch_test_click()
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/__init__.py", line 78, in launch_test_click
emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase)
File "/usr/lib/python2.7/dist-packages/autopilot/testcase.py", line 358, in launch_click_package
emulator_base=emulator_base
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 269, in get_proxy_object_for_existing_process
process
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 308, in _get_dbus_addresses_from_search_parameters
object_path
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 336, in _search_for_valid_connections
object_path
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 348, in _get_valid_connections
valid_connections = filter(filter_fn, connections)
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 394, in _match_connection
success = _connection_matches_pid(bus, connection_name, pid)
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 416, in _connection_matches_pid
eligible_pids = [pid] + _get_child_pids(pid)
File "/usr/lib/python2.7/dist-packages/autopilot/introspection/__init__.py", line 464, in __call__
p.pid for p in psutil.Process(pid).get_children(recursive=True)
File "/usr/lib/python2.7/dist-packages/psutil/__init__.py", line 228, in __init__
raise NoSuchProcess(pid, None, 'no process found with pid %s' % pid)
NoSuchProcess: no process found with pid 3968
---

But most of the lines in that traceback aren't useful to the test author. Instead, we should investigate whether we can do something like this:

---
Traceback (most recent call last):
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/test_simple_page.py", line 32, in setUp
super(TestSimplePage, self).setUp()
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/__init__.py", line 57, in setUp
self.launch_test_click()
File "/home/phablet/autopilot/ubuntu_calculator_app/tests/__init__.py", line 78, in launch_test_click
emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase)
File "/usr/lib/python2.7/dist-packages/autopilot/testcase.py", line 358, in launch_click_package
emulator_base=emulator_base
File "/usr/lib/python2.7/dist-packages/psutil/__init__.py", line 228, in __init__
raise NoSuchProcess(pid, None, 'no process found with pid %s' % pid)
NoSuchProcess: no process found with pid 3968
---

We can probably do this by setting '__unittest = True' in internal modules. We need to do this carefully though, since we still want to show enough information to debug the problem...

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.