]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Don't use defaults in reactor.py as they cause unneeded initializations.
authorOvidiu Predescu <ovidiu@gmail.com>
Tue, 12 Jul 2011 20:32:59 +0000 (13:32 -0700)
committerOvidiu Predescu <ovidiu@gmail.com>
Tue, 12 Jul 2011 20:32:59 +0000 (13:32 -0700)
Fix the unittest to not initialize IOLoop's global instance.

tornado/test/runtests.py
tornado/test/twistedreactor_test.py
tornado/twisted/reactor.py

index e18b24f31fd119d20318680bdee7a8cf0576e4d8..cbaa068d8c90e5d8e1e0a5b713a30a97894c0807 100755 (executable)
@@ -14,11 +14,11 @@ TEST_MODULES = [
     'tornado.test.ioloop_test',
     'tornado.test.iostream_test',
     'tornado.test.process_test',
-    'tornado.test.twistedreactor_test',
     'tornado.test.simple_httpclient_test',
     'tornado.test.stack_context_test',
     'tornado.test.template_test',
     'tornado.test.testing_test',
+    'tornado.test.twistedreactor_test',
     'tornado.test.web_test',
     'tornado.test.wsgi_test',
 ]
index e82af3a2a59744c1beb7b3bf70c339c49d312bf8..7f9a383be91582e96faa68369451b32e8bcf7aaf 100644 (file)
@@ -23,14 +23,11 @@ import sys
 import thread
 import unittest
 
-import tornado.twisted.reactor
-tornado.twisted.reactor.install()
-from twisted.internet import reactor
-
 from twisted.internet.interfaces import IReadDescriptor, IWriteDescriptor
 from twisted.python import log
 from tornado.platform.auto import Waker
 
+from tornado.ioloop import IOLoop
 from tornado.twisted.reactor import TornadoReactor
 from tornado.testing import AsyncTestCase, LogTrapTestCase
 
@@ -40,7 +37,7 @@ log.startLogging(sys.stdout)
 
 class ReactorWhenRunningTest(unittest.TestCase):
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
 
     def test_whenRunning(self):
         self._whenRunningCalled = False
@@ -60,7 +57,7 @@ class ReactorWhenRunningTest(unittest.TestCase):
 
 class ReactorCallLaterTest(unittest.TestCase):
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
 
     def test_callLater(self):
         self._laterCalled = False
@@ -80,7 +77,7 @@ class ReactorCallLaterTest(unittest.TestCase):
 
 class ReactorTwoCallLaterTest(unittest.TestCase):
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
 
     def test_callLater(self):
         self._later1Called = False
@@ -110,7 +107,7 @@ class ReactorTwoCallLaterTest(unittest.TestCase):
 
 class ReactorCallFromThreadTest(unittest.TestCase):
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
         self._mainThread = thread.get_ident()
 
     def _newThreadRun(self, a, b):
@@ -130,7 +127,7 @@ class ReactorCallFromThreadTest(unittest.TestCase):
 
 class ReactorCallInThread(unittest.TestCase):
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
         self._mainThread = thread.get_ident()
 
     def _fnCalledInThread(self, *args, **kwargs):
@@ -190,7 +187,7 @@ class ReactorReaderWriterTest(unittest.TestCase):
         fcntl.fcntl(fd, fcntl.F_SETFL, flags | os.O_NONBLOCK)
 
     def setUp(self):
-        self._reactor = TornadoReactor()
+        self._reactor = TornadoReactor(IOLoop())
         r, w = os.pipe()
         self._set_nonblocking(r)
         self._set_nonblocking(w)
@@ -205,7 +202,7 @@ class ReactorReaderWriterTest(unittest.TestCase):
         reads it, check the value and ends the test.
         """
         def checkReadInput(fd):
-            self.assertEqual(fd.read(), 'x')
+            self.assertTrue(fd.read().startswith('x'))
             self._reactor.stop()
         self._reader = Reader(self._p1, checkReadInput)
         self._writer = Writer(self._p2, lambda fd: fd.write('x'))
index 0b6d02f6d4267d04ce45b71b4e35b06b02f9eef0..4f3d1fc7104d82443c978992a3cc539d5c969cb0 100644 (file)
@@ -88,7 +88,9 @@ class TornadoReactor(PosixReactorBase):
     """
     implements(IReactorTime, IReactorFDSet)
 
-    def __init__(self, ioloop=tornado.ioloop.IOLoop.instance()):
+    def __init__(self, ioloop):
+        if not ioloop:
+            ioloop = tornado.ioloop.IOLoop.instance()
         self._ioloop = ioloop
         self._readers = {}
         self._writers = {}
@@ -241,10 +243,12 @@ class TornadoReactor(PosixReactorBase):
         self.running = True
         self._ioloop.start()
 
-def install(ioloop=tornado.ioloop.IOLoop.instance()):
+def install(ioloop=None):
     """
     Install the Tornado reactor.
     """
+    if not ioloop:
+        ioloop = tornado.ioloop.IOLoop.instance()
     reactor = TornadoReactor(ioloop)
     from twisted.internet.main import installReactor
     installReactor(reactor)