Ejemplo n.º 1
0
    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]>")
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
    def testBridge(self):
        """Test Bridge

        Test Bridge
        """

        m1 = Manager()
        b1 = Bridge(bind=8000, nodes=[("127.0.0.1", 8001)])
        b1.IgnoreChannels.extend(["dummy"])
        foo = Foo()
        m1 += b1
        m1 += foo
        m1.start()

        m2 = Manager()
        b2 = Bridge(bind=8001, nodes=[("127.0.0.1", 8000)])
        b2.IgnoreChannels.extend(["dummy"])
        bar = Bar()
        m2 += b2
        m2 += bar
        m2.start()

        m1.push(Event(), "bar")
        m1.push(Event(), "dummy")
        wait()

        self.assertFalse(foo.flag)
        self.assertTrue(bar.flag)

        m2.push(Event(), "foo")
        m2.push(Event(), "dummy")
        wait()

        self.assertTrue(foo.flag)
        self.assertTrue(bar.flag)

        m1.stop()
        m2.stop()

        bar.unregister()
        b2.unregister()

        foo.unregister()
        b1.unregister()
Ejemplo n.º 7
0
    def testBridge(self):
        """Test Bridge

        Test Bridge
        """

        m1 = Manager()
        b1 = Bridge(bind=8000, nodes=[("127.0.0.1", 8001)])
        b1.IgnoreChannels.extend(["dummy"])
        foo = Foo()
        m1 += b1
        m1 += foo
        m1.start()

        m2 = Manager()
        b2 = Bridge(bind=8001, nodes=[("127.0.0.1", 8000)])
        b2.IgnoreChannels.extend(["dummy"])
        bar = Bar()
        m2 += b2
        m2 += bar
        m2.start()

        m1.push(Event(), "bar")
        m1.push(Event(), "dummy")
        wait()

        self.assertFalse(foo.flag)
        self.assertTrue(bar.flag)

        m2.push(Event(), "foo")
        m2.push(Event(), "dummy")
        wait()

        self.assertTrue(foo.flag)
        self.assertTrue(bar.flag)

        m1.stop()
        m2.stop()

        bar.unregister()
        b2.unregister()

        foo.unregister()
        b1.unregister()
Ejemplo n.º 8
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)
Ejemplo n.º 9
0
    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)