|
@@ -1,5 +1,6 @@
|
|
|
import sys
|
|
|
import unittest
|
|
|
+import xmlrpclib
|
|
|
from StringIO import StringIO
|
|
|
|
|
|
from supervisor.tests.base import DummyRPCServer
|
|
@@ -54,6 +55,16 @@ class ControllerTests(unittest.TestCase):
|
|
|
' enabled in the configuration file'
|
|
|
' (see sample.conf).\n')
|
|
|
|
|
|
+ def test__upcheck_reraises_other_xmlrpc_faults(self):
|
|
|
+ options = DummyClientOptions()
|
|
|
+ from supervisor.xmlrpc import Faults
|
|
|
+ def f(*arg, **kw):
|
|
|
+ raise xmlrpclib.Fault(Faults.FAILED, '')
|
|
|
+ options._server.supervisor.getVersion = f
|
|
|
+ controller = self._makeOne(options)
|
|
|
+ controller.stdout = StringIO()
|
|
|
+ self.assertRaises(xmlrpclib.Fault, controller.upcheck)
|
|
|
+
|
|
|
def test__upcheck_catches_socket_error_ECONNREFUSED(self):
|
|
|
options = DummyClientOptions()
|
|
|
import socket
|
|
@@ -88,6 +99,17 @@ class ControllerTests(unittest.TestCase):
|
|
|
output = controller.stdout.getvalue()
|
|
|
self.assertTrue('no such file' in output)
|
|
|
|
|
|
+ def test__upcheck_reraises_other_socket_faults(self):
|
|
|
+ options = DummyClientOptions()
|
|
|
+ import socket
|
|
|
+ import errno
|
|
|
+ def f(*arg, **kw):
|
|
|
+ raise socket.error(errno.EBADF, '')
|
|
|
+ options._server.supervisor.getVersion = f
|
|
|
+ controller = self._makeOne(options)
|
|
|
+ controller.stdout = StringIO()
|
|
|
+ self.assertRaises(socket.error, controller.upcheck)
|
|
|
+
|
|
|
def test_onecmd(self):
|
|
|
options = DummyClientOptions()
|
|
|
controller = self._makeOne(options)
|