[telepathy-gabble/master] Make matching of GroupFlagsChanged signals race-free

Sjoerd Simons sjoerd.simons at collabora.co.uk
Tue Nov 24 10:58:36 PST 2009


---
 tests/twisted/muc/test-muc-ownership.py |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/tests/twisted/muc/test-muc-ownership.py b/tests/twisted/muc/test-muc-ownership.py
index e2f9faf..e8e0bd9 100644
--- a/tests/twisted/muc/test-muc-ownership.py
+++ b/tests/twisted/muc/test-muc-ownership.py
@@ -29,16 +29,18 @@ def test(q, bus, conn, stream):
     call_async(q, conn, 'RequestChannel', cs.CHANNEL_TYPE_TEXT, cs.HT_ROOM,
         room_handle, True)
 
-    gfc, _, _ = q.expect_many(
-        EventPattern('dbus-signal', signal='GroupFlagsChanged'),
+    gfc, _, _, _ = q.expect_many(
+        # Initial group flags
+        EventPattern('dbus-signal', signal='GroupFlagsChanged',
+            predicate=lambda e: e.args[0] != 0),
         EventPattern('dbus-signal', signal='MembersChanged',
             args=[u'', [], [], [], [2], 0, 0]),
+        # Removing CAN_ADD
+        EventPattern('dbus-signal', signal='GroupFlagsChanged',
+          args = [0, cs.GF_CAN_ADD], predicate=lambda e: e.args[0] == 0),
         EventPattern('stream-presence', to='chat at conf.localhost/test'))
     assert gfc.args[1] == 0
 
-    event = q.expect('dbus-signal', signal='GroupFlagsChanged')
-    assert event.args == [0, 1]
-
     # Send presence for anonymous other member of room.
     stream.send(make_muc_presence('owner', 'moderator', 'chat at conf.localhost', 'bob'))
 
-- 
1.5.6.5



More information about the telepathy-commits mailing list