瀏覽代碼

Fix running supervisord when mock is not installed

Mike Naberezny 11 年之前
父節點
當前提交
79c9d8174b

+ 0 - 11
supervisor/compat.py

@@ -132,17 +132,6 @@ except ImportError: # pragma: no cover
     except ImportError:
         iterparse = None
 
-
-try: # pragma: no cover
-    from unittest.mock import Mock, patch, sentinel
-except ImportError: # pragma: no cover
-    from mock import Mock, patch, sentinel
-
-try: # pragma: no cover
-    import unittest.mock as mock
-except ImportError: # pragma: no cover
-    import mock
-
 try: # pragma: no cover
     from xmlrpc.client import Fault
 except ImportError: # pragma: no cover

+ 14 - 0
supervisor/tests/base.py

@@ -5,6 +5,20 @@ from supervisor.compat import total_ordering
 from supervisor.compat import Fault
 from supervisor.compat import as_string
 
+# mock is imported here for py2/3 compat.  we only declare mock as a dependency
+# via tests_require so it is not available on all supervisor installs.  the
+# modules imported in supervisor.compat must always be available.
+
+try: # pragma: no cover
+    from unittest.mock import Mock, patch, sentinel
+except ImportError: # pragma: no cover
+    from mock import Mock, patch, sentinel
+
+try: # pragma: no cover
+    import unittest.mock as mock
+except ImportError: # pragma: no cover
+    import mock
+
 class DummyOptions:
 
     make_pipes_error = None

+ 1 - 1
supervisor/tests/test_datatypes.py

@@ -5,7 +5,7 @@ import signal
 import tempfile
 import unittest
 
-from supervisor.compat import Mock, patch, sentinel
+from supervisor.tests.base import Mock, patch, sentinel
 from supervisor.compat import maxint
 
 from supervisor import datatypes

+ 7 - 7
supervisor/tests/test_loggers.py

@@ -7,10 +7,10 @@ import shutil
 import os
 import syslog
 
-from supervisor.compat import mock
 from supervisor.compat import PY3
 from supervisor.compat import as_string
 
+from supervisor.tests.base import mock
 from supervisor.tests.base import DummyStream
 from supervisor import read_file
 
@@ -64,7 +64,7 @@ class BareHandlerTests(HandlerTests, unittest.TestCase):
         inst = self._makeOne(stream=stream)
         inst.closed = True
         self.assertEqual(inst.close(), None)
-        
+
     def test_close_stream_fileno_above_3(self):
         stream = DummyStream(fileno=50)
         inst = self._makeOne(stream=stream)
@@ -104,7 +104,7 @@ class BareHandlerTests(HandlerTests, unittest.TestCase):
         inst.emit(record)
         self.assertEqual(stream.flushed, False)
         self.assertEqual(stream.written, '')
-        
+
 class FileHandlerTests(HandlerTests, unittest.TestCase):
     def _getTargetClass(self):
         from supervisor.loggers import FileHandler
@@ -328,8 +328,8 @@ class RotatingFileHandlerTests(FileHandlerTests):
         inst = self._makeOne(self.filename)
         inst.maxBytes = 0
         self.assertEqual(inst.doRollover(), None)
-        
-        
+
+
 class BoundIOTests(unittest.TestCase):
     def _getTargetClass(self):
         from supervisor.loggers import BoundIO
@@ -446,7 +446,7 @@ class LoggerTests(unittest.TestCase):
         handler = DummyHandler(LevelsByName.CRIT)
         logger = self._makeOne(LevelsByName.CRIT, (handler,))
         self.assertRaises(NotImplementedError, logger.getvalue)
-        
+
 
 class MockSysLog(mock.Mock):
     def __call__(self, *args, **kwargs):
@@ -481,7 +481,7 @@ class SyslogHandlerTests(HandlerTests, unittest.TestCase):
         handler.handleError = lambda: handled.append(True)
         handler.emit(record)
         self.assertEqual(handled, [True])
-        
+
 
     @mock.patch('syslog.syslog', MockSysLog())
     def test_emit_ascii_noerror(self):

+ 1 - 1
supervisor/tests/test_options.py

@@ -13,8 +13,8 @@ import errno
 from supervisor import read_file
 from supervisor.compat import StringIO
 from supervisor.compat import as_bytes
-from supervisor.compat import Mock, sentinel, patch
 
+from supervisor.tests.base import Mock, sentinel, patch
 from supervisor.tests.base import DummySupervisor
 from supervisor.tests.base import DummyLogger
 from supervisor.tests.base import DummyOptions

+ 1 - 1
supervisor/tests/test_process.py

@@ -5,10 +5,10 @@ import sys
 import time
 import unittest
 
-from supervisor.compat import Mock, patch, sentinel
 from supervisor.compat import as_bytes
 from supervisor.compat import maxint
 
+from supervisor.tests.base import Mock, patch, sentinel
 from supervisor.tests.base import DummyOptions
 from supervisor.tests.base import DummyPConfig
 from supervisor.tests.base import DummyProcess