def runTest(self): x = Manager() self.assertEquals(repr(x), "<Manager (q: 0 c: 0 h: 0) [S]>") a = Foo() x += a self.assertEquals(repr(x), "<Manager (q: 1 c: 3 h: 3) [S]>") x.flush() self.assertEquals(repr(x), "<Manager (q: 0 c: 3 h: 3) [S]>") x.push(Test(), "foo") self.assertEquals(repr(x), "<Manager (q: 1 c: 3 h: 3) [S]>") x.flush() self.assertEquals(repr(x), "<Manager (q: 0 c: 3 h: 3) [S]>") x -= a self.assertEquals(repr(x), "<Manager (q: 1 c: 0 h: 0) [S]>")
def testLogger(self): """Test Debugger Logger Test Debugger using dummy Logger-like object (normally logging.Logger) """ manager = Manager() logger = Logger() foo = Foo() debugger = Debugger(logger=logger) manager += debugger manager += foo e = Event() manager.push(e, "foo") manager.flush() manager.flush() self.assertEquals(logger.msg, repr(e)) foo.unregister()
def testLogger(self): """Test Debugger Logger Test Debugger using dummy Logger-like object (normally logging.Logger) """ manager = Manager() logger = Logger() foo = Foo() debugger = Debugger(logger=logger) manager += debugger manager += foo e = Event() manager.push(e, "foo") manager.flush() manager.flush() self.assertEquals(logger.msg, repr(e)) foo.unregister()
def testThread(self): """Test Thread Test Thread """ x = Manager() w = Foo() x += w w.start() x.push(Test(), "foo") while w.alive: pass x.flush() self.assertEquals(w.count, 5) self.assertTrue(w.done) self.assertTrue(w.flag) x -= w
def testThread(self): """Test Thread Test Thread """ x = Manager() w = Foo() x += w w.start() x.push(Test(), "foo") while w.alive: pass x.flush() self.assertEquals(w.count, 5) self.assertTrue(w.done) self.assertTrue(w.flag) x -= w
def runTest(self): import time self.flag = False self.foo = False @handler("test") def onTEST(test, time, stop=False): test.flag = True @handler("test") def onFOO(test, time, stop=False): test.foo = True @handler("bar") def onBAR(test, time): pass @handler(filter=True) def onSTOP(*args, **kwargs): return kwargs.get("stop", False) manager = Manager() manager.add(onSTOP) manager.add(onTEST, ("*", "test")) manager.add(onFOO, ("*", "test")) manager.add(onBAR, ("*", "bar")) self.assertTrue(onSTOP in manager._globals) self.assertTrue(onTEST in manager.channels[("*", "test")]) self.assertTrue(onFOO in manager.channels[("*", "test")]) self.assertTrue(onBAR in manager.channels[("*", "bar")]) self.assertEquals(len(manager._handlers), 3) manager.push(Test(self, time.time()), "test") manager.flush() self.assertTrue(self.flag == True) self.flag = False self.assertTrue(self.foo == True) self.foo = False self.assertEquals(len(manager), 0) manager.send(Test(self, time.time()), "test") self.assertTrue(self.flag == True) self.flag = False manager.send(Test(self, time.time()), "test") self.assertTrue(self.flag == True) self.flag = False manager.send(Test(self, time.time(), stop=True), "test") self.assertTrue(self.flag == False) manager.remove(onSTOP) manager.remove(onTEST, ("*", "test")) manager.remove(onFOO, ("*", "test")) manager.remove(onBAR, ("*", "bar")) self.assertEquals(len(manager._handlers), 0)
def runTest(self): class ErrorHandler(Component): def __init__(self): super(ErrorHandler, self).__init__() self.type = None self.value = None self.traceback = None def exception(self, type, value, traceback, handler=None): self.type = type self.value = value self.traceback = traceback self.handler = handler class TestError(Component): def test1(self): return x def test2(self): return self.x def test3(self): raise RuntimeError() m = Manager() e = ErrorHandler() m += e t = TestError() m += t m.push(Event(), "test1") m.flush(); m.flush() self.assertTrue(e.type is NameError) self.assertTrue(isinstance(e.value, NameError)) self.assertEquals(e.handler, t.test1) m.push(Event(), "test2") m.flush(); m.flush() self.assertTrue(e.type is AttributeError) self.assertTrue(isinstance(e.value, AttributeError)) self.assertEquals(e.handler, t.test2) m.push(Event(), "test3") m.flush(); m.flush() self.assertTrue(e.type is RuntimeError) self.assertTrue(isinstance(e.value, RuntimeError)) self.assertEquals(e.handler, t.test3)