[Telepathy-commits] [telepathy-gabble/master] deal with possible races in signal delivery (1/2)

Senko Rasic senko.rasic at collabora.co.uk
Tue Aug 19 10:52:15 PDT 2008


20080506131150-01440-3ee46f0547e0cb47cd997f640675a61dd5c96cf3.gz
---
 tests/twisted/muc/test-muc-invitation.py |   23 ++++++++-------
 tests/twisted/muc/test-muc-properties.py |   46 +++++++++++++++--------------
 tests/twisted/test-group-race.py         |    3 +-
 3 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/tests/twisted/muc/test-muc-invitation.py b/tests/twisted/muc/test-muc-invitation.py
index 0843335..56fe119 100644
--- a/tests/twisted/muc/test-muc-invitation.py
+++ b/tests/twisted/muc/test-muc-invitation.py
@@ -63,17 +63,7 @@ def expect_text_channel(event, data):
 
     return True
 
- at match('dbus-signal', signal='MembersChanged')
-def expect_add_myself_into_remote_pending(event, data):
-    assert event.args == ['', [], [data['bob_handle']], [],
-            [data['room_self_handle']], 0,
-            data['room_self_handle']]
-    return True
-
- at match('dbus-return', method='AddMembers')
-def expect_add_myself_success(event, data):
-    return True
-
+ at lazy
 @match('stream-presence', to='chat at conf.localhost/test')
 def expect_presence(event, data):
     # Send presence for own membership of room.
@@ -87,6 +77,17 @@ def expect_presence(event, data):
     return True
 
 @match('dbus-signal', signal='MembersChanged')
+def expect_add_myself_into_remote_pending(event, data):
+    assert event.args == ['', [], [data['bob_handle']], [],
+            [data['room_self_handle']], 0,
+            data['room_self_handle']]
+    return True
+
+ at match('dbus-return', method='AddMembers')
+def expect_add_myself_success(event, data):
+    return True
+
+ at match('dbus-signal', signal='MembersChanged')
 def expect_members_changed2(event, data):
     assert event.args == ['', [data['room_self_handle']], [], [],
             [], 0, 0]
diff --git a/tests/twisted/muc/test-muc-properties.py b/tests/twisted/muc/test-muc-properties.py
index ed2f1c1..ad295d8 100644
--- a/tests/twisted/muc/test-muc-properties.py
+++ b/tests/twisted/muc/test-muc-properties.py
@@ -53,28 +53,6 @@ def expect_presence(event, data):
     data['stream'].send(presence)
     return True
 
- at match('dbus-signal', signal='MembersChanged',
-    args=[u'', [2], [], [], [], 0, 0])
-def expect_members_changed2(event, data):
-    return True
-
- at match('dbus-return', method='RequestChannel')
-def expect_request_channel_return(event, data):
-    bus = data['conn']._bus
-    data['text_chan'] = bus.get_object(
-        data['conn']._named_service, event.value[0])
-
-    props_iface = dbus.Interface(data['text_chan'],
-        'org.freedesktop.Telepathy.Properties')
-    props = dict([(name, id)
-        for id, name, sig, flags in props_iface.ListProperties()])
-    call_async(data['test'], props_iface, 'SetProperties',
-        [(props['password'], 'foo'), (props['password-required'], True)])
-
-    data['props_iface'] = props_iface
-    data['props'] = props
-    return True
-
 def add_field(elem, type, var, value):
     field = elem.addElement('field')
     field['type'] = type
@@ -100,12 +78,36 @@ def handle_muc_get_iq(stream, stanza):
     stream.send(iq)
     return True
 
+ at lazy
 @match('stream-iq', to='chat at conf.localhost', iq_type='get',
     query_ns='http://jabber.org/protocol/muc#owner')
 def expect_muc_get_iq1(event, data):
     handle_muc_get_iq(data['stream'], event.stanza)
     return True
 
+ at match('dbus-signal', signal='MembersChanged',
+    args=[u'', [2], [], [], [], 0, 0])
+def expect_members_changed2(event, data):
+    return True
+
+ at match('dbus-return', method='RequestChannel')
+def expect_request_channel_return(event, data):
+    bus = data['conn']._bus
+    data['text_chan'] = bus.get_object(
+        data['conn']._named_service, event.value[0])
+
+    props_iface = dbus.Interface(data['text_chan'],
+        'org.freedesktop.Telepathy.Properties')
+    props = dict([(name, id)
+        for id, name, sig, flags in props_iface.ListProperties()])
+    call_async(data['test'], props_iface, 'SetProperties',
+        [(props['password'], 'foo'), (props['password-required'], True)])
+
+    data['props_iface'] = props_iface
+    data['props'] = props
+    return True
+
+
 @match('stream-iq', to='chat at conf.localhost', iq_type='get',
     query_ns='http://jabber.org/protocol/muc#owner')
 def expect_muc_get_iq2(event, data):
diff --git a/tests/twisted/test-group-race.py b/tests/twisted/test-group-race.py
index 59a480a..d73ef58 100644
--- a/tests/twisted/test-group-race.py
+++ b/tests/twisted/test-group-race.py
@@ -10,10 +10,9 @@ from twisted.words.protocols.jabber.client import IQ
 from twisted.words.xish import domish, xpath
 from twisted.internet import reactor
 
+ at lazy
 @match('dbus-signal', signal='StatusChanged', args=[0, 1])
 def expect_connected(event, data):
-
-
     return True
 
 @match('stream-iq', query_ns='jabber:iq:roster')
-- 
1.5.6.3




More information about the Telepathy-commits mailing list