Bug 55908 - gateways.py test times out waiting for EnsureSidecar to return
Summary: gateways.py test times out waiting for EnsureSidecar to return
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-12 11:10 UTC by Simon McVittie
Modified: 2012-11-05 15:15 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2012-10-12 11:10:41 UTC
Traceback (most recent call last):
  File "/home/smcv/src/fdo/gabble/tests/twisted/gabbletest.py", line 640, in exec_test_deferred
    fun(queue, bus, conns[0], streams[0])
  File "/home/smcv/src/fdo/gabble/tests/twisted/gateways.py", line 78, in test
    path, props = q.expect('dbus-return', method='EnsureSidecar').value
  File "/home/smcv/src/fdo/gabble/tests/twisted/servicetest.py", line 180, in expect
    event = self.wait([pattern.subqueue])
  File "/home/smcv/src/fdo/gabble/tests/twisted/servicetest.py", line 314, in wait
    raise TimeoutError
TimeoutError
FAIL: gateways.py

I haven't debugged this any further, help welcome.
Comment 1 Will Thompson 2012-11-05 15:14:21 UTC
The EnsureSidecars call fails with the error "This connection has already disconnected". This is due to <http://cgit.freedesktop.org/telepathy/telepathy-gabble/diff/src/conn-sidecars.c?id=fde8437>:

-  if (base_conn->status == TP_CONNECTION_STATUS_DISCONNECTED)
+  if (tp_base_connection_get_status (base) == TP_CONNECTION_STATUS_DISCONNECTED)

tp_base_connection_get_status returns DISCONNECTED both when the connection is dead, and when it is NEW. Patch impending.
Comment 2 Will Thompson 2012-11-05 15:15:38 UTC
I've committed the obviously-correct fix: http://cgit.freedesktop.org/telepathy/telepathy-gabble/commit/?id=42f4043


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.