Exemple #1
0
 def test_waiting(self):
     q = Queue()
     gt1 = spawn(q.get)
     sleep(0)
     self.assertEquals(1, q.getting())
     q.put('hi')
     sleep(0)
     self.assertEquals(0, q.getting())
     self.assertEquals('hi', gt1.wait())
     self.assertEquals(0, q.getting())
Exemple #2
0
 def test_waiting (self):
     q = Queue()
     gt1 = spawn(q.get)
     sleep(0)
     self.assertEquals(1, q.getting())
     q.put('hi')
     sleep(0)
     self.assertEquals(0, q.getting())
     self.assertEquals('hi', gt1.wait())
     self.assertEquals(0, q.getting())
Exemple #3
0
    def test_channel_waiters(self):
        c = Queue(0)
        w1 = spawn(c.get)
        w2 = spawn(c.get)
        w3 = spawn(c.get)
        sleep(0)
        self.assertEquals(c.getting(), 3)
        s1 = spawn(c.put, 1)
        s2 = spawn(c.put, 2)
        s3 = spawn(c.put, 3)

        s1.wait()
        s2.wait()
        s3.wait()
        self.assertEquals(c.getting(), 0)
        # NOTE: we don't guarantee that waiters are served in order
        results = sorted([w1.wait(), w2.wait(), w3.wait()])
        self.assertEquals(results, [1, 2, 3])
Exemple #4
0
    def test_channel_waiters (self):
        c = Queue(0)
        w1 = spawn(c.get)
        w2 = spawn(c.get)
        w3 = spawn(c.get)
        sleep(0)
        self.assertEquals(c.getting(), 3)
        s1 = spawn(c.put, 1)
        s2 = spawn(c.put, 2)
        s3 = spawn(c.put, 3)

        s1.wait()
        s2.wait()
        s3.wait()
        self.assertEquals(c.getting(), 0)
        # NOTE: we don't guarantee that waiters are served in order
        results = sorted([w1.wait(), w2.wait(), w3.wait()])
        self.assertEquals(results, [1, 2, 3])