Chris McDonough před 18 roky
rodič
revize
a8d52edff8

+ 4 - 1
src/supervisor/rpcinterface.py

@@ -2,6 +2,8 @@ import os
 import time
 import datetime
 
+from supervisor.datatypes import Automatic
+
 from supervisor.options import readFile
 from supervisor.options import tailFile
 from supervisor.options import NotExecutable
@@ -652,6 +654,7 @@ class SupervisorNamespaceRPCInterface:
         state = process.get_state()
         spawnerr = process.spawnerr or ''
         exitstatus = process.exitstatus or 0
+        logfile = process.config.stdout_logfile or 'NONE'
 
         info = {
             'name':process.config.name,
@@ -663,7 +666,7 @@ class SupervisorNamespaceRPCInterface:
             'statename':getProcessStateDescription(state),
             'spawnerr':spawnerr,
             'exitstatus':exitstatus,
-            'logfile':process.config.stdout_logfile,
+            'logfile':logfile,
             'pid':process.pid,
             }
         

+ 19 - 0
src/supervisor/tests/test_rpcinterfaces.py

@@ -732,6 +732,25 @@ class SupervisorNamespaceXMLRPCInterfaceTests(TestBase):
         self.assertEqual(data['spawnerr'], '')
         self.failUnless(data['description'].startswith('pid 111'))
 
+    def test_getProcessInfo_logfile_NONE(self):
+        from supervisor.process import ProcessStates
+
+        options = DummyOptions()
+        config = DummyPConfig(options, 'foo', '/bin/foo',
+                              stdout_logfile=None)
+        process = DummyProcess(config)
+        process.pid = 111
+        process.laststart = 10
+        process.laststop = 11
+        pgroup_config = DummyPGroupConfig(options, name='foo')
+        pgroup = DummyProcessGroup(pgroup_config)
+        pgroup.processes = {'foo':process}
+        supervisord = DummySupervisor(process_groups={'foo':pgroup})
+        interface = self._makeOne(supervisord)
+        data = interface.getProcessInfo('foo')
+
+        self.assertEqual(data['logfile'], 'NONE')
+
     def test_getAllProcessInfo(self):
         from supervisor.process import ProcessStates
         options = DummyOptions()