~vishvananda/nova/network-refactor

« back to all changes in this revision

Viewing changes to vendor/tornado/tornado/test/test_ioloop.py

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
 
 
3
import unittest
 
4
import time
 
5
 
 
6
from tornado import ioloop
 
7
 
 
8
 
 
9
class TestIOLoop(unittest.TestCase):
 
10
    def setUp(self):
 
11
        self.loop = ioloop.IOLoop()
 
12
 
 
13
    def tearDown(self):
 
14
        pass
 
15
 
 
16
    def _callback(self):
 
17
        self.called = True
 
18
        self.loop.stop()
 
19
 
 
20
    def _schedule_callback(self):
 
21
        self.loop.add_callback(self._callback)
 
22
        # Scroll away the time so we can check if we woke up immediately
 
23
        self._start_time = time.time()
 
24
        self.called = False
 
25
 
 
26
    def test_add_callback(self):
 
27
        self.loop.add_timeout(time.time(), self._schedule_callback)
 
28
        self.loop.start() # Set some long poll timeout so we can check wakeup
 
29
        self.assertAlmostEqual(time.time(), self._start_time, places=2)
 
30
        self.assertTrue(self.called)
 
31
 
 
32
 
 
33
if __name__ == "__main__":
 
34
    import logging
 
35
 
 
36
    logging.basicConfig(level=logging.DEBUG, format='%(asctime)s:%(msecs)03d %(levelname)-8s %(name)-8s %(message)s', datefmt='%H:%M:%S')
 
37
 
 
38
    unittest.main()