Bug 25296

Summary: test-send-file-provide-immediately.py and test-send-file-wait-to-provide.py are racy
Product: Telepathy Reporter: Guillaume Desmottes <guillaume.desmottes>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Guillaume Desmottes 2009-11-26 05:26:11 UTC
I hit a race with those tests when running master. That's because the s5b-connection-lost event is fired *before* FileTransferStateChanged.

got event:
- type dbus-signal
- args: [3L, 0L]
- interface: 'org.freedesktop.Telepathy.Channel.Type.FileTransfer'
- path: '/org/freedesktop/Telepathy/Connection/gabble/jabber/test_40localhost_2fResource/FileTransferChannel/0xff1df0'
- signal: 'FileTransferStateChanged'
handled

got event:
- type s5b-data-received
- data: 'What a nice file'
- transport: <<class 'twisted.internet.tcp.Client'> to (u'169.254.6.140', 43932) at 2d4e850>
handled

got event:
- type s5b-connection-lost
- connector: <twisted.internet.tcp.Connector instance at 0x2d60368>
- reason: <twisted.python.failure.Failure <class 'twisted.internet.error.ConnectionDone'>>
not handled

got event:
- type dbus-signal
- args: [16L]
- interface: 'org.freedesktop.Telepathy.Channel.Type.FileTransfer'
- path: '/org/freedesktop/Telepathy/Connection/gabble/jabber/test_40localhost_2fResource/FileTransferChannel/0xff1df0'
- signal: 'TransferredBytesChanged'
handled

got event:
- type dbus-signal
- args: [4L, 0L]
- interface: 'org.freedesktop.Telepathy.Channel.Type.FileTransfer'
- path: '/org/freedesktop/Telepathy/Connection/gabble/jabber/test_40localhost_2fResource/FileTransferChannel/0xff1df0'
- signal: 'FileTransferStateChanged'
handled

timeout
still expecting:
 - EventPattern('s5b-connection-lost', **{'predicate': <function <lambda> at 0x2d586e0>})
Traceback (most recent call last):
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/gabbletest.py", line 378, in exec_test_deferred
    fun(queue, bus, conn, stream)
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/file-transfer/file_transfer_helper.py", line 129, in test
    if fct():
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/file-transfer/file_transfer_helper.py", line 439, in send_file
    events = self.bytestream.wait_bytestream_closed(waiting)
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/bytestream.py", line 370, in wait_bytestream_closed
    EventPattern('s5b-connection-lost'))
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/bytestream.py", line 19, in wait_events
    events = q.expect_many(*tmp)
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/servicetest.py", line 150, in expect_many
    event = self.wait()
  File "/home/cassidy/dev/telepathy-gabble/tests/twisted/servicetest.py", line 209, in wait
    raise TimeoutError
TimeoutError
FAIL: file-transfer/test-send-file-provide-immediately.py
Comment 2 Guillaume Desmottes 2009-12-04 08:27:31 UTC
Fixed in master and 0.8.

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.