Selaa lähdekoodia

Test supervisorctl reporting of NO_FILE and NOT_EXECUTABLE when starting a process.

Mike Naberezny 16 vuotta sitten
vanhempi
commit
6b9f4d209f
2 muutettua tiedostoa jossa 18 lisäystä ja 0 poistoa
  1. 4 0
      src/supervisor/tests/base.py
  2. 14 0
      src/supervisor/tests/test_supervisorctl.py

+ 4 - 0
src/supervisor/tests/base.py

@@ -688,6 +688,10 @@ class DummySupervisorRPCNamespace:
             raise Fault(xmlrpc.Faults.BAD_NAME, 'BAD_NAME:BAD_NAME')
         if name == 'BAD_NAME':
             raise Fault(xmlrpc.Faults.BAD_NAME, 'BAD_NAME')
+        if name == 'NO_FILE':
+            raise Fault(xmlrpc.Faults.NO_FILE, 'NO_FILE')
+        if name == 'NOT_EXECUTABLE':
+            raise Fault(xmlrpc.Faults.NOT_EXECUTABLE, 'NOT_EXECUTABLE')
         if name == 'ALREADY_STARTED':
             raise Fault(xmlrpc.Faults.ALREADY_STARTED, 'ALREADY_STARTED')
         if name == 'SPAWN_ERROR':

+ 14 - 0
src/supervisor/tests/test_supervisorctl.py

@@ -283,6 +283,20 @@ class TestDefaultControllerPlugin(unittest.TestCase):
         self.assertEqual(plugin.ctl.stdout.getvalue(),
                          'BAD_NAME: ERROR (no such process)\n')
 
+    def test_start_no_file(self):
+        plugin = self._makeOne()
+        result = plugin.do_start('NO_FILE')
+        self.assertEqual(result, None)
+        self.assertEqual(plugin.ctl.stdout.getvalue(),
+                         'NO_FILE: ERROR (no such file)\n')
+
+    def test_start_not_executable(self):
+        plugin = self._makeOne()
+        result = plugin.do_start('NOT_EXECUTABLE')
+        self.assertEqual(result, None)
+        self.assertEqual(plugin.ctl.stdout.getvalue(),
+                         'NOT_EXECUTABLE: ERROR (file is not executable)\n')
+
     def test_start_alreadystarted(self):
         plugin = self._makeOne()
         result = plugin.do_start('ALREADY_STARTED')