[telepathy-gabble/master] jingle/stun-server.py: break race when waiting for the google:jingleinfo IQ

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Aug 10 02:22:55 PDT 2009


Events ordering isn't garantee. Furthermore, just wait for the Connected
StatusChanged signal as we don't need the other events.
---
 tests/twisted/jingle/stun-server.py |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/tests/twisted/jingle/stun-server.py b/tests/twisted/jingle/stun-server.py
index 68fae21..36f6d64 100644
--- a/tests/twisted/jingle/stun-server.py
+++ b/tests/twisted/jingle/stun-server.py
@@ -21,20 +21,18 @@ def test(q, bus, conn, stream,
     # Connecting
     conn.Connect()
 
-    q.expect_many(
-            EventPattern('dbus-signal', signal='StatusChanged',
-                args=[cs.CONN_STATUS_CONNECTING, cs.CSR_REQUESTED]),
-            EventPattern('stream-authenticated'),
-            EventPattern('dbus-signal', signal='PresenceUpdate',
-                args=[{1L: (0L, {u'available': {}})}]),
-            EventPattern('dbus-signal', signal='StatusChanged',
-                args=[cs.CONN_STATUS_CONNECTED, cs.CSR_REQUESTED]),
-            )
+    expected = [EventPattern('dbus-signal', signal='StatusChanged',
+                args=[cs.CONN_STATUS_CONNECTED, cs.CSR_REQUESTED])]
 
     if google:
         # See: http://code.google.com/apis/talk/jep_extensions/jingleinfo.html
-        event = q.expect('stream-iq', query_ns='google:jingleinfo',
-                to='test at localhost')
+        expected.append(EventPattern('stream-iq', query_ns='google:jingleinfo',
+                to='test at localhost'))
+
+    events = q.expect_many(*expected)
+
+    if google:
+        event = events[-1]
         jingleinfo = make_result_iq(stream, event.stanza)
         stun = jingleinfo.firstChildElement().addElement('stun')
         server = stun.addElement('server')
-- 
1.5.6.5



More information about the telepathy-commits mailing list