[Supervisor-checkins] r908 - in supervisor/trunk/src/supervisor: . tests
Mike Naberezny
mike at maintainable.com
Sat Oct 24 22:32:19 EDT 2009
Author: Mike Naberezny <mike at maintainable.com>
Date: Sat Oct 24 22:32:18 2009
New Revision: 908
Log:
Show a nicer error message for domain socket users also.
Modified:
supervisor/trunk/src/supervisor/supervisorctl.py
supervisor/trunk/src/supervisor/tests/test_supervisorctl.py
Modified: supervisor/trunk/src/supervisor/supervisorctl.py
==============================================================================
--- supervisor/trunk/src/supervisor/supervisorctl.py (original)
+++ supervisor/trunk/src/supervisor/supervisorctl.py Sat Oct 24 22:32:18 2009
@@ -227,6 +227,10 @@
if why[0] == errno.ECONNREFUSED:
self.output('%s refused connection' % self.options.serverurl)
return False
+ elif why[0] == errno.ENOENT:
+ msg = 'ERROR: %s no such file (already shut down?)'
+ self.output(msg % self.options.serverurl)
+ return False
raise
return True
@@ -771,6 +775,9 @@
if e[0] == errno.ECONNREFUSED:
msg = 'ERROR: %s refused connection (already shut down?)'
self.ctl.output(msg % self.ctl.options.serverurl)
+ elif e[0] == errno.ENOENT:
+ msg = 'ERROR: %s no such file (already shut down?)'
+ self.ctl.output(msg % self.ctl.options.serverurl)
else:
raise
else:
Modified: supervisor/trunk/src/supervisor/tests/test_supervisorctl.py
==============================================================================
--- supervisor/trunk/src/supervisor/tests/test_supervisorctl.py (original)
+++ supervisor/trunk/src/supervisor/tests/test_supervisorctl.py Sat Oct 24 22:32:18 2009
@@ -540,9 +540,24 @@
result = plugin.do_shutdown('')
self.assertEqual(result, None)
- self.assertEqual(plugin.ctl.stdout.getvalue(),
- 'ERROR: http://localhost:92491 refused'
- ' connection (already shut down?)\n')
+
+ output = plugin.ctl.stdout.getvalue()
+ self.assertTrue('refused connection (already shut down?)' in output)
+
+ def test_shutdown_catches_socket_error_ENOENT(self):
+ plugin = self._makeOne()
+ import socket
+ import errno
+
+ def raise_fault(*arg, **kw):
+ raise socket.error(errno.ENOENT, 'no file')
+ plugin.ctl.options._server.supervisor.shutdown = raise_fault
+
+ result = plugin.do_shutdown('')
+ self.assertEqual(result, None)
+
+ output = plugin.ctl.stdout.getvalue()
+ self.assertTrue('no such file (already shut down?)' in output)
def test_shutdown_reraises_other_socket_errors(self):
plugin = self._makeOne()
More information about the Supervisor-checkins
mailing list