
    vgğ                       d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZ d dlmZ  G d de j                  Z G d de          Z G d de          Z G d de          Z G d de j                  Z G d de j                  Z G d d          Zd Zedk    r e j        d           dS dS )    N)DummyOptions)DummySupervisor)DummyProcess)DummyPConfig)DummyPGroupConfig)DummyProcessGroup)PopulatedDummySupervisor)_NOW)_TIMEFORMAT)	as_stringPY2)	Automaticc                        e Zd Zd Zd Zd ZdS )TestBasec                     d S N selfs    `/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/supervisor/tests/test_rpcinterfaces.pysetUpzTestBase.setUp           c                     d S r   r   r   s    r   tearDownzTestBase.tearDown   r   r   c                     ddl m} 	  ||i | t          d          # |j        $ r&}|                     |j        |           Y d }~d S d }~ww xY w)Nr   xmlrpczDidn't raise)
supervisorr   AssertionErrorRPCErrorassertEqualcode)r   r#   callableargskwr   insts          r   _assertRPCErrorzTestBase._assertRPCError   s    %%%%%%	1Hd!b!!! !000  	. 	. 	.TY---------	.s    
AA

AN)__name__
__module____qualname__r   r   r(   r   r   r   r   r      sA            1 1 1 1 1r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )MainXMLRPCInterfaceTestsc                     ddl m} |j        S Nr   r   )r   r   RootRPCInterfacer   r   s     r   _getTargetClassz(MainXMLRPCInterfaceTests._getTargetClass(   s    %%%%%%&&r   c                 6     |                                  |i |S r   r2   r   r%   r&   s      r   _makeOnez!MainXMLRPCInterfaceTests._makeOne,   #    %t##%%t2r222r   c                 h    |                      dg          }|                     |j        d            d S )N)r   N)r6   r"   r   r   	interfaces     r   	test_ctorz"MainXMLRPCInterfaceTests.test_ctor/   s6    MM#7"899	-t44444r   c                    t                      }|                     d|fg          }ddlm} |                     |j        j        |j        |dg            |                     |j        j        |j        |dg            |                     |j        j        |j        |ddg           | 	                    |                    |dg           d           d S )	Ndummyr   r   znotthere.hellozsupervisor._readFilezdummy.hello   Hello!)
DummyRPCInterfacer6   r   r   r(   FaultsUNKNOWN_METHODtraverseINCORRECT_PARAMETERSr"   )r   r=   r:   r   s       r   test_traversez&MainXMLRPCInterfaceTests.test_traverse3   s    !##MMGU#3"455	%%%%%%V]9#_i9I2	O 	O 	OV]9#_i3R	9 	9 	9 	V]?#_i*QC	1 	1 	1 	}b* *+3	5 	5 	5 	5 	5r   N)r)   r*   r+   r2   r6   r;   rE   r   r   r   r-   r-   &   sP        ' ' '3 3 35 5 55 5 5 5 5r   r-   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZPdO ZQdP ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdX ZZdY Z[dZ Z\d[ Z]d\ Z^d] Z_d^ Z`d_ Zad` Zbda Zcdb Zddc Zedd Zfde Zgdf Zhdg Zidh Zjdi Zkdj Zldk Zmdl Zndm Zodn Zpdo Zqdp Zrdq Zsdr Ztds Zudt Zvdu Zwdv Zxdw Zydx ZzdyS )z'SupervisorNamespaceXMLRPCInterfaceTestsc                     ddl m} |j        S )Nr   rpcinterface)r   rJ   SupervisorNamespaceRPCInterface)r   rJ   s     r   r2   z7SupervisorNamespaceXMLRPCInterfaceTests._getTargetClassC   s    ++++++;;r   c                 6     |                                  |i |S r   r4   r5   s      r   r6   z0SupervisorNamespaceXMLRPCInterfaceTests._makeOneG   r7   r   c                 2   ddl m} ddlm} t	                      }|                     |          }|                    d           |                     |j        d           |j	        |j
        _        |                     |j        j        |j        d           d S )Nr   r   )SupervisorStatesfoo)r   r   supervisor.supervisordrN   r   r6   _updater"   update_textSHUTDOWNoptionsmoodr(   rA   SHUTDOWN_STATE)r   r   rN   supervisordr:   s        r   test_updatez3SupervisorNamespaceXMLRPCInterfaceTests.test_updateJ   s    %%%%%%;;;;;;%''MM+..	%   .666#3#< V]99;L"	$ 	$ 	$ 	$ 	$r   c                     ddl m} t                      }|                     |          }|                                }|                     ||j                   |                     |j        d           d S )Nr   rI   getAPIVersion)r   rJ   r   r6   rZ   r"   API_VERSIONrR   )r   rJ   rW   r:   versions        r   test_getAPIVersionz:SupervisorNamespaceXMLRPCInterfaceTests.test_getAPIVersionU   sy    ++++++%''MM+..	))++,":;;;.@@@@@r   c                     t                      }|                     |          }|                     |j        |j                   d S r   )r   r6   r"   rZ   
getVersionr   rW   r:   s      r   3test_getAPIVersion_aliased_to_deprecated_getVersionz[SupervisorNamespaceXMLRPCInterfaceTests.test_getAPIVersion_aliased_to_deprecated_getVersion]   s@    %''MM+..	0)2FGGGGGr   c                     t                      }|                     |          }|                                }ddlm} |                     ||j                   |                     |j        d           d S )Nr   )rT   getSupervisorVersion)r   r6   rc   r   rT   r"   VERSIONrR   )r   rW   r:   r\   rT   s        r   test_getSupervisorVersionzASupervisorNamespaceXMLRPCInterfaceTests.test_getSupervisorVersionb   sy    %''MM+..	0022&&&&&&'/222.0FGGGGGr   c                     t                      }|                     |          }|                                }|                     ||j        j                   |                     |j        d           d S )NgetIdentification)r   r6   rg   r"   rT   
identifierrR   )r   rW   r:   rh   s       r   test_getIdentificationz>SupervisorNamespaceXMLRPCInterfaceTests.test_getIdentificationk   sk    %''MM+..	0022
[%8%CDDD.0CDDDDDr   c                 T   ddl m} t                      }|                     |          }|                                }|j        j        } ||          }|                     |d         |           |                     |d         |           |                     |j        d           d S )Nr   )getSupervisorStateDescription	statecode	statenamegetState)	supervisor.statesrk   r   r6   rn   rT   rU   r"   rR   )r   rk   rW   r:   	stateinforl   rm   s          r   test_getStatez5SupervisorNamespaceXMLRPCInterfaceTests.test_getStater   s    CCCCCC%''MM+..	&&((	',	11)<<	;/;;;;/;;;.
;;;;;r   c                    t                      }t          |          }|                     |          }|                     |                                |                                           |                     |j        d           d S )NgetPID)r   r   r6   r"   rs   get_pidrR   )r   rT   rW   r:   s       r   test_getPIDz3SupervisorNamespaceXMLRPCInterfaceTests.test_getPID}   st    ..%g..MM+..	))++W__->->???.99999r   c                     t                      }|                     |          }|                     |j        |j                   d S r   )r   r6   r"   readMainLogreadLogr`   s      r   .test_readLog_aliased_to_deprecated_readMainLogzVSupervisorNamespaceXMLRPCInterfaceTests.test_readLog_aliased_to_deprecated_readMainLog   s@    %''MM+..	.	0ABBBBBr   c                     ddl m} t                      }|                     |          }|                     |j        j        |j        dd           d S )Nr   r   r>   offsetlength)r   r   r   r6   r(   rA   NO_FILErx   r   r   rW   r:   s       r   test_readLog_unreadablez?SupervisorNamespaceXMLRPCInterfaceTests.test_readLog_unreadable   sh    %%%%%%%''MM+..	V]2I4E$%a 	 	1 	1 	1 	1 	1r   c                    ddl m} t                      }|                     |          }	 |j        j        }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   |                     |j	        j
        |j        dd           |                     |j	        j
        |j        dd           t          j        |           d S # t          j        |           w xY w)Nr   r   w+   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr>   r{   )r   r   r   r6   rT   logfileopenwriter(   rA   BAD_ARGUMENTSrx   osremove)r   r   rW   r:   r   fs         r   test_readLog_badargsz<SupervisorNamespaceXMLRPCInterfaceTests.test_readLog_badargs   sB   %%%%%%%''MM+..	
	!)1Ggt$$ $
###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $  !<!*!22a ! I I I  !<!*!22(* ! , , , IgBIgs0   C A)C )A--C 0A-1AC C0c                    t                      }|                     |          }|j        j        }	 t	          |d          5 }|                    d           |                    d           d d d            n# 1 swxY w Y   |                    dd          }|                     |j        d           |                     |d           |                    dd          }|                     |d           |                    dd          }|                     |d           |                    d	d          }|                     |d
           t          j
        |           d S # t          j
        |           w xY w)Nr   r      yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr   r{   rx      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy   yyyy)r   r6   rT   r   r   r   rx   r"   rR   r   r   )r   rW   r:   r   r   datas         r   test_readLogz4SupervisorNamespaceXMLRPCInterfaceTests.test_readLog   s   %''MM+..	%-	gt$$ $
###
###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$Aa$88DY2I>>>T#>???$$D$;;DT:...$$Ad$;;DT:...$$Bq$99DT7+++IgBIgs0   E( +A8,E( 8A<<E( ?A< CE( (E>c                     ddl m} t                      }|                     |          }|                     |j        j        |j                   d S r/   )r   r   r   r6   r(   rA   r~   clearLogr   s       r   test_clearLog_unreadablez@SupervisorNamespaceXMLRPCInterfaceTests.test_clearLog_unreadable   sT    %%%%%%%''MM+..	V]2I4FGGGGGr   c                 |   ddl m} t                      }|j        g|_        t          t          j        t          j	        t          j                            |_
        t          |          }|                     |          }|                     |j        |j                   |                     |j        d           d S )Nr   r   r   )r   r   r   r   existingOSErrorerrnoEPERMr   strerrorremove_exceptionr   r6   assertRaisesr!   r   r"   rR   )r   r   rT   rW   r:   s        r   test_clearLog_unremoveablezBSupervisorNamespaceXMLRPCInterfaceTests.test_clearLog_unremoveable   s    %%%%%%..#O,#*5;+-;u{+C+C$E $E %g..MM+..	&/9+=>>>.
;;;;;r   c                    t                      }|j        g|_        t          |          }|                     |          }|                                }|                     |j        d           |                     |d           |                     |j        d         |j                   |j	        j
        j        D ]}|                     |j        d           d S )Nr   Tr   )r   r   r   r   r6   r   r"   rR   removedrT   loggerhandlersreopened)r   rT   rW   r:   resulthandlers         r   test_clearLogz5SupervisorNamespaceXMLRPCInterfaceTests.test_clearLog   s    ..#O,%g..MM+..	##%%.
;;;&&&+W_==="*1: 	5 	5GW-t4444	5 	5r   c                     t                      }|                     |          }|                                }|                     |d           |                     |j        j        d           d S )NTr   )r   r6   shutdownr"   rT   rU   r   rW   r:   values       r   test_shutdownz5SupervisorNamespaceXMLRPCInterfaceTests.test_shutdown   sg    %''MM+..	""$$%%%,1266666r   c                     t                      }|                     |          }|                                }|                     |d           |                     |j        j        d           d S )NTr   )r   r6   restartr"   rT   rU   r   s       r   test_restartz4SupervisorNamespaceXMLRPCInterfaceTests.test_restart   sg    %''MM+..	!!##%%%,1155555r   c                 F   t                      }t          |          }|                     |          }t          |d          gt          |d          gt          |d          ggfd|_        |                                }|                     |dgdgdggg           d S )Naddedchangeddroppedc                       S r   r   )changess   r   <lambda>zKSupervisorNamespaceXMLRPCInterfaceTests.test_reloadConfig.<locals>.<lambda>   s    g r   )r   r   r6   r   diff_to_activereloadConfigr"   )r   rT   rW   r:   r   r   s        @r   test_reloadConfigz9SupervisorNamespaceXMLRPCInterfaceTests.test_reloadConfig   s    ..%g..MM+..	&w889&w	::;&w	::;> &6%5%5%5"&&((7)i[9+!F GHHHHHr   c                     ddl m} t                      }d }||_        t	          |          }|                     |          }|                     |j        j        |j	                   d S )Nr   r   c                       t          d          )NrO   )
ValueError)argr&   s     r   	raise_exczmSupervisorNamespaceXMLRPCInterfaceTests.test_reloadConfig_process_config_raises_ValueError.<locals>.raise_exc   s    U###r   )
r   r   r   process_configr   r6   r(   rA   CANT_REREADr   )r   r   rT   r   rW   r:   s         r   2test_reloadConfig_process_config_raises_ValueErrorzZSupervisorNamespaceXMLRPCInterfaceTests.test_reloadConfig_process_config_raises_ValueError   sv    %%%%%%..	$ 	$ 	$!*%g..MM+..	V]6	8NOOOOOr   c                 8   ddl m} ddlm} t	                      } ||          }t          |dt          d          }t          |d|g          }|g|j        _	        | 
                    |          }|                    d          }|                     |           |                     t          |j                                                  dg           |                     |j        j        |j        d           |                     t          |j                                                  dg           |                     |j        j        |j        d	           |                     t          |j                                                  dg           d S 
Nr   
Supervisorr   rO   F	autostartgroup1pconfigsasdf)rP   r   r   r   r   r   __file__r   rT   process_group_configsr6   addProcessGroup
assertTruer"   listprocess_groupskeysr(   rA   ALREADY_ADDEDBAD_NAME)	r   r   r   rT   rW   pconfiggconfigr:   r   s	            r   test_addProcessGroupz<SupervisorNamespaceXMLRPCInterfaceTests.test_addProcessGroup   s   555555%%%%%%.. j))wx5III#GX	JJJ5<I1MM+..	**844k8==??@@8*MMMV]8&6	B 	B 	Bk8==??@@8*MMMV]3&6	@ 	@ 	@k8==??@@8*MMMMMr   c                    ddl m} t                      } ||          }t          |dt          d          }t          |d|g          }|g|j        _        |                     |          }|	                    d           |
                    d          }|                     |           |                     t          |j                                                  g            d S )Nr   r   rO   Fr   r   r   )rP   r   r   r   r   r   rT   r   r6   r   removeProcessGroupr   r"   r   r   r   )r   r   rT   rW   r   r   r:   r   s           r   test_removeProcessGroupz?SupervisorNamespaceXMLRPCInterfaceTests.test_removeProcessGroup  s    555555.. j))wx5III#GX	JJJ5<I1MM+..	!!(+++--h77k8==??@@"EEEEEr   c                 6   ddl m} ddlm} t	                      } ||          }t          |dt          d          }t          |d|g          }|g|j        _	        | 
                    |          }|                     |j        j        |j        d	           d S r   )rP   r   r   r   r   r   r   r   rT   r   r6   r(   rA   r   r   )r   r   r   rT   rW   r   r   r:   s           r    test_removeProcessGroup_bad_namezHSupervisorNamespaceXMLRPCInterfaceTests.test_removeProcessGroup_bad_name  s    555555%%%%%%.. j))wx5III#GX	JJJ5<I1MM+..	V]3&96	C 	C 	C 	C 	Cr   c                 v   ddl m} ddlm} t	                      } ||          }t          |dt          d          }t          |d|g          }|g|j        _	        t          |          }d	g|_        d|i|_        |                     |          }|                     |j        j        |j        d           d S )
Nr   r   r   rO   Fr   r   r   {   )rP   r   r   r   r   r   r   r   rT   r   r   unstopped_processesr   r6   r(   rA   STILL_RUNNINGr   )	r   r   r   rT   rW   r   r   processr:   s	            r   %test_removeProcessGroup_still_runningzMSupervisorNamespaceXMLRPCInterfaceTests.test_removeProcessGroup_still_running+  s    555555%%%%%%.. j))wx5III#GX	JJJ5<I1#G,,'*e#&.w%7"MM+..	V]8&98	E 	E 	E 	E 	Er   c                 $   ddl m} t                      }t          |dt          d          }t          |d|          }|                    ddd           |                     |          }|                     |j	        j
        |j        d           d S )Nr   r   rO   Fr   pid
   )r   r   r   r   r   r	   set_procattrr6   r(   rA   ALREADY_STARTEDstartProcessr   r   rT   r   rW   r:   s         r   !test_startProcess_already_startedzISupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_already_started:  s    %%%%%%..wx5III.wwGG  r222MM+..	M)"E	 	 	 	 	r   c                    ddl m} ddlm} t	                      }t          |dt          d          }t          |d|          }|                    ddd           |                    dd	|j	                   | 
                    |          }|                     |j        j        |j        d           |j        d         j        d         }|                     |j        d           d S )
Nr   r   ProcessStatesrO   Fr   r   r   state)r   r   ro   r   r   r   r   r	   r   UNKNOWNr6   r(   rA   FAILEDr   r   	processesr"   spawned)r   r   r   rT   r   rW   r:   r   s           r   test_startProcess_unknown_statezGSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_unknown_stateF  s    %%%%%%333333..wx5III.wwGG  r222  1FGGGMM+..	M "E	 	 	 ,U3=eD%00000r   c                     t                      }t          |dt          d          }t          |d|          }|                     |          }ddlm} |                     |j        j	        |j
        d           d S )NrO   Fr   r   r   r   z
group2:foor   r   r   r	   r6   r   r   r(   rA   r   r   r   rT   r   rW   r:   r   s         r    test_startProcess_bad_group_namezHSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_bad_group_nameV      ..wx5III.w'JJMM+..	%%%%%%V]3&3\	C 	C 	C 	C 	Cr   c                     t                      }t          |dt          d          }t          |d|          }|                     |          }ddlm} |                     |j        j	        |j
        d           d S )NrO   Fr   r   r   r   z
group1:barr   r   s         r   "test_startProcess_bad_process_namezJSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_bad_process_name_  r   r   c                 6   t                      }t          |ddd          }ddlm} t	          |d|          }|j        d         j        d         }||_        |                     |          }ddl	m
} |                     |j        j        |j        d           d S )NrO   /foo/barFr   r   )NotFoundr   )r   r   supervisor.optionsr   r	   r   r   execv_arg_exceptionr6   r   r   r(   rA   r~   r   )r   rT   r   r   rW   r   r:   r   s           r    test_startProcess_file_not_foundzHSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_file_not_foundh  s    ..
eLLL//////.wwGG,U3=eD&.#MM+..	%%%%%%V]2&3U	< 	< 	< 	< 	<r   c                 6   t                      }t          |ddd          }ddlm} t	          |d|          }|j        d         j        d         }||_        |                     |          }ddl	m
} |                     |j        j        |j        d           d S )NrO   r   Fr   r   )
BadCommandr   )r   r   r   r  r	   r   r   r   r6   r   r   r(   rA   NOT_EXECUTABLEr   )r   rT   r   r  rW   r   r:   r   s           r   test_startProcess_bad_commandzESupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_bad_commandt  s    ..wzUKKK111111.wwGG,U3=eD&0#MM+..	%%%%%%V]9&3U	< 	< 	< 	< 	<r   c                 6   t                      }t          |ddd          }ddlm} t	          |d|          }|j        d         j        d         }||_        |                     |          }ddl	m
} |                     |j        j        |j        d           d S )NrO   r   Fr   r   )NotExecutabler   )r   r   r   r  r	   r   r   r   r6   r   r   r(   rA   r  r   )r   rT   r   r  rW   r   r:   r   s           r   %test_startProcess_file_not_executablezMSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_file_not_executable  s    ..
eLLL444444.wwGG,U3=eD&3#MM+..	%%%%%%V]9&3U	< 	< 	< 	< 	<r   c                 x   ddl m} t                      }t          |dt          d          }ddlm} t          |d|          }|                    dd|j	                   |j
        d         j        d         }d|_        |                     |          }|                     |j        j        |j        d           d S )	Nr   r   rO   Fr   r   r   abc)r   r   r   r   r   supervisor.processr   r	   r   STOPPEDr   r   spawnerrr6   r(   rA   SPAWN_ERRORr   )r   r   rT   r   r   rW   r   r:   s           r   test_startProcess_spawnerrzBSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_spawnerr  s    %%%%%%..wx5III444444.wwGG  1FGGG,U3=eD MM+..	M%"	 	 	 	 	r   c                    t                      }t          |dt          dd          }ddlm} t          |d|          }|                    dd|j                   |                     |          }|	                    d          }|j
        d         j        d         }|                     |j        d           |                     |j        d	           |j        |_        |                     |d           d S )
NrO   F{Gz?r   	startsecsr   r   r   Tr   )r   r   r   r  r   r	   r   r  r6   r   r   r   r"   r   rR   RUNNINGr   r   rT   r   r   rW   r:   r   r   s           r   test_startProcessz9SupervisorNamespaceXMLRPCInterfaceTests.test_startProcess  s    ..wx5),. . .444444.wwGG  1FGGGMM+..	''..,U3=eD$///.???%-&&&&&r   c                   	
 ddl m} t                      }t          |dt          d          }ddlm	 t          |d|          }|                    dd	j	                   |j
        d         j        d         
	
fd}
fd	}|
_        |
_        |                     |          }|                    d          }|                     |j        j        |           d S )
Nr   r   rO   Fr   r   r   c                  .    d_          j        _        d S NTr   STARTINGr   r   r   s   r   spawnz[SupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_spawnerr_in_onwait.<locals>.spawn      "GO)2GMMMr   c                      d _         d S )Nr
  )r  )r   s   r   
transitionz`SupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_spawnerr_in_onwait.<locals>.transition  s    $Gr   )r   r   r   r   r   r  r   r	   r   r  r   r   r  r   r6   r   r(   rA   r  )r   r   rT   r   rW   r  r   r:   callbackr   r   s            @@r   $test_startProcess_spawnerr_in_onwaitzLSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_spawnerr_in_onwait  s   %%%%%%..wx5III444444.wwGG  1FGGG,U3=eD	3 	3 	3 	3 	3 	3	% 	% 	% 	% 	%'MM+..	))%00V]6AAAAAr   c                    t                      }t          |dt          d          }ddlm t          |d|          }|                    ddj                   |j        d         j	        d         fd}|_
        |                     |          }|                    d          }j        _        |                      |            d           d S )	NrO   Fr   r   r   r   c                  .    d_          j        _        d S r  r  r  s   r   r  zZSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_success_in_onwait.<locals>.spawn  r  r   T)r   r   r   r  r   r	   r   r  r   r   r  r6   r   r  r   r"   )	r   rT   r   rW   r  r:   r!  r   r   s	          @@r   #test_startProcess_success_in_onwaitzKSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_success_in_onwait  s    ..wx5III444444.wwGG  1FGGG,U3=eD	3 	3 	3 	3 	3 	3 MM+..	))%00%-T*****r   c                    t                      }t          |dt          d          }ddlm} t          |d|          }|                    dd|j                   |                     |          }|	                    dd          }| 
                    |d           |j        d         j        d         }| 
                    |j        d           | 
                    |j        d	           d S )
NrO   Fr   r   r   r   waitTr   )r   r   r   r  r   r	   r   r  r6   r   r"   r   r   r   rR   r  s           r   test_startProcess_nowaitz@SupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_nowait  s    ..wx5III444444.wwGG  1FGGGMM+..	''E'::&&&,U3=eD$///.?????r   c                   
 t                      }t          |dt          d          }ddlm
 ddlm} t          |d|          }|                    dd
j	                   | 
                    |          }|j        d         j        d         
fd}|_        |                    dd	          } |            }|                     ||j                   |                     j        d
           |                     |j        d           
j        _        ddlm}	 |                     |	j        j        |           d S )NrO   Fr   r   r   httpr   c                  .    d_          j        _        d S r  r  r  s   r   r  zjSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_abnormal_term_process_not_running.<locals>.spawn  r  r   d   Tr   r   )r   r   r   r  r   r   r,  r	   r   r  r6   r   r   r  r   r"   NOT_DONE_YETr   rR   BACKOFFr   r   r(   rA   ABNORMAL_TERMINATION)r   rT   r   r,  rW   r:   r  r!  r   r   r   r   s             @@r   3test_startProcess_abnormal_term_process_not_runningz[SupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_abnormal_term_process_not_running  sg   ..wx5III444444######.wwGG  1FGGGMM+..	,U3=eD	3 	3 	3 	3 	3 	3 ))%55!2333$///.???%-%%%%%%V]?JJJJJr   c                    t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }d	d
lm} |                    dd|j                   |                    dd|j                   |                     |          }|	                    d           | 
                    |j        d           d S )Nprocess1Fr  r  process2   priorityr  rO   r   r   r   foo:*startProcessGroup)r   r   r   r	   r  r   r   r  r6   r   r"   rR   r   rT   pconfig1pconfig2rW   r   r:   s          r   /test_startProcess_splat_calls_startProcessGroupzWSupervisorNamespaceXMLRPCInterfaceTests.test_startProcess_splat_calls_startProcessGroup  s    ..X),. . .X*-/ / /.w/7C C444444  Wm6KLLL  Wm6KLLLMM+..	w'''.0CDDDDDr   c           	         t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }dd	lm} dd
lm} |                    dd|j	                   |                    dd|j	                   | 
                    |          }|                    d          }|                      |            d|j        dddd|j        dddg           |                     |j        d           |j        d         j        d         }	|                     |	j        d           |j        d         j        d         }
|                     |
j        d           d S )Nr4  r>   r  r7  r5  r6  rO   r   r   rA   r   OKgroupstatusdescriptionnamer   T)r   r   r   r	   r  r   supervisor.xmlrpcrA   r   r  r6   r:  r"   SUCCESSrR   r   r   r   )r   rT   r<  r=  rW   r   rA   r:   r!  r4  r5  s              r   test_startProcessGroupz>SupervisorNamespaceXMLRPCInterfaceTests.test_startProcessGroup   s   ..X*-/ / /X*-/ / /.wx/79 9444444,,,,,,  Wm6KLLL  Wm6KLLLMM+..	..u55HJJ! " " ! " "		 	 	 	.???-e4>zJ)4000-e4>zJ)400000r   c           	         t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }dd	lm} |                    dd
|j                   |                    dd
|j                   |                     |          }|	                    dd          }ddl
m} |                      |            d|j        dddd|j        dddg           d S Nr4  r>   r  r7  r5  r6  rO   r   r   r   Fr'  r@  rA  rB  )r   r   r   r	   r  r   r   r  r6   r:  rG  rA   r"   rH  	r   rT   r<  r=  rW   r   r:   r!  rA   s	            r   test_startProcessGroup_nowaitzESupervisorNamespaceXMLRPCInterfaceTests.test_startProcessGroup_nowait"  sF   ..X*-/ / /X*-/ / /.wx/79 9444444  Wm6KLLL  Wm6KLLLMM+..	..u5.AA,,,,,,HJJ! " " ! " "		 	 	 	 	r   c                     ddl m} t                      }|                     |          }|                     |j        j        |j        d           d S Nr   r   rO   )r   r   r   r6   r(   rA   r   r:  r   s       r   test_startProcessGroup_badnamezFSupervisorNamespaceXMLRPCInterfaceTests.test_startProcessGroup_badname>  sf    %%%%%%%''MM+..	V]3&8%	A 	A 	A 	A 	Ar   c           	         t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }dd	lm} |                    dd
|j                   |                    dd
|j                   |                     |          }|	                                }ddl
m} |                      |            d|j        dddd|j        dddg           |                     |j        d           |j        d         j        d         }	|                     |	j        d           |j        d         j        d         }
|                     |
j        d           d S )Nr4  r>   r  r7  r5  r6  rO   r   r   r   r@  rA  rB  r   T)r   r   r   r	   r  r   r   r  r6   startAllProcessesrG  rA   r"   rH  rR   r   r   r   )r   rT   r<  r=  rW   r   r:   r!  rA   r4  r5  s              r   test_startAllProcessesz>SupervisorNamespaceXMLRPCInterfaceTests.test_startAllProcessesF  s   ..X*-/ / /X*-/ / /.wx/79 9444444  Wm6KLLL  Wm6KLLLMM+..	..00,,,,,,HJJ! " " ! " "		 	 	 	.???-e4>zJ)4000-e4>zJ)400000r   c           	         t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }dd	lm} |                    dd
|j                   |                    dd
|j                   |                     |          }|	                    d          }ddl
m} |                      |            d|j        dddd|j        dddg           d S rK  )r   r   r   r	   r  r   r   r  r6   rR  rG  rA   r"   rH  rL  s	            r   test_startAllProcesses_nowaitzESupervisorNamespaceXMLRPCInterfaceTests.test_startAllProcesses_nowaitj  sD   ..X*-/ / /X*-/ / /.wx/79 9444444  Wm6KLLL  Wm6KLLLMM+..	..E.::,,,,,,HJJ! " " ! " "		 	 	 	 	r   c                 >   t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   |                     |          }|                    d          }| 	                    |           | 
                    |j        d           |j        d         j        d         }| 
                    |j        d           | 
                    |j        d           |                     |j                   | 
                    |j        |j                   | 	                    |j                   | 
                    t+          |j        d         j                  d           | 
                    |j        d           d S )NrO   /bin/foor   r   r   stopProcessr>   )r   r   r  r   r	   r   r  r6   rX  r   r"   rR   r   r   backoffdelayassertFalsekillingr   r  stop_report_calledlenr  s           r   test_stopProcessz8SupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess  s|   ..wz::444444.wwGG  1FGGGMM+..	&&u--.>>>,U3=eD!,,,***)))(=>>>2333[7>HII1MMM.>>>>>r   c                    t                      }t          |dt                    }ddlm} t          |d|          }|                    dd|j                   |                     |          }|	                    dd          }| 
                    |d           |j        d         j        d         }| 
                    |j        d           |                     |j                   | 
                    |j        d           d S )	NrO   r   r   r   Fr'  TrX  )r   r   r   r  r   r	   r   r  r6   rX  r"   r   r   stop_calledr   r]  rR   r  s           r   test_stopProcess_nowaitz?SupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_nowait  s    ..wx88444444.wwGG  1FGGGMM+..	&&u5&99&&&,U3=eD,d3332333.>>>>>r   c                   	 t                      }t          |dd          }ddlm} t	          |d|          }|j        d         j        d         }|j        |j        |j	        g		fd}||_
        |                     |          }|                    d          }|                     |j        d           |                      |                       d S )NrO   rW  r   r   c                  .                          d          S Nr   popLs   r   	get_statez]SupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_success_in_onwait.<locals>.get_state      5588Or   rX  )r   r   r  r   r	   r   r   r  STOPPINGr  rj  r6   rX  r"   rR   r   )
r   rT   r   r   rW   r   rj  r:   r!  ri  s
            @r   "test_stopProcess_success_in_onwaitzJSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_success_in_onwait  s    ..wz::444444.wwGG,U3=eD#$#&	 	 	 	 	%MM+..	((//.>>>

#####r   c                   
 ddl m} t                      }t          |dd          }ddlm} t          |d|          }|j        d         j        d         }|j	        |j
        |j
        g

fd}||_        |                     |          }|                    d          }	|                      |	            |           |                     |j        d           d S )Nr   r/  rO   rW  r   c                  .                          d          S re  rf  rh  s   r   rj  zYSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_NDY_in_onwait.<locals>.get_state  rk  r   rX  )supervisor.httpr/  r   r   r  r   r	   r   r   r  rl  rj  r6   rX  r"   rR   )r   r/  rT   r   r   rW   r   rj  r:   r!  ri  s             @r   test_stopProcess_NDY_in_onwaitzFSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_NDY_in_onwait  s    000000..wz::444444.wwGG,U3=eD#$$'	 	 	 	 	%MM+..	((//\222.>>>>>r   c                     ddl m} t                      }|                     |          }|                     |j        |j        d           d S )Nr   r@  rO   )rG  rA   r   r6   r(   r   rX  )r   rA   rW   r:   s       r   test_stopProcess_bad_namezASupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_bad_name  s^    ,,,,,,%''MM+..	V_&2E	; 	; 	; 	; 	;r   c                 "   ddl m} ddlm} t	                      }t          |dd          }t          |d|          }|                    dd|j                   | 	                    |          }| 
                    |j        |j        d           d S )Nr   r   r@  rO   rW  r   )ro   r   rG  rA   r   r   r	   r   EXITEDr6   r(   NOT_RUNNINGrX  )r   r   rA   rT   r   rW   r:   s          r   test_stopProcess_not_runningzDSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_not_running  s    333333,,,,,,..wz::.wwGG  1EFFFMM+..	V/1FNNNNNr   c                    ddl m} t                      }t          |dd          }t	          |d|          }|                    ddd            |                     |          }|                     |j        |j	        d           d S )Nr   r@  rO   rW  stopc                      dS )Nunstoppabler   r   r   r   r   zQSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_failed.<locals>.<lambda>  s     r   )
rG  rA   r   r   r	   r   r6   r(   r   rX  )r   rA   rT   r   rW   r:   s         r   test_stopProcess_failedz?SupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_failed  s    ,,,,,,..wz::.wwGG  0E0EFFFMM+..	V]I,A5IIIIIr   c           	         t                      }t          |ddd          }t          |ddd          }dd	lm} t	          |d
||          }|                    dd|j                   |                    dd|j                   |                     |          }|                    d
          }| 	                    |j
        d           ddlm} |j        }		  |            }	|	|j        urnddlm}
 | 	                    |	|
j        d
ddd|
j        d
dddg           |j        d
         j        d         }| 	                    |j        d           |j        d
         j        d         }| 	                    |j        d           d S )Nr4  rW  r>   r8  r5  	/bin/foo2r6  r   r   rO   r   stopProcessGroupr+  r@  rA  rD  rC  rF  rE  T)r   r   r  r   r	   r   r  r6   r  r"   rR   r   r,  r/  rG  rA   rH  r   r   ra  r   rT   r<  r=  r   rW   r:   r!  r,  r   rA   r4  r5  s                r   test_stopProcessGroupz=SupervisorNamespaceXMLRPCInterfaceTests.test_stopProcessGroup  s   ..Z!LLL[1MMM444444.wx/79 9  Wm6KLLL  Wm6KLLLMM+..	--e44.0BCCC######!	HJJED---	
 	-,,,,,~ " "
 ~ " "
! 
	 
	 
	 -e4>zJ-t444-e4>zJ-t44444r   c           	         t                      }t          |dt          d          }t          |dt          d          }t          |d||          }ddlm} |                    dd	|j                   |                    dd	|j                   |                     |          }|	                    dd
          }ddl
m} |                      |            ddd|j        dddd|j        dg           d S )Nr4  r>   r  r5  r6  rO   r   r   r   Fr'  r@  rA  )rF  rE  rC  rD  )r   r   r   r	   r  r   r   r  r6   r  rG  rA   r"   rH  rL  s	            r   test_stopProcessGroup_nowaitzDSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcessGroup_nowait  s4   ..XJJJXJJJ.wx/79 9444444  Wm6KLLL  Wm6KLLLMM+..	--e%-@@,,,,,,HJJ# $!>+ + $ $!>+ +		 	 	 	 	r   c                     ddl m} t                      }|                     |          }|                     |j        j        |j        d           d S rO  )r   r   r   r6   r(   rA   r   r  r   s       r   test_stopProcessGroup_badnamezESupervisorNamespaceXMLRPCInterfaceTests.test_stopProcessGroup_badname#  sf    %%%%%%%''MM+..	V]3&7	@ 	@ 	@ 	@ 	@r   c                    t                      }t          |dt          dd          }t          |dt          dd          }t          |d||          }d	d
lm} |                    dd|j                   |                    dd|j                   |                     |          }|	                    d           | 
                    |j        d           d S )Nr4  Fr  r  r5  r6  r7  rO   r   r   r   r9  r  )r   r   r   r	   r  r   r   r  r6   rX  r"   rR   r;  s          r   -test_stopProcess_splat_calls_stopProcessGroupzUSupervisorNamespaceXMLRPCInterfaceTests.test_stopProcess_splat_calls_stopProcessGroup*  s    ..X),. . .X*-/ / /.w/7C C444444  Wm6KLLL  Wm6KLLLMM+..	g&&&.0BCCCCCr   c           	         t                      }t          |ddd          }t          |ddd          }dd	lm} t	          |d
||          }|                    dd|j                   |                    dd|j                   |                     |          }|                                }| 	                    |j
        d           ddlm} |j        }		  |            }	|	|j        urnddlm}
 | 	                    |	|
j        d
ddd|
j        d
dddg           |j        d
         j        d         }| 	                    |j        d           |j        d
         j        d         }| 	                    |j        d           d S )Nr4  rW  r>   r  r5  r  r6  r   r   rO   r   stopAllProcessesr+  r@  rA  r  T)r   r   r  r   r	   r   r  r6   r  r"   rR   r   r,  r/  rG  rA   rH  r   r   ra  r  s                r   test_stopAllProcessesz=SupervisorNamespaceXMLRPCInterfaceTests.test_stopAllProcesses9  s   ..Z!LLL[1MMM444444.wx/79 9  Wm6KLLL  Wm6KLLLMM+..	--//.0BCCC######!	HJJED---	
 	-,,,,,~ " "
 ~ " "
! 
	 
	 
	 -e4>zJ-t444-e4>zJ-t44444r   c           	         t                      }t          |dt          d          }t          |dt          d          }t          |d||          }ddlm} |                    dd	|j                   |                    dd	|j                   |                     |          }|	                    d
          }ddl
m} |                      |            d|j        dddd|j        dddg           d S )Nr4  r>   r  r5  r6  rO   r   r   r   Fr'  r@  rA  rB  )r   r   r   r	   r  r   r   r  r6   r  rG  rA   r"   rH  rL  s	            r   test_stopAllProcesses_nowaitzDSupervisorNamespaceXMLRPCInterfaceTests.test_stopAllProcesses_nowait]  s2   ..XJJJXJJJ.wx/79 9444444  Wm6KLLL  Wm6KLLLMM+..	--5-99,,,,,,HJJ! " " ! " "		 	 	 	 	r   c                    t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   |                     |          }|                    dd          }| 	                    |j
        d           | 	                    |d           |j        |j                 j        d         }| 	                    |j        d           d S 	NrO   rW  r   r   r   r   signalProcessT)r   r   r  r   r	   r   r  r6   r  r"   rR   r   
group_namer   sent_signalr   rT   r   r   rW   r:   r   ps           r   %test_signalProcess_with_signal_numberzMSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_with_signal_numberw  s    ..wz::444444.wwGG  1FGGGMM+..	((33.@@@&&&&{'=>HO+++++r   c                    t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   ddlm} d} ||          }| 	                    |          }|
                    d|          }	|                     |j        d           |                     |	d	           |j        |j                 j        d         }
|                     |
j        |           d S )
NrO   rW  r   r   r   signal_numberquitr  T)r   r   r  r   r	   r   r  supervisor.datatypesr  r6   r  r"   rR   r   r  r   r  )r   rT   r   r   rW   r  signamesignumr:   r   r  s              r   #test_signalProcess_with_signal_namezKSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_with_signal_name  s   ..wz::444444.wwGG  1FGGG666666w''MM+..	((88.@@@&&&&{'=>HO/////r   c                    t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   |                     |          }|                    dd          }| 	                    |j
        d           | 	                    |d           |j        |j                 j        d         }| 	                    |j        d           d S r  )r   r   r  r   r	   r   rl  r6   r  r"   rR   r   r  r   r  r  s           r   test_signalProcess_stoppingzCSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_stopping  s    ..wz::444444.wwGG  1GHHHMM+..	((33.@@@&&&&{'=>HO+++++r   c                 .   t                      }t          |dd          }ddlm} ddlm} t          |d|          }|                    dd|j                   | 	                    |          }| 
                    |j        j        |j        dd           d S )NrO   rW  r   r   r   r      )r   r   r  r   r   r   r	   r   r  r6   r(   rA   
BAD_SIGNALr  r   rT   r   r   r   rW   r:   s          r   test_signalProcess_badsignalzDSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_badsignal  s    ..wz::444444%%%%%%.wwGG  1FGGGMM+..	M$i&=uc	 	 	 	 	r   c                 .   t                      }t          |dd          }ddlm} ddlm} t          |d|          }|                    dd|j                   | 	                    |          }| 
                    |j        j        |j        dd           d S )NrO   rW  r   r   r   r   r   )r   r   r  r   r   r   r	   r   r  r6   r(   rA   rw  r  r  s          r   test_signalProcess_notrunningzESupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_notrunning  s    ..wz::444444%%%%%%.wwGG  1FGGGMM+..	M%y'>r	 	 	 	 	r   c                    t                      }t          |dd          }ddlm} ddlm} t          |d|          }|                    dd|j                   d }|j	        |j
                 }|j        d         }||_        |                     |          }	|                     |j        j        |	j        dd           d S )	NrO   rW  r   r   r   r   c                     dS )Nmsgr   )sigs    r   signalreturnzgSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_signal_returns_message.<locals>.signalreturn  s    5r   r   )r   r   r  r   r   r   r	   r   r  r   r  r   signalr6   r(   rA   r   r  )
r   rT   r   r   r   rW   r  pgroupprocr:   s
             r   )test_signalProcess_signal_returns_messagezQSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_signal_returns_message  s    ..wz::444444%%%%%%.wwGG  1FGGG	 	 	+K,BC&"MM+..	M )"95"	 	 	 	 	r   c           	         t                      }t          |dd          }t          |dd          }ddlm} t	          |d||          }|                    dd|j                   |                    dd|j                   |                     |          }|	                    d	d
          }| 
                    |j        d           t          |t          j        d                    }ddlm} | 
                    ||j        dddd|j        ddddg           |j        d         j        d         }	| 
                    |	j        d
           |j        d         j        d         }
| 
                    |
j        d
           dS )z Test that sending foo:* works r4  rW  r5  r  r   r   rO   r   r9  r   signalProcessGrouprF  keyr@  rA  r  N)r   r   r  r   r	   r   r  rl  r6   r  r"   rR   sortedoperator
itemgetterrG  rA   rH  r   r   r  r   rT   r<  r=  r   rW   r:   r   rA   r4  r5  s              r   test_signalProcess_withgroupzDSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcess_withgroup  s   ..Z@@[AA444444.wx/79 9  Wm6KLLL  Wm6LMMMMM+..	(("55.0DEEE H$7$?$?@@@,,,,,,~ " "
 ~ " "
" 
	 
	 
	 -e4>zJ-r222-e4>zJ-r22222r   c           	         t                      }t          |dd          }t          |dd          }ddlm} t	          |d||          }|                    dd|j                   |                    dd|j                   |                     |          }|                    dd	          }| 	                    |j
        d
           t          |t          j        d                    }ddlm} | 	                    ||j        dddd|j        ddddg           |j        d         j        d         }	| 	                    |	j        d	           |j        d         j        d         }
| 	                    |
j        d	           d S )Nr4  rW  r5  r  r   r   rO   r   r   r  rF  r  r@  rA  r  )r   r   r  r   r	   r   r  r6   r  r"   rR   r  r  r  rG  rA   rH  r   r   r  r  s              r   *test_signalProcessGroup_with_signal_numberzRSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcessGroup_with_signal_number  s   ..Z@@[AA444444.wx/79 9  Wm6KLLL  Wm6KLLLMM+..	--eR88.0DEEEH$7$?$?@@@,,,,,,~ " "
 ~ " "
" 
	 
	 
	 -e4>zJ-r222-e4>zJ-r22222r   c                    t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   ddlm} d} ||          }| 	                    |          }|
                    d|          }	|                     |j        d	           dd
lm}
 |                     |	|
j        ddddg           |j        d         j        d         }|                     |j        |           d S )Nr4  rW  r   r   rO   r   r  termr  r@  rA  r  )r   r   r  r   r	   r   r  r  r  r6   r  r"   rR   rG  rA   rH  r   r   r  r   rT   r<  r   rW   r  r  r  r:   r   rA   r4  s               r   (test_signalProcessGroup_with_signal_namezPSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcessGroup_with_signal_name  s?   ..Z@@444444.wxHH  Wm6KLLL666666w''MM+..	--eW==.0DEEE,,,,,,~ " "" 	 	 	 -e4>zJ-v66666r   c                    ddl m} t                      }t          |dd          }t          |dd          }ddlm} t          |d||          }|                    dd	|j                   |                    dd	|j                   | 	                    |          }| 
                    |j        j        |j        d
d           d S )Nr   r   r4  rW  r5  r  r   rO   r   barr   )r   r   r   r   r  r   r	   r   r  r6   r(   rA   r   r  )r   r   rT   r<  r=  r   rW   r:   s           r   #test_signalProcessGroup_nosuchgroupzKSupervisorNamespaceXMLRPCInterfaceTests.test_signalProcessGroup_nosuchgroup0  s    %%%%%%..Z@@[AA444444.wx/79 9  Wm6KLLL  Wm6KLLLMM+..	V]3(%	 	 	 	 	r   c           	         t                      }t          |dd          }t          |dd          }ddlm} t	          |d||          }|                    dd|j                   |                    dd|j                   |                     |          }|                    d	          }| 	                    |j
        d
           t          |t          j        d                    }ddlm} | 	                    ||j        dddd|j        ddddg           |j        d         j        d         }	| 	                    |	j        d	           |j        d         j        d         }
| 	                    |
j        d	           d S )Nr4  rW  r5  r  r   r   rO   r   r   signalAllProcessesrF  r  r@  rA  r  )r   r   r  r   r	   r   r  r6   r  r"   rR   r  r  r  rG  rA   rH  r   r   r  r  s              r   *test_signalAllProcesses_with_signal_numberzRSupervisorNamespaceXMLRPCInterfaceTests.test_signalAllProcesses_with_signal_number?  s   ..Z@@[AA444444.wx/79 9  Wm6KLLL  Wm6KLLLMM+..	--b11.0DEEE H$7$?$?@@@,,,,,,~ " "
 ~ " "
" 
	 
	 
	 -e4>zJ-r222-e4>zJ-r22222r   c                    t                      }t          |dd          }ddlm} t	          |d|          }|                    dd|j                   ddlm} d} ||          }| 	                    |          }|
                    |          }	|                     |j        d	           dd
lm}
 |                     |	|
j        ddddg           |j        d         j        d         }|                     |j        |           d S )Nr4  rW  r   r   rO   r   r  hupr  r@  rA  r  )r   r   r  r   r	   r   r  r  r  r6   r  r"   rR   rG  rA   rH  r   r   r  r  s               r   (test_signalAllProcesses_with_signal_namezPSupervisorNamespaceXMLRPCInterfaceTests.test_signalAllProcesses_with_signal_name`  s=   ..Z@@444444.wxHH  Wm6KLLL666666w''MM+..	--g66.0DEEE,,,,,,~ " "" 	 	 	 -e4>zJ-v66666r   c                 
   t                      }t          |d          }t          |dt          t          t                    }t          |dt          d d           }t          |d||g          }dt          |          i|_        |g|j        _	        | 
                    |          }|                                }|                     |d         d         d	           |                     |d         d
         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d         d           |                     |d         d          d!           |                     |d         d"         d           |                     |d         d#         d           |                     |d         d         d           |                     |d         d$         d	           |                     |d         d%         d           |                     |d         d&         d           d'|d         d(         v sJ |                     |d)         d         d	           |                     |d)         d
         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d           |                     |d)         d         d*           |                     |d)         d          d!           |                     |d)         d"         d           |                     |d)         d#         d           |                     |d)         d         d           |                     |d)         d$         d	           |                     |d)         d%         d*           |                     |d)         d&         d           d'|d         d(         v sJ d S )+NrO   r4  )stdout_logfilestderr_logfiler5  r   r   r   r   Tstopwaitsecsr   stdout_events_enabledFstderr_events_enabledrC  stdout_capture_maxbytesrF  
stopsignal   stderr_syslogstdout_logfile_maxbytes
group_prioi  killasgroupprocess_priostdout_syslogstderr_logfile_maxbytesr  redirect_stderrr  auto	exitcodes)r   stderr_capture_maxbytesstartretriesinuser  stdout_logfile_backupsztest_rpcinterfaces.pycommandr>   none)r   r   r   r   r   r   r   r   rT   r   r6   getAllConfigInfor"   )r   rT   rW   r<  r=  r   r:   configss           r   test_getAllConfigInfoz=SupervisorNamespaceXMLRPCInterfaceTests.test_getAllConfigInfoy  s   ..%gu55X/8/8" " "  X/3/3" " " $GX8@TUUU&.0A'0J0J%K"5<I1MM+..	,,..K0$777N3R888$;<eDDD$;<eDDDG,h777$=>BBBF+Z888L12666O4e<<<$=>BBBL13777M2E:::N3S999O4e<<<$=>BBBK0"555$56>>>$45v>>>K0$777$=>BBBN3S999$=>BBBG,d333$45v>>>$<=qAAA&'!*Y*?????K0$777N3R888$;<eDDD$;<eDDDG,h777$=>BBBF+Z888L12666O4e<<<$=>BBBL13777M2E:::N3S999O4e<<<$=>BBBK0"555$56>>>$45v>>>K0$777$=>BBBN3S999$=>BBBG,d333$45v>>>$<=qAAA&'!*Y*???????r   c           	      `   t                      }t          |d          }t          |dt                    }t          |dt                    }t	          |d||g          }dt          |          i|_        |g|j        _        | 	                    |          }t          d           g}	 ddlm} |                    |           n# t          $ r Y nw xY w|D ]W}	|                                D ]@}
|
                                D ])\  }}|                     t%          ||	          |           *AXd S )NrO   r4  r5  r   r   r   )Enum)r   r   r   r   r   r   r   rT   r   r6   typeenumr  appendImportErrorr  itemsr[  
isinstance)r   rT   rW   r<  r=  r   r:   unmarshallablesr  typconfigkvs                r   >test_getAllConfigInfo_filters_types_not_compatible_with_xmlrpczfSupervisorNamespaceXMLRPCInterfaceTests.test_getAllConfigInfo_filters_types_not_compatible_with_xmlrpc  sb   ..%gu55X>>X>>#GX8@TUUU&.0A'0J0J%K"5<I1MM+..	::,	!!!!!!""4(((( 	 	 	D	 # 	< 	<C#4466 < <"LLNN < <DAq$$Z3%7%7;;;;<<	< 	<s   (C 
CCc                 n   t                      }|                     |          }t          dz
  }t          dz
  }ddlm} dd|j        ||t          d}|                    |          }|                     |d           dd	|j        ||t          d
d}|                    |          }|                     |d
           dd	|j        ||t          dd}	|                    |	          }|                     |d           dd|j	        ||t          dd}
|                    |
          }ddl
m
}  |t          j        |          d d          }|                     ||                    t                               dd|j	        d|t          dd}|                    |          }|                     |d           d S )Nr.  r>   r   r   runningrF  r   r   startrz  nowzpid 1, uptime 0:01:40fatalr6  Hosed)rF  r   r   r  rz  r  r   z unknown error (try "tail fatal")stopped   datetime   zNot started)r   r6   r
   r  r   r  _interpretProcessInfor"   FATALr  r  time	localtimestrftimer   )r   rW   r:   r  rz  r   r  rE  r  fatal2r  r  stoptimestopped2s                 r   test__interpretProcessInfozBSupervisorNamespaceXMLRPCInterfaceTests.test__interpretProcessInfo  s   %''MM+..	c	a444444#(0    55g>>&=>>>&,#% %  55e<<g... '-" "  55f==&HIII#(0  # #  55g>>%%%%%%8T^D11"1"56h&7&7&D&DEEE$(0 # #  55h??m44444r   c                     t                      }|                     |          }ddlm} dd|j        t
          dz   d t
          d}|                    |          }|                     |d           d S )Nr   r   r  *   r   r  zpid 42, uptime 0:00:00)r   r6   r  r   r  r
   r  r"   )r   rW   r:   r   r  rE  s         r   8test__interpretProcessInfo_doesnt_report_negative_uptimez`SupervisorNamespaceXMLRPCInterfaceTests.test__interpretProcessInfo_doesnt_report_negative_uptime  s    %''MM+..	444444$)1 2I     55g>>&>?????r   c                 j   ddl m} t                      }t          |ddd          }t	          |          }d|_        d|_        d	|_        t          |d
          }t          |          }d|i|_
        t          d|i          }|                     |          }|                    d          }	|                     |j        d           |                     |	d         d           |                     |	d         d           |                     |	d         d           |                     |	d         d           |                     |	d         d           |                     |	d         d           |                     |	d         d	           |                     |	d         |j                   |                     |	d         d           |                     |	d         d           |                     |	d         d           |                     |	d                             d                     d S )Nr   r   rO   rW  z/tmp/fleeb.barr  o   r      rF  r   getProcessInfor   r  r  r  rF  r   r  rz  r   rm   r  
exitstatusr  rE  pid 111)r  r   r   r   r   r   	laststartlaststopr   r   r   r   r6   r  r"   rR   r  r   
startswith)
r   r   rT   r  r   pgroup_configr  rW   r:   r   s
             r   test_getProcessInfoz;SupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo$  s0   444444..guj-=? ? ?v&&)'>>>"=11!'?%eF^DDDMM+..	''...0@AAAi*:;;;./1ABBB./444fu---ec***g+++fr***g(=>>>k*I666l+Q///j)2...]+66yAABBBBBr   c                    t                      }t          |ddd           }t          |          }d|_        d|_        d|_        t          |d          }t          |          }d|i|_        t          d|i          }| 
                    |          }|                    d          }|                     |d	         d
           |                     |d         d
           d S )NrO   rW  r  r  r   r  r  r  r   r  r  )r   r   r   r   r  r  r   r   r   r   r6   r  r"   )	r   rT   r  r   r  r  rW   r:   r   s	            r    test_getProcessInfo_logfile_NONEzHSupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_logfile_NONEC  s    ..guj-13 3 3v&&)'>>>"=11!'?%eF^DDDMM+..	''..i"---./44444r   c                 n   ddl m} t                      }t          |dd          }t	          |d|          }|                    dd|j                   |                     |          }|                    d          }| 	                    |d         d           | 	                    |d         d	           d S )
Nr   r   rO   rW  r   rm   r   rE  r  )
ro   r   r   r   r	   r   r   r6   r  r"   )r   r   rT   r   rW   r:   r   s          r   !test_getProcessInfo_unknown_statezISupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_unknown_stateT  s    333333..wz::.wwGG  1FGGGMM+..	''..k*I666m,b11111r   c                     ddl m} t                      }|                     |          }|                     |j        j        |j        d           d S )Nr   r   nonexistent)r   r   r   r6   r(   rA   r   r  r   s       r   -test_getProcessInfo_bad_name_when_bad_processzUSupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_bad_name_when_bad_process_  sf    %%%%%%%''MM+..	V]3&5}	F 	F 	F 	F 	Fr   c                     ddl m} t                      }t          |dd          }t	          |d|          }|                     |          }|                     |j        j        |j	        d           d S )Nr   r   rO   rW  zfoo:)
r   r   r   r   r	   r6   r(   rA   r   r  r   s         r   ,test_getProcessInfo_bad_name_when_no_processzTSupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_bad_name_when_no_processf  s    %%%%%%..wz::.wwGGMM+..	V]3&5v	? 	? 	? 	? 	?r   c                   	 ddl m	 t                      }t          |ddd           }t	          |          }t          	j        dz             |_        t          	j        dz             |_        t          |d          }t          |          }d|i|_        t          d|i          }|                     |          }	fd	|_        |                    d          }|                     |d
         	j                   |                     |d         	j                   |                     |d         	j                   d S )Nr   	xmlrpclibrO   rW  r  r>   r  r  c                  2    t           j        dz             S Nr>   )floatMAXINTr%  s   r   r   zuSupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_caps_timestamps_exceeding_xmlrpc_maxint.<locals>.<lambda>|  s    y'7!';!<!< r   r  rz  r  )supervisor.compatr&  r   r   r   r)  r*  r  r  r   r   r   r   r6   _nowr  r"   )
r   rT   r  r   r  r  rW   r:   r   r&  s
            @r   ;test_getProcessInfo_caps_timestamps_exceeding_xmlrpc_maxintzcSupervisorNamespaceXMLRPCInterfaceTests.test_getProcessInfo_caps_timestamps_exceeding_xmlrpc_maxinto  sH   //////..guj-13 3 3v&&!)"2Q"677 !1A!566)'>>>"=11!'?%eF^DDDMM+..	<<<<	''..g	(8999fy'7888ei&677777r   c                 	   ddl m} t                      }t          |dddd          }t          |dd	d
d          }t	          |d||          }|                    ddd           |                    ddd           |                    ddd           |                    dd|j                   |                    ddd           |                    ddd           |                    ddd           |                    dd|j                   |                     |          }|	                                }| 
                    |j        d           | 
                    t          |          d
           |d         }| 
                    |d         d           | 
                    |d         d           | 
                    |d         d           | 
                    |d         d           | 
                    |d         d           | 
                    |d         d           | 
                    |d         d           | 
                    |d         |j                   | 
                    |d         d           | 
                    |d         d           | 
                    |d          d           | 
                    |d!         d           |                     |d"                             d#                     |d         }	|j        d         j        d         }
| 
                    |	d         d           | 
                    |	d         d           | 
                    |d         d           | 
                    |	d         d           | 
                    |	d         d           | 
                    |	d         |
j                   | 
                    |	d         d           | 
                    |	d         |j                   | 
                    |	d         d$           | 
                    |	d         d           | 
                    |	d          d           | 
                    |d!         d           dd%lm}  |t'          j        |
j                  d d&          }| 
                    |	d"         |                    t,                               d S )'Nr   r   r4  /bin/process1r>   /tmp/process1.logr8  r  r5  z/bin/process2r6  z/tmp/process2.loggnamer   r  r  r   r  r  r      r  r   r  r  r  rF  r  rz  rm   r  r  r  rC  rE  r  r  r  r   )r  r   r   r   r	   r   r  r  r6   getAllProcessInfor"   rR   r^  r   r  r   r   r  r  r  r  r  r   )r   r   rT   p1configp2configrW   r:   infop1infop2infor5  r  	starttimes                r   test_getAllProcessInfoz>SupervisorNamespaceXMLRPCInterfaceTests.test_getAllProcessInfo  s   444444.._)*/BD D D  _)*/BD D D /w/79 9  UC888  ["===  Z<<<  Wm6KLLL  UA666  ["===  Z<<<  Wm6KLLLMM+..	**,,.0@AAATA&&&a	*,?@@@ 013FGGG 012666444,,,"---,,,-*?@@@,i888-q111
+R000'222}-88CCDDDa-g6@L	*,?@@@ 013FGGG 012666444***(*<===,,,-*?@@@,i888-q111
+R000'222%%%%%%HdnX-?@@!DE	.%..{;;	= 	= 	= 	= 	=r   c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        ddd           d S )	Nr   r   r4  r/  r>   r0  r1  r{   )
r   r   r   r   r	   r6   r(   rA   r~   readProcessStdoutLogr   s         r   $test_readProcessStdoutLog_unreadablezLSupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStdoutLog_unreadable      %%%%%%..w
Oa.AC C C.w
GLLMM+..	V]2&;'! 	 	= 	= 	= 	= 	=r   c                 d   ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    d	           d d d            n# 1 swxY w Y   |                     |j        j        |j        dd
d           |                     |j        j        |j        dd
d
           t!          j        |           d S # t!          j        |           w xY w)Nr   r   r4  r/  r>   r0  r1  r   r   r   r{   )r   r   r   r   r	   r6   r   r   r  r  r   r   r(   rA   r   r=  r   r   	r   r   rT   r   rW   r:   r   r   r   s	            r   !test_readProcessStdoutLog_badargszISupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStdoutLog_badargs     %%%%%%..w
Oa-@B B B.w
GLLMM+..	,Z8B:N./
	gt$$ $
###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $  !<!*!?!+Bq ! B B B   !<!*!?(*2 ! 7 7 7 IgBIg1   4D B&D &B**D -B*.AD D/c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        d	dd
           d S Nr   r   r4  r/  r>   r0  r1  rO   r9  r{   )
r   r   r   r   r	   r6   r(   rA   r   r=  r   s         r   -test_readProcessStdoutLog_bad_name_no_processzUSupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStdoutLog_bad_name_no_process      %%%%%%..w
Oa.AC C C.wwGGMM+..	V]3&;$Qq 	 	: 	: 	: 	: 	:r   c                    t                      }t          |ddd          }t          |d|          }|                     |          }|j        d         j        d         }|j        j        }	 t          |d          5 }|	                    d           |	                    d           d d d            n# 1 swxY w Y   |
                    ddd	          }|                     |j        d
           |                     |d           |
                    ddd	          }|                     |d           |
                    ddd	          }|                     |d           |
                    ddd	          }|                     |d           t          j        |           d S # t          j        |           w xY w)NrO   rW  /tmp/fooooooor  r   r   r   r   r{   r=  r   r   r   r   )r   r   r	   r6   r   r   r  r  r   r   r=  r"   rR   r   r   	r   rT   r   rW   r:   r   r   r   r   s	            r   test_readProcessStdoutLogzASupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStdoutLog     ..wz-<> > >.wwGGMM+..	,U3=eD./	gt$$ $
###
###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 11%!1LLDY24JKKKT#>???11%Q1OODT:...11%$1OODT:...11%11MMDT7+++IgBIg1   -F( =+B4(F( 4B88F( ;B8<CF( (F>c                     t                      }t          |dd          }t          |d|          }|                     |          }|                     |j        |j                   d S NrO   rW  )r   r   r	   r6   r"   readProcessLogr=  r   rT   r   rW   r:   s        r   1test_readProcessLogAliasedTo_readProcessStdoutLogzYSupervisorNamespaceXMLRPCInterfaceTests.test_readProcessLogAliasedTo_readProcessStdoutLog  k    ..wz::.wwGGMM+..	1"7	9 	9 	9 	9 	9r   c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        ddd           d S )	Nr   r   r4  r/  r>   r0  r8  r  r{   )
r   r   r   r   r	   r6   r(   rA   r~   readProcessStderrLogr   s         r   $test_readProcessStderrLog_unreadablezLSupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStderrLog_unreadable  r?  r   c                 d   ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    d	           d d d            n# 1 swxY w Y   |                     |j        j        |j        dd
d           |                     |j        j        |j        dd
d
           t!          j        |           d S # t!          j        |           w xY w)Nr   r   r4  r/  r>   r0  rV  r   r   r   r{   )r   r   r   r   r	   r6   r   r   r  r  r   r   r(   rA   r   rW  r   r   rA  s	            r   !test_readProcessStderrLog_badargszISupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStderrLog_badargs  rC  rD  c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        d	dd
           d S rF  )
r   r   r   r   r	   r6   r(   rA   r   rW  r   s         r   -test_readProcessStderrLog_bad_name_no_processzUSupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStderrLog_bad_name_no_process1  rH  r   c                    t                      }t          |ddd          }t          |d|          }|                     |          }|j        d         j        d         }|j        j        }	 t          |d          5 }|	                    d           |	                    d           d d d            n# 1 swxY w Y   |
                    ddd	          }|                     |j        d
           |                     |d           |
                    ddd	          }|                     |d           |
                    ddd	          }|                     |d           |
                    ddd	          }|                     |d           t          j        |           d S # t          j        |           w xY w)NrO   rW  rJ  r  r   r   r   r   r{   rW  r   r   r   r   )r   r   r	   r6   r   r   r  r  r   r   rW  r"   rR   r   r   rK  s	            r   test_readProcessStderrLogzASupervisorNamespaceXMLRPCInterfaceTests.test_readProcessStderrLog<  rM  rN  c                     ddl m} t                      }|                     |          }|                     |j        j        |j        ddd           d S Nr   r   r   r   )r   r   r   r6   r(   rA   r   tailProcessStdoutLogr   s       r   "test_tailProcessStdoutLog_bad_namezJSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_bad_nameT  j    %%%%%%%''MM+..	V]3&;ZB	P 	P 	P 	P 	Pr   c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        d	dd
           d S Nr   r   r4  r/  r>   r0  r1  rO   r9  r   )
r   r   r   r   r	   r6   r(   rA   r   rb  r   s         r   -test_tailProcessStdoutLog_bad_name_no_processzUSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_bad_name_no_process[      %%%%%%..w
Oa.AC C C.wwGGMM+..	V]3&;Wa	M 	M 	M 	M 	Mr   c                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    ddt          |                    \  }	}
}|                     |j        d	           |                     |d
           |                     |
t          |                     |                     |	|           t!          j        |           d S # t!          j        |           w xY w)Nr   lettersrO   rW  rJ  r  r   r{   rb  Fr+  rk  r   r   r	   r6   r   r   r  r  r   r   rb  r^  r"   rR   r   r   r   rk  rT   r   rW   r:   r   r   r   r   r|   overflows               r   test_tailProcessStdoutLog_allzESupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_alle     ------..wz.=? ? ?.wwGGMM+..	,U3=eD./	gt$$ !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! &/%C%CE?@?B7|| &D &M &M"D&( Y24JKKKXu---VS\\222T7+++IgBIg1   3E B%E %B))E ,B)-BE E/c                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    dt          |          d	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	d           |                    dt          |          dz   d	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	d           t!          j        |           d S # t!          j        |           w xY w)Nr   rj  rO   rW  rJ  r  r   r.  r{   rb  Fr     rl  rm  s               r   test_tailProcessStdoutLog_nonezFSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_none}  T   ------..wz.=? ? ?.wwGGMM+..	,U3=eD./	gt$$ !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! &/%C%CE?B7||?B &D &D &D"D&( Y24JKKKXu---VS\\222T2&&& &/%C%CE?B7||A~?B &D &D &D"D&( Y24JKKKXu---VS\\222T2&&&IgBIg1   3G/ B%G/ %B))G/ ,B)-D,G/ /Hc                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    ddd	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	|dd                     t!          j        |           d S # t!          j        |           w xY w)Nr   rj  rO   rW  rJ  r  r   rs  r{   rb  T)r+  rk  r   r   r	   r6   r   r   r  r  r   r   rb  r"   rR   r^  r   r   rm  s               r   "test_tailProcessStdoutLog_overflowzJSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_overflow     ------..wz-<> > >.wwGGMM+..	,U3=eD./	gt$$ !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! &/%C%CE?@ &D &L &L"D&(Y24JKKKXt,,,VS\\222T7233<000IgBIg1   3E B%E %B))E ,B)-BE E*c                    t                      }t          |ddd          }t          |d|          }|                     |          }|                    ddd          \  }}}|                     |j        d           |                     |d	           |                     |d           |                     |d
           d S )NrO   rW  rJ  r  r   r.  r{   rb  Fr  )r   r   r	   r6   rb  r"   rR   r   rT   r   rW   r:   r   r|   rn  s           r   $test_tailProcessStdoutLog_unreadablezLSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStdoutLog_unreadable      ..wz.=? ? ?.wwGGMM+..	!*!?!?;<S "@ "J "Jfh.0FGGG5)))###r"""""r   c                     t                      }t          |dd          }t          |d|          }|                     |          }|                     |j        |j                   d S rP  )r   r   r	   r6   r"   tailProcessLogrb  rR  s        r   1test_tailProcessLogAliasedTo_tailProcessStdoutLogzYSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessLogAliasedTo_tailProcessStdoutLog  rT  r   c                     ddl m} t                      }|                     |          }|                     |j        j        |j        ddd           d S ra  )r   r   r   r6   r(   rA   r   tailProcessStderrLogr   s       r   "test_tailProcessStderrLog_bad_namezJSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_bad_name  rd  r   c                     ddl m} t                      }t          |dddd          }t	          |d|          }|                     |          }|                     |j        j        |j	        d	dd
           d S rf  )
r   r   r   r   r	   r6   r(   rA   r   r  r   s         r   -test_tailProcessStderrLog_bad_name_no_processzUSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_bad_name_no_process  rh  r   c                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    ddt          |                    \  }	}
}|                     |j        d	           |                     |d
           |                     |
t          |                     |                     |	|           t!          j        |           d S # t!          j        |           w xY w)Nr   rj  rO   rW  rJ  r^  r   r{   r  Fr+  rk  r   r   r	   r6   r   r   r  r  r   r   r  r^  r"   rR   r   r   rm  s               r   test_tailProcessStderrLog_allzESupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_all  rp  rq  c                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    dt          |          d	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	d           |                    dt          |          dz   d	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	d           t!          j        |           d S # t!          j        |           w xY w)Nr   rj  rO   rW  rJ  r^  r   r.  r{   r  Fr  rs  r  rm  s               r   test_tailProcessStderrLog_nonezFSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_none  ru  rv  c                    ddl m} t                      }t          |ddd          }t	          |d|          }|                     |          }|j        d         j        d         }|j        j	        }	 t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |                    ddd	          \  }	}
}|                     |j        d
           |                     |d           |                     |
t          |                     |                     |	|dd                     t!          j        |           d S # t!          j        |           w xY w)Nr   rj  rO   rW  rJ  r^  r   rs  r{   r  Trx  )r+  rk  r   r   r	   r6   r   r   r  r  r   r   r  r"   rR   r^  r   r   rm  s               r   "test_tailProcessStderrLog_overflowzJSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_overflow  rz  r{  c                    t                      }t          |ddd          }t          |d|          }|                     |          }|                    ddd          \  }}}|                     |j        d           |                     |d	           |                     |d           |                     |d
           d S )NrO   rW  rJ  r^  r   r.  r{   r  Fr  )r   r   r	   r6   r  r"   rR   r}  s           r   $test_tailProcessStderrLog_unreadablezLSupervisorNamespaceXMLRPCInterfaceTests.test_tailProcessStderrLog_unreadable/  r  r   c                 8   ddl m} t                      }t          |dd          }t	          |          }t          d           }d|i|_        t          d|i          }|                     |          }| 	                    |j
        j        |j        d           d S )Nr   r   rO   r  badgroupr   r   r   r   r   r   r   r   r6   r(   rA   r   clearProcessLogsr   r   rT   r   r   r  rW   r:   s           r   'test_clearProcessLogs_bad_name_no_groupzOSupervisorNamespaceXMLRPCInterfaceTests.test_clearProcessLogs_bad_name_no_group>  s    %%%%%%..wu55w''"4((!7+%eF^DDDMM+..	V]3&7'	) 	) 	) 	) 	)r   c                 8   ddl m} t                      }t          |dd          }t	          |          }t          d           }d|i|_        t          d|i          }|                     |          }| 	                    |j
        j        |j        d           d S )Nr   r   rO   r  r9  r  r  s           r   )test_clearProcessLogs_bad_name_no_processzQSupervisorNamespaceXMLRPCInterfaceTests.test_clearProcessLogs_bad_name_no_processK  s    %%%%%%..wu55w''"4((!7+%eF^DDDMM+..	V]3&7$	& 	& 	& 	& 	&r   c                 @   t                      }t          |dd          }t          |          }t          d           }d|i|_        t          d|i          }|                     |          }|                    d           |                     |j	        d           d S )NrO   r  T)
r   r   r   r   r   r   r6   r  r"   logsremoved)r   rT   r   r   r  rW   r:   s          r   test_clearProcessLogsz=SupervisorNamespaceXMLRPCInterfaceTests.test_clearProcessLogsX  s    ..wu55w''"4((!7+%eF^DDDMM+..	""5))),d33333r   c                 <   ddl m} t                      }t          |dd          }t	          |          }t          d           }d|i|_        d|_        t          d|i          }| 	                    |          }| 
                    |j        |j        d           d S )Nr   r   rO   Tr  )r   r   r   r   r   r   r   error_at_clearr   r6   r   r!   r  r  s           r   test_clearProcessLogs_failedzDSupervisorNamespaceXMLRPCInterfaceTests.test_clearProcessLogs_failedc  s    %%%%%%..wu55w''"4((!7+!%%eF^DDDMM+..	&/9+EuMMMMMr   c                     t                      }t          |dd          }t          |d|          }|                     |          }|                     |j        |j                   d S rP  )r   r   r	   r6   r"   clearProcessLogr  rR  s        r   .test_clearProcessLogAliasedTo_clearProcessLogszVSupervisorNamespaceXMLRPCInterfaceTests.test_clearProcessLogAliasedTo_clearProcessLogso  sk    ..wz::.wwGGMM+..	2"3	5 	5 	5 	5 	5r   c                    t                      }t          |ddd          }t          |ddd          }t          |d||          }|                     |          }|                                } |              |            }dd	lm} |                     |d         dd|j        j	        d
d           |                     |d         dd|j        j	        d
d           |j
        d         j        d         }	|                     |	j        d           |j
        d         j        d         }
|                     |
j        d           d S )Nr4  rO   r>   r  r5  r  r6  r   r   rA  rF  rC  rD  rE  T)r   r   r	   r6   clearAllProcessLogsr   r   r"   rA   rH  r   r   r  )r   rT   r<  r=  rW   r:   r!  resultsr   r4  r5  s              r   test_clearAllProcessLogsz@SupervisorNamespaceXMLRPCInterfaceTests.test_clearAllProcessLogsw  sq   ..UQGGGUQGGG.wx/79 9MM+..	0022


(**%%%%%%!+"'#)=#8(,. .	/ 	/ 	/
 	!+"'#)=#8(,. .	/ 	/ 	/
 -e4>zJ-t444-e4>zJ-t44444r   c                    t                      }t          |ddd          }t          |ddd          }t          |d||          }|                    ddd	           |                     |          }|                                } |              |            }|j        d         j        d         }|                     |j	        d
           |j        d         j        d         }	|                     |	j	        d	           |                     t          |          d           ddlm}
 |                     |d         dd|
j        j        dd           |                     |d         dd|
j        j        dd           d S )Nr4  rO   r>   r  r5  r  r6  r  TFr   r   zFAILED: foo:process1r  rA  )r   r   r	   r   r6   r  r   r   r"   r  r^  r   r   rA   r   rH  )r   rT   r<  r=  rW   r:   r!  r  r4  r5  r   s              r   !test_clearAllProcessLogs_onefailszISupervisorNamespaceXMLRPCInterfaceTests.test_clearAllProcessLogs_onefails  s   ..UQGGGUQGGG.wx/79 9  -=tDDDMM+..	0022


(**-e4>zJ-u555-e4>zJ-t444Wq)))%%%%%%!+"'#)=#7(>@ @	A 	A 	A
 	!+"'#)=#8(,. .	/ 	/ 	/ 	/ 	/r   c                     t                      }|                     |j        i            |                     |          }|                                } |            }|                     |g            d S r   )r   r"   r   r6   r  )r   rW   r:   r!  r  s        r   %test_clearAllProcessLogs_no_processeszMSupervisorNamespaceXMLRPCInterfaceTests.test_clearAllProcessLogs_no_processes  so    %''3R888MM+..	0022(**"%%%%%r   c                     t                      }t          |dd          }t          |d|          }|                     |          }d}ddlm} |                     |j        j        |j	        d|           d S )Nr4  rO   r  r   r   )
r   r   r	   r6   r   r   r(   rA   rD   sendProcessStdin)r   rT   r<  rW   r:   thing_not_charsr   s          r   <test_sendProcessStdin_raises_incorrect_params_when_not_charszdSupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_incorrect_params_when_not_chars  s    ..U;;.wxHHmmK00	%%%%%%V]?&7'	: 	: 	: 	: 	:r   c                     t                      }|                     |          }ddlm} |                     |j        j        |j        dd           d S )Nr   r   r   chars for stdin)r   r6   r   r   r(   rA   r   r  )r   rW   r:   r   s       r   6test_sendProcessStdin_raises_bad_name_when_bad_processz^SupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_bad_name_when_bad_process  se    %''MM+..	%%%%%%V]3&7*,=	? 	? 	? 	? 	?r   c                     t                      }t          |d          }|                     |          }ddlm} |                     |j        j        |j        dd           d S )NrO   r   r   r9  r  )	r   r	   r6   r   r   r(   rA   r   r  )r   rT   rW   r:   r   s        r   5test_sendProcessStdin_raises_bad_name_when_no_processz]SupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_bad_name_when_no_process  sr    ...w>>MM+..	%%%%%%V]3&7$&7	9 	9 	9 	9 	9r   c                    t                      }t          |dd          }t          |d|          }|                    ddd           |                     |          }ddlm} |                     |j        j	        |j
        dd           d S )Nr4  rO   r   r   r   r  r   r   r	   r   r6   r   r   r(   rA   rw  r  r   rT   r<  rW   r:   r   s         r   =test_sendProcessStdin_raises_not_running_when_not_process_pidzeSupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_not_running_when_not_process_pid  s    ..U;;.w
HMM  UA666MM+..	%%%%%%V]6%6&(9	; 	; 	; 	; 	;r   c                 F   t                      }t          |dd          }t          |d|          }|                    ddd           |                    ddd           |                     |          }ddlm} |                     |j        j	        |j
        dd	           d S )
Nr4  rO   r   r  r\  Tr   r   r  r  r  s         r   5test_sendProcessStdin_raises_not_running_when_killingz]SupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_not_running_when_killing  s    ..U;;.w
HMM  UB777  Y===mmK00	%%%%%%V]6&7'):	< 	< 	< 	< 	<r   c           
         t                      }t          |dd          }t          |d|          }|                    ddd           |                    ddd           |                    ddt	          t
          j        t          j        t
          j                                       | 	                    |          }dd	l
m} |                     |j        j        |j        dd
           d S )Nr4  rO   r   r  r\  Fwrite_exceptionr   r   r  )r   r   r	   r   r   r   EPIPEr   r   r6   r   r   r(   rA   r~   r  r  s         r   <test_sendProcessStdin_raises_no_file_when_write_raises_epipezdSupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_raises_no_file_when_write_raises_epipe  s    ..U;;.w
HMM  UB777  Y>>>  ->EKU[!9!9::	< 	< 	<mmK00	%%%%%%V]2&7'):	< 	< 	< 	< 	<r   c           
         t                      }t          |dd          }t          |d|          }|                    ddd           |                    ddd           |                    ddt	          t
          j        t          j        t
          j                                       | 	                    |          }| 
                    t          |j        dd           d S )	Nr4  rO   r   r  r\  Fr  r  )r   r   r	   r   r   r   EINTRr   r   r6   r   r  )r   rT   r<  rW   r:   s        r   -test_sendProcessStdin_reraises_other_oserrorszUSupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_reraises_other_oserrors  s    ..U;;.w
HMM  UB777  Y>>>  ->EKU[!9!9::	< 	< 	<mmK00	'#4$&7	9 	9 	9 	9 	9r   c                    t                      }t          |dd          }t          |d|          }|                    ddd           |                     |          }d}|                     |                    d|                     |                     d|j                   |j	        d         j
        d         }|                     |j        |           d S )Nr4  rO   r   r  s   chars for stdinr  )r   r   r	   r   r6   r   r  r"   rR   r   r   stdin_buffer)r   rT   r<  rW   r:   charsr4  s          r   3test_sendProcessStdin_writes_chars_and_returns_truez[SupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_writes_chars_and_returns_true  s    ..U;;.w
HMM  UB777mmK00	"	22:uEEFFF+Y-BCCC-j9CJO.66666r   c                 j   t                      }t          |dd          }t          |d|          }|                    ddd           |                     |          }|                    dt          d                     |j        d         j        d         }| 	                    |j
        d           d S )Nr4  rO   r   r  s   fií)r   r   r	   r   r6   r  r   r   r   r"   r  )r   rT   r<  rW   r:   r4  s         r   -test_sendProcessStdin_unicode_encoded_to_utf8zUSupervisorNamespaceXMLRPCInterfaceTests.test_sendProcessStdin_unicode_encoded_to_utf8  s    ..U;;.w
HMM  UB777mmK00	"":y/G/GHHH-j9CJO.>>>>>r   c                 T   t                      }t          |          }|                     |          }ddlm} g fd}	 |j        |fg|j        d d <   |                    dd          }g |j        d d <   |                                 n%# g |j        d d <   |                                 w xY w| 	                    |           | 
                    t                    d           d         }| 
                    |j        d           | 
                    |j        d           d S )Nr   eventsc                 2                         |            d S r   r  eventri  s    r   r!  zgSupervisorNamespaceXMLRPCInterfaceTests.test_sendRemoteCommEvent_notifies_subscribers.<locals>.callback       HHUOOOOOr   rO   r  r>   )r   r   r6   r   r  RemoteCommunicationEvent	callbackssendRemoteCommEventclearr   r"   r^  r  r   	r   rT   rW   r:   r  r!  r   r  ri  s	           @r   -test_sendRemoteCommEvent_notifies_subscriberszUSupervisorNamespaceXMLRPCInterfaceTests.test_sendRemoteCommEvent_notifies_subscribers  sC   ..%g..MM+..	%%%%%%	 	 	 	 		$*$CX#N"OFQQQ225%@@F"$FQQQLLNNNN #%FQQQLLNNNNQ###!U+++U+++++s   *B "B/c                    t                      }t          |          }|                     |          }ddlm} g fd}	 |j        |fg|j        d d <   |                    t          d          t          d                    }g |j        d d <   |	                                 n%# g |j        d d <   |	                                 w xY w| 
                    |           |                     t                    d           d         }t          r8|                     |j        d           |                     |j        d           d S |                     |j        d           |                     |j        d           d S )	Nr   r  c                 2                         |            d S r   r  r  s    r   r!  zjSupervisorNamespaceXMLRPCInterfaceTests.test_sendRemoteCommEvent_unicode_encoded_to_utf8.<locals>.callback7  r  r   u	   fií onceu
   fií twicer>   u   fiÃ­ onceu   fiÃ­ twice)r   r   r6   r   r  r  r  r  r   r  r   r"   r^  r   r  r   r  s	           @r   0test_sendRemoteCommEvent_unicode_encoded_to_utf8zXSupervisorNamespaceXMLRPCInterfaceTests.test_sendRemoteCommEvent_unicode_encoded_to_utf80  s   ..%g..MM+..	%%%%%%	 	 	 	 		$*$CX#N"OFQQQ22+&&,'' F
 #%FQQQLLNNNN #%FQQQLLNNNNQ###! 	7UZ):;;;UZ);<<<<<UZ555UZ66666s   AB' '"C	N){r)   r*   r+   r2   r6   rX   r]   ra   re   ri   rq   ru   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r"  r%  r)  r2  r>  rI  rM  rP  rS  rU  r_  rb  rm  rr  rt  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r!  r#  r-  r;  r>  rB  rG  rL  rS  rX  rZ  r\  r_  rc  rg  ro  rt  ry  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   rG   rG   B   s       < < <3 3 3	$ 	$ 	$A A AH H H
H H HE E E	< 	< 	<: : :C C C
1 1 1     (H H H	< 	< 	<
5 
5 
57 7 76 6 6I I IP P PN N N.F F FC C CE E E
 
 
1 1 1 C C CC C C
< 
< 
<
< 
< 
<
< 
< 
<   ' ' 'B B B&+ + + @ @ @K K K,E E E 1  1  1D  8A A A"1 "1 "1H  8? ? ?&? ? ?$ $ $"? ? ?$; ; ;O O OJ J J"5 "5 "5H  6@ @ @D D D"5 "5 "5H  4, , ,0 0 0&, , ,
 
 

 
 
  $ 3  3  3F3 3 3@7 7 74  3 3 3B7 7 72F@ F@ F@P< < <0<5 <5 <5|@ @ @C C C>5 5 5"	2 	2 	2F F F? ? ?8 8 8&@= @= @=D	= 	= 	=  ,	: 	: 	:  09 9 9	= 	= 	=  ,	: 	: 	:  0P P PM M M  0     D  .# # #9 9 9P P PM M M  0     D  .# # #) ) )& & &	4 	4 	4
N 
N 
N5 5 55 5 54/ / /8& & &	: 	: 	:? ? ?9 9 9	; 	; 	;
< 
< 
<< < <9 9 9
7 
7 
7? ? ?, , ,.7 7 7 7 7r   rG   c                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )#SystemNamespaceXMLRPCInterfaceTestsc                     ddl m} |j        S r/   )r   r   SystemNamespaceRPCInterfacer1   s     r   r2   z3SystemNamespaceXMLRPCInterfaceTests._getTargetClassP  s    %%%%%%11r   c                     ddl m} t                      }|                    |          } |                                 d|fg          S )Nr   rI   r   )r   rJ   r   rK   r2   )r   rJ   rW   r   s       r   r6   z,SystemNamespaceXMLRPCInterfaceTests._makeOneT  s_    ++++++%''!AA+NN
%t##%%J'   	r   c                     |                                  }|                     |j        d                    |                     |j        d                    d S )Nr   system)r6   r   
namespacesr9   s     r   r;   z-SystemNamespaceXMLRPCInterfaceTests.test_ctor]  sI    MMOO		,\:;;;	,X677777r   c                 8   |                                  }|                                }|                                 t          |                                                                          }|                                 |                     ||           d S r   )r6   listMethodssortr   _listMethodsr   r"   )r   r:   methodsr   s       r   test_listMethodsz4SystemNamespaceXMLRPCInterfaceTests.test_listMethodsb  s{    MMOO	''))I**,,113344		$'''''r   c                     ddl m} |                                 }|                     |j        j        |j        dg           |                    d          }|                     |ddg           d S )Nr   r   foo.barzsystem.methodSignaturearraystring)r   r   r6   r(   rA   SIGNATURE_UNSUPPORTEDmethodSignaturer"   )r   r   r:   r   s       r   test_methodSignaturez8SystemNamespaceXMLRPCInterfaceTests.test_methodSignaturej  s    %%%%%%MMOO	V]@&6'[	* 	* 	* **+CDD'8!455555r   c           
      <	   ddl m} g d}|                                 }|                                }|                                D ]S}	 |                    |           n # |j        $ r t          d|z            w xY w|                    dd          \  }}|j	        |         }t          ||          }		 |	j        }
n# t          $ r
 |	j        }
Y nw xY w|
j        d|
j                 }|                    t#          |	j                            }g }g }g }g }g }g }g }g }|D ]}|d         dk    rm|                    |d                    |                    |d                    |                    |d	                    |                    |d
                    ||d         dk    rm|                    |d                    |                    |d                    |                    |d	                    |                    |d
                    |d         t          d|d         d|d|          t)          |          t)          |          k    r2t          dt)          |          dt)          |          d|          |D ]?}|                     t-          |          t.          k    |t-          |          ||f           @|D ]}|                     ||v |           t1          t)          |                    D ]=}||         ||         k    r)d||         d||         d|d|}t          |          >|D ]6}|                     t-          |          t-          d          k    |           7t)          |          dk    rt          d|z            |D ]>}|                     t-          |          t.          k    |t-          |          |f           ?|D ]}|                     ||v |           |D ]F}|                     t-          |          t-          d          k    |t-          |          |f           G|D ]F}|                     t-          |          t-          d          k    |t-          |          |f           GUd S )Nr   r   )	intdoubler  booleanzdateTime.iso8601base64binaryr  structz=methodSignature for %s raises RPCError (missing @return doc?).r>   paramr6  r     returnzunknown tag type z for z	, parsed zIncorrect documentation (z args, z doc params) in zName wrong: (z vs. z in z)
r  z'Duplicate @return values in docs for %s)r   r   r6   r  r   r  r!   r    splitr  getattr	func_code	Exception__code__co_varnamesco_argcountgettagsstr__doc__r  r^  r   r  r  range)r   r   	_RPCTYPESr:   r  r  ns_namemethod_name	namespacemethr#   argnamesparsedplinesptypespnamesptextsrlinesrtypesrnamesrtextsthingdoclinedoctypexr  doctextdocnames                               r   test_allMethodDocsz6SystemNamespaceXMLRPCInterfaceTests.test_allMethodDocss  s   %%%%%%< < <	MMOO	((** W	O W	OAL))!,,,,? L L L$ &GIJ&K L L LL $%773?? G[!,W5I9k22D%~ % % %}%'$*:(:;H^^C$5$566FFFFFFFFF L L8w&&MM%(+++MM%(+++MM%(+++MM%(++++1X))MM%(+++MM%(+++MM%(+++MM%(++++1X)(.CH888CD11CI6KL L L * 8}}F++$n(+Hs6{{{{AA&G H H H " @ @W 4w7;G}}787=7? @ @ @ @ " ? ?9 4g>>>>3v;;'' . .!9+++AGAI!ABAGIC )--- , " D DWb 97CCCC 6{{Q$=AC C C! J JW 4w7;G}}a7I J J J J! ? ?9 4g>>>>! @ @Wb 9G<@MM<=<? @ @ @ @ " O OWb 9G<@MM1<N O O O OOkW	O W	Os   A!!A>8C  CCc                 $   |                                  }|                    ddgddg dg          }|                     |d         |                    d                     |                     |d         |                                           d S )Nsystem.methodHelp
methodNameparamszsystem.listMethodsr   r>   )r6   	multicallr"   
methodHelpr  )r   r:   r  s      r   test_multicall_simplevalsz=SystemNamespaceXMLRPCInterfaceTests.test_multicall_simplevals  s    MMOO	%%-9L8MNN.<<'   	Y%9%9:M%N%NOOOY%:%:%<%<=====r   c                     ddl m} |                                 }|                    dg dg          }|                    |j        j        d          }|j        |j        d}| 	                    ||g           d S )Nr   r   zsystem.multicallr  z$Recursive system.multicall forbidden)	faultCodefaultString)
r   r   r6   r  r!   rA   rD   r#   textr"   )r   r   r:   r  erecursion_faults         r   test_multicall_recursion_guardzBSystemNamespaceXMLRPCInterfaceTests.test_multicall_recursion_guard  s    %%%%%%MMOO	%%-<<'
   OOFM>68 8()qvFF?"344444r   c                     ddl m} |                                 }|                    ddig          }|j        }||j        u r |            }||j        u |                     |d         g            d S )Nr   r+  r  zsupervisor.stopAllProcesses)r   r,  r6   r  r/  r"   )r   r,  r:   r!  r  s        r   test_multicall_nested_callbackzBSystemNamespaceXMLRPCInterfaceTests.test_multicall_nested_callback  s    ######MMOO	&&78(: ; ;#***hjjG ***R(((((r   c                     ddl m} |                                 }|                     |j        j        |j        dg           |                    d          }|                     ||j        j                   d S )Nr   r   r  r  )	r   r   r6   r(   rA   r  r  r"   r  )r   r   r:   helps       r   test_methodHelpz3SystemNamespaceXMLRPCInterfaceTests.test_methodHelp  s    %%%%%%MMOO	V]@&1'[	* 	* 	* ##$788y3;<<<<<r   N)r)   r*   r+   r2   r6   r;   r  r  r  r   r'  r)  r,  r   r   r   r  r  O  s        2 2 2  8 8 8
( ( (6 6 6_O _O _OB> > >
5 
5 
5) ) )= = = = =r   r  c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )Test_make_allfuncc                 $    ddl m}  ||||fi |S )Nr   )make_allfunc)supervisor.rpcinterfacer0  )r   r   	predicatefuncextra_kwargsr0  s         r   _callFUTzTest_make_allfunc._callFUT  s0    888888|Iy$GG,GGGr   c                 2  	 ddl m	 	fd}t                      }t          |dd          }t	          |          }t          |          }d }|                     ||fg||          } |            }|                     |ddd	j        j	        dg           d S )	Nr   r   c                 B                         j        j                  r   r!   rA   r   )rF  r&   r   s     r   cbz7Test_make_allfunc.test_rpcerror_nocallbacks.<locals>.cb	  s    //&-"6777r   r4  rO   c                     dS r  r   r  s    r   predz9Test_make_allfunc.test_rpcerror_nocallbacks.<locals>.pred		      4r   r   )rE  rC  rF  rD  )
r   r   r   r   r   r   r5  r"   rA   r   
r   r9  rT   r<  r  rC  r<  afr   r   s
            @r   test_rpcerror_nocallbacksz+Test_make_allfunc.test_rpcerror_nocallbacks	  s    %%%%%%	8 	8 	8 	8 	8..U;;H%%!(++	 	 	]]UDM?D"55%m*, , -	. 	. 	. 	. 	.r   c                    d }t                      }t          |dd          }t          |          }t          |          }d }|                     ||fg||          } |            }|                     |dddddg           d S )Nc                     d S )Nc                      dS r(  r   r   r   r   r   zTTest_make_allfunc.test_func_callback_normal_return_val.<locals>.cb.<locals>.<lambda>	  s    1 r   r   )rF  r&   s     r   r9  zBTest_make_allfunc.test_func_callback_normal_return_val.<locals>.cb	  s
    9r   r4  rO   c                     dS r  r   r;  s    r   r<  zDTest_make_allfunc.test_func_callback_normal_return_val.<locals>.pred	  r=  r   rA  P   )rC  rE  rD  rF  )r   r   r   r   r5  r"   )	r   r9  rT   r<  r  rC  r<  r?  r   s	            r   $test_func_callback_normal_return_valz6Test_make_allfunc.test_func_callback_normal_return_val	  s    	 	 	..U;;H%%!(++	 	 	]]UDM?D"55!!J0 0 1	 	 	 	 	r   c                   	 ddl m	 	fd}t                      }t          |dd          }t	          |          }t          |          }d }|                     ||fg||          } |            }|                     |ddddd	g           d S )
Nr   r   c                     fd}|S )Nc                  B                           j        j                  r   r8  r   s   r   innerzOTest_make_allfunc.test_func_callback_raises_RPCError.<locals>.cb.<locals>.inner(	  s    oofm&:;;;r   r   )rF  r&   rJ  r   s      r   r9  z@Test_make_allfunc.test_func_callback_raises_RPCError.<locals>.cb'	  s!    < < < < <Lr   r4  rO   c                     dS r  r   r;  s    r   r<  zBTest_make_allfunc.test_func_callback_raises_RPCError.<locals>.pred/	  r=  r   r      )rE  rC  rD  rF  )r   r   r   r   r   r   r5  r"   r>  s
            @r   "test_func_callback_raises_RPCErrorz4Test_make_allfunc.test_func_callback_raises_RPCError%	  s    %%%%%%	 	 	 	 	 ..U;;H%%!(++	 	 	]]UDM?D"55%! " " #	 	 	 	 	r   c                   	 ddl m	 	fd}t                      }t          |dd          }t	          |          }t          |          }d }|                     ||fg||          } |            }|                     |	           d S )Nr   ro  c                     fd}|S )Nc                       S r   r   ro  s   r   rJ  zTTest_make_allfunc.test_func_callback_returns_NOT_DONE_YET.<locals>.cb.<locals>.inner>	  s	    ##r   r   )rF  r&   rJ  r/  s      r   r9  zETest_make_allfunc.test_func_callback_returns_NOT_DONE_YET.<locals>.cb=	  s!    $ $ $ $ $Lr   r4  rO   c                     dS r  r   r;  s    r   r<  zGTest_make_allfunc.test_func_callback_returns_NOT_DONE_YET.<locals>.predE	  r=  r   )rq  r/  r   r   r   r   r5  r"   )
r   r9  rT   r<  r  rC  r<  r?  r   r/  s
            @r   'test_func_callback_returns_NOT_DONE_YETz9Test_make_allfunc.test_func_callback_returns_NOT_DONE_YET;	  s    000000	 	 	 	 	 ..U;;H%%!(++	 	 	]]UDM?D"55	 	 	 	 	r   N)r)   r*   r+   r5  r@  rF  rM  rR  r   r   r   r.  r.    sb        H H H. . .$  $  ,    r   r.  c                       e Zd Zd Zd ZdS )Test_make_main_rpcinterfacec                 $    ddl m}  ||          S )Nr   )make_main_rpcinterface)r1  rV  )r   rW   rV  s      r   r5  z$Test_make_main_rpcinterface._callFUTO	  s%    BBBBBB%%k222r   c                 p    |                      d           }|                     |j        j        d           d S )NrK   )r5  r"   	__class__r)   )r   r'   s     r   test_itz#Test_make_main_rpcinterface.test_itS	  s@    }}T""N#-	 	 	 	 	r   N)r)   r*   r+   r5  rY  r   r   r   rT  rT  N	  s2        3 3 3    r   rT  c                       e Zd Zd ZdS )r@   c                     dS )Nr?   r   r   s    r   hellozDummyRPCInterface.hello]	  s    xr   N)r)   r*   r+   r\  r   r   r   r@   r@   \	  s#            r   r@   c                  T    t          j        t          j        t                             S r   )unittestfindTestCasessysmodulesr)   r   r   r   
test_suiterb  `	  s    !#+h"7888r   __main__rb  )defaultTest) r^  r`  r  r   r  r   supervisor.tests.baser   r   r   r   r   r   r	   r
   r   r+  r   r   r  r   TestCaser   r-   rG   r  r.  rT  r@   rb  r)   mainr   r   r   <module>rh     s    



  				   . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 : : : : : : & & & & & & - - - - - - , , , , , , , , * * * * * *1 1 1 1 1x  1 1 1 5 5 5 5 5x 5 5 58J 7 J 7 J 7 J 7 J 7h J 7 J 7 J 7Z@k= k= k= k= k=( k= k= k=ZP P P P P) P P Pd
 
 
 
 
("3 
 
 
       9 9 9 zHMl++++++ r   