From: Heewa Barfchin Date: Sat, 8 Nov 2014 19:40:51 +0000 (-0500) Subject: Cleanup Subprocess when tearing down AsyncTestCase X-Git-Tag: v4.1.0b1~57^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1246%2Fhead;p=thirdparty%2Ftornado.git Cleanup Subprocess when tearing down AsyncTestCase Since an ioloop is created and destroyed between a test's `setUp` and `tearDown`, and Subprocess holds on to an ioloop until `uninitialize`, this allows the next test case to use Subprocess correctly. --- diff --git a/tornado/testing.py b/tornado/testing.py index 4d85abe99..4511863b7 100644 --- a/tornado/testing.py +++ b/tornado/testing.py @@ -19,6 +19,7 @@ try: from tornado.simple_httpclient import SimpleAsyncHTTPClient from tornado.ioloop import IOLoop, TimeoutError from tornado import netutil + from tornado.process import Subprocess except ImportError: # These modules are not importable on app engine. Parts of this module # won't work, but e.g. LogTrapTestCase and main() will. @@ -28,6 +29,7 @@ except ImportError: IOLoop = None netutil = None SimpleAsyncHTTPClient = None + Subprocess = None from tornado.log import gen_log, app_log from tornado.stack_context import ExceptionStackContext from tornado.util import raise_exc_info, basestring_type @@ -214,6 +216,8 @@ class AsyncTestCase(unittest.TestCase): self.io_loop.make_current() def tearDown(self): + # Clean up Subprocess, so it can be used again with a new ioloop. + Subprocess.uninitialize() self.io_loop.clear_current() if (not IOLoop.initialized() or self.io_loop is not IOLoop.instance()):