@@ -311,7 +311,6 @@ def test_removeProcessGroup_still_running(self):
311
311
self ._assertRPCError (xmlrpc .Faults .STILL_RUNNING ,
312
312
interface .removeProcessGroup , 'group1' )
313
313
314
-
315
314
def test_startProcess_already_started (self ):
316
315
from supervisor import xmlrpc
317
316
options = DummyOptions ()
@@ -324,6 +323,22 @@ def test_startProcess_already_started(self):
324
323
interface .startProcess , 'foo'
325
324
)
326
325
326
+ def test_startProcess_unknown_state (self ):
327
+ from supervisor import xmlrpc
328
+ from supervisor .states import ProcessStates
329
+ options = DummyOptions ()
330
+ pconfig = DummyPConfig (options , 'foo' , __file__ , autostart = False )
331
+ supervisord = PopulatedDummySupervisor (options , 'foo' , pconfig )
332
+ supervisord .set_procattr ('foo' , 'pid' , 10 )
333
+ supervisord .set_procattr ('foo' , 'state' , ProcessStates .UNKNOWN )
334
+ interface = self ._makeOne (supervisord )
335
+ self ._assertRPCError (
336
+ xmlrpc .Faults .FAILED ,
337
+ interface .startProcess , 'foo'
338
+ )
339
+ process = supervisord .process_groups ['foo' ].processes ['foo' ]
340
+ self .assertEqual (process .spawned , False )
341
+
327
342
def test_startProcess_bad_group_name (self ):
328
343
options = DummyOptions ()
329
344
pconfig = DummyPConfig (options , 'foo' , __file__ , autostart = False )
0 commit comments