[telepathy-gabble/master] Add q.[un]forbid_events()

Will Thompson will.thompson at collabora.co.uk
Tue Mar 31 04:49:42 PDT 2009


---
 tests/twisted/servicetest.py |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/tests/twisted/servicetest.py b/tests/twisted/servicetest.py
index 056cd81..dc3fd93 100644
--- a/tests/twisted/servicetest.py
+++ b/tests/twisted/servicetest.py
@@ -73,6 +73,7 @@ class BaseEventQueue:
     def __init__(self, timeout=None):
         self.verbose = False
         self.past_events = []
+        self.forbidden_events = set()
 
         if timeout is None:
             self.timeout = 5
@@ -99,6 +100,20 @@ class BaseEventQueue:
 
         return self.expect(type, **kw)
 
+    def forbid_events(self, patterns):
+        self.forbidden_events.update(set(patterns))
+
+    def unforbid_events(self, patterns):
+        self.forbidden_events.difference_update(set(patterns))
+
+    def _check_forbidden(self, event):
+        for e in self.forbidden_events:
+            if e.match(event):
+                print "forbidden event occurred:"
+                for x in format_event(event):
+                    print x
+                assert False
+
     def expect(self, type, **kw):
         pattern = EventPattern(type, **kw)
 
@@ -107,6 +122,8 @@ class BaseEventQueue:
             self.log('got event:')
             map(self.log, format_event(event))
 
+            self._check_forbidden(event)
+
             if pattern.match(event):
                 self.log('handled')
                 self.log('')
@@ -124,6 +141,8 @@ class BaseEventQueue:
             self.log('got event:')
             map(self.log, format_event(event))
 
+            self._check_forbidden(event)
+
             for i, pattern in enumerate(patterns):
                 if pattern.match(event):
                     self.log('handled')
-- 
1.5.6.5




More information about the telepathy-commits mailing list