Ejemplo n.º 1
0
 def test_nonempty_multiple_items_before_add(self):
     latch = mitogen.core.Latch()
     latch.put(123)
     latch.put(234)
     select = self.klass([latch], oneshot=False)
     self.assertEquals(123, select.get())
     self.assertEquals(234, select.get())
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(block=False))
Ejemplo n.º 2
0
 def test_nonempty_multiple_items_before_add(self):
     recv = mitogen.core.Receiver(self.router)
     recv._on_receive(mitogen.core.Message.pickled('123'))
     recv._on_receive(mitogen.core.Message.pickled('234'))
     select = self.klass([recv], oneshot=False)
     msg = select.get()
     self.assertEquals('123', msg.unpickle())
     msg = select.get()
     self.assertEquals('234', msg.unpickle())
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(block=False))
Ejemplo n.º 3
0
 def test_true_latch_removed_after_get(self):
     latch = mitogen.core.Latch()
     select = self.klass([latch])
     latch.put(123)
     self.assertEquals(123, select.get())
     self.assertEquals(0, len(select._receivers))
     self.assertEquals(None, latch.notify)
Ejemplo n.º 4
0
 def test_drained_by_other_thread(self):
     latch = mitogen.core.Latch()
     latch.put(123)
     select = self.klass([latch])
     self.assertEquals(123, latch.get())
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(timeout=0.0))
Ejemplo n.º 5
0
 def test_drained_by_other_thread(self):
     recv = mitogen.core.Receiver(self.router)
     recv._on_receive(mitogen.core.Message.pickled('123'))
     select = self.klass([recv])
     msg = recv.get()
     self.assertEquals('123', msg.unpickle())
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(timeout=0.0))
Ejemplo n.º 6
0
 def test_drained_by_other_thread(self):
     recv = mitogen.core.Receiver(self.router)
     recv._on_receive(mitogen.core.Message.pickled('123'))
     select = self.klass([recv])
     msg = recv.get()
     self.assertEquals('123', msg.unpickle())
     self.assertRaises(mitogen.core.TimeoutError,
                       lambda: select.get(timeout=0.0))
Ejemplo n.º 7
0
 def test_true_removed_after_get(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     msg = mitogen.core.Message.pickled('123')
     recv._on_receive(msg)
     msg_ = select.get()
     self.assertEquals(msg, msg_)
     self.assertEquals(0, len(select._receivers))
     self.assertEquals(None, recv.notify)
Ejemplo n.º 8
0
 def test_true_removed_after_get(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     msg = mitogen.core.Message.pickled('123')
     recv._on_receive(msg)
     msg_ = select.get()
     self.assertEquals(msg, msg_)
     self.assertEquals(0, len(select._receivers))
     self.assertEquals(None, recv.notify)
Ejemplo n.º 9
0
    def test_false_latch_persists_after_get(self):
        latch = mitogen.core.Latch()
        select = self.klass([latch], oneshot=False)
        latch.put(123)

        self.assertEquals(123, select.get())
        self.assertEquals(1, len(select._receivers))
        self.assertEquals(latch, select._receivers[0])
        self.assertEquals(select._put, latch.notify)
Ejemplo n.º 10
0
    def test_false_persists_after_get(self):
        recv = mitogen.core.Receiver(self.router)
        select = self.klass([recv], oneshot=False)
        msg = mitogen.core.Message.pickled('123')
        recv._on_receive(msg)

        self.assertEquals(msg, select.get())
        self.assertEquals(1, len(select._receivers))
        self.assertEquals(recv, select._receivers[0])
        self.assertEquals(select._put, recv.notify)
Ejemplo n.º 11
0
    def test_false_persists_after_get(self):
        recv = mitogen.core.Receiver(self.router)
        select = self.klass([recv], oneshot=False)
        msg = mitogen.core.Message.pickled('123')
        recv._on_receive(msg)

        self.assertEquals(msg, select.get())
        self.assertEquals(1, len(select._receivers))
        self.assertEquals(recv, select._receivers[0])
        self.assertEquals(select._put, recv.notify)
Ejemplo n.º 12
0
    def test_receiver(self):
        recv = mitogen.core.Receiver(self.router)  # oneshot
        select = self.klass()
        self.assertFalse(select)
        select.add(recv)
        self.assertTrue(select)

        recv._on_receive(mitogen.core.Message.pickled('123'))
        self.assertTrue(select)
        self.assertEquals('123', select.get().unpickle())
        self.assertFalse(select)
Ejemplo n.º 13
0
    def test_latch(self):
        latch = mitogen.core.Latch()  # oneshot
        select = self.klass()
        self.assertFalse(select)
        select.add(latch)
        self.assertTrue(select)

        latch.put(123)
        self.assertTrue(select)
        self.assertEquals(123, select.get())
        self.assertFalse(select)
Ejemplo n.º 14
0
def master_main(painter, router, select, delay):
    """
    Loop until CTRL+C is pressed, waiting for the next result delivered by the
    Select. Use parse_output() to turn that result ('ps' command output) into
    rich data, and finally repaint the screen if the repaint delay has passed.
    """
    next_paint = 0
    while True:
        msg = select.get()
        parse_output(msg.receiver.host, msg.unpickle())
        if next_paint < time.time():
            next_paint = time.time() + delay
            painter.paint()
Ejemplo n.º 15
0
 def test_nonempty_after_add(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     recv._on_receive(mitogen.core.Message.pickled('123'))
     msg = select.get()
     self.assertEquals('123', msg.unpickle())
Ejemplo n.º 16
0
 def test_timeout(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     self.assertRaises(mitogen.core.TimeoutError,
                       lambda: select.get(timeout=0.1))
Ejemplo n.º 17
0
 def test_timeout_no_receivers(self):
     select = self.klass()
     exc = self.assertRaises(mitogen.select.Error,
                             lambda: select.get(timeout=1.0))
     self.assertEquals(str(exc), self.klass.empty_msg)
Ejemplo n.º 18
0
 def test_timeout_no_receivers(self):
     select = self.klass()
     exc = self.assertRaises(mitogen.select.Error,
         lambda: select.get(timeout=1.0))
     self.assertEquals(str(exc), self.klass.empty_msg)
Ejemplo n.º 19
0
 def test_timeout(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(timeout=0.1))
Ejemplo n.º 20
0
 def test_nonempty_before_add(self):
     latch = mitogen.core.Latch()
     latch.put(123)
     select = self.klass([latch])
     self.assertEquals(123, select.get())
Ejemplo n.º 21
0
 def test_nonempty_after_add(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     recv._on_receive(mitogen.core.Message.pickled('123'))
     msg = select.get()
     self.assertEquals('123', msg.unpickle())
Ejemplo n.º 22
0
 def test_nonempty_receiver_attr_set(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     recv._on_receive(mitogen.core.Message.pickled('123'))
     msg = select.get()
     self.assertEquals(msg.receiver, recv)
Ejemplo n.º 23
0
 def test_nonempty_receiver_attr_set(self):
     recv = mitogen.core.Receiver(self.router)
     select = self.klass([recv])
     recv._on_receive(mitogen.core.Message.pickled('123'))
     msg = select.get()
     self.assertEquals(msg.receiver, recv)
Ejemplo n.º 24
0
 def test_timeout(self):
     latch = mitogen.core.Latch()
     select = self.klass([latch])
     self.assertRaises(mitogen.core.TimeoutError,
         lambda: select.get(timeout=0.1))
Ejemplo n.º 25
0
 def test_empty(self):
     select = self.klass()
     exc = self.assertRaises(mitogen.select.Error,
         lambda: select.get())
     self.assertEquals(str(exc), self.klass.empty_msg)