[Telepathy-commits] [telepathy-salut/master] test-send-file.py: catch the FileTransferStateChanged and TransferredBytesChanged signal together

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Nov 21 03:46:35 PST 2008


---
 tests/twisted/avahi/test-send-file.py |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/tests/twisted/avahi/test-send-file.py b/tests/twisted/avahi/test-send-file.py
index f32a1f0..414e839 100644
--- a/tests/twisted/avahi/test-send-file.py
+++ b/tests/twisted/avahi/test-send-file.py
@@ -185,25 +185,26 @@ def test(q, bus, conn):
     s.connect(address)
     s.send(FILE_DATA)
 
-    # FIXME: Why this is fired before TransferredBytesChanged?
-    e = q.expect('dbus-signal', signal='FileTransferStateChanged')
-    state, reason = e.args
+    state_changed_event, transferred_event = q.expect_many(
+        EventPattern('dbus-signal', signal='FileTransferStateChanged'),
+        EventPattern('dbus-signal', signal='TransferredBytesChanged'))
+
+    state, reason = state_changed_event.args
     assert state == FT_STATE_COMPLETED
     assert reason == FT_STATE_CHANGE_REASON_NONE
 
+    count = transferred_event.args[0]
+    while count < FILE_SIZE:
+        # Catch TransferredBytesChanged until we transfered all the data
+        e = q.expect('dbus-signal', signal='TransferredBytesChanged')
+        count = e.args[0]
+
     response = http.getresponse()
     assert (response.status, response.reason) == (200, 'OK')
     data = response.read(FILE_SIZE)
     # Did we received the right file?
     assert data == FILE_DATA
 
-    transfered = False
-    while not transfered:
-        e = q.expect('dbus-signal', signal='TransferredBytesChanged')
-        count = e.args[0]
-        if count == FILE_SIZE:
-            transfered = True
-
     channel.Close()
     q.expect('dbus-signal', signal='Closed')
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list