CasperSecurity

Current Path : /lib/python3/dist-packages/supervisor/tests/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/supervisor/tests/__pycache__/test_supervisorctl.cpython-310.pyc

o

+�]�@�@sddlZddlZddlmZddlmZddlmZddlmZm	Z	ddl
mZGdd�dej�Z
Gd	d
�d
ej�ZGdd�dej�ZGd
d�dej�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zedkrejdd�dSdS)�N��xmlrpc)�StringIO)�	xmlrpclib)�LSBInitExitStatuses�LSBStatusExitStatuses)�DummyRPCServerc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�fgthread_TestscC�ddlm}|S)Nr)�fgthread)�supervisor.supervisorctlr)�selfr�r�E/usr/lib/python3/dist-packages/supervisor/tests/test_supervisorctl.py�_getTargetClass
�zfgthread_Tests._getTargetClasscCs|��||�S�N�r)r
�program�ctlrrr�_makeOne�zfgthread_Tests._makeOnecCs,t�}t|�}|�d|�}|�|jd�dS�NF)�DummyClientOptions�DummyControllerr�assertEqual�killed)r
�optionsr�instrrr�	test_ctorszfgthread_Tests.test_ctorcCs:t�}t|�}|�d|�}|�ddd�}|�||j�dS)N�call)rrr�globaltracer�
localtrace�r
rrr�resultrrr�test_globaltrace_calls
z$fgthread_Tests.test_globaltrace_callcCs8t�}t|�}|�d|�}|�ddd�}|�|d�dSr)rrrr!rr#rrr�test_globaltrace_noncalls
z'fgthread_Tests.test_globaltrace_noncallc
Csvt�}t|�}|�d|�}d|_z	|�ddd�Wnty3}z|�|jd�WYd}~dSd}~ww|�d�dS)NT�linez(No exception thrown. Excepted SystemExit)	rrrrr"�
SystemExitr�code�fail)r
rrr�errr�test_localtrace_killed_whyline%s��z-fgthread_Tests.test_localtrace_killed_whylinecCs@t�}t|�}|�d|�}d|_|�ddd�}|�||j�dS�NT)rrrrr"rr#rrr�"test_localtrace_killed_not_whyline1sz1fgthread_Tests.test_localtrace_killed_not_whylinecCstt�}t|�}|�d|�}d|_Gdd�dt�}|�|_|�|_|��|�|j�|�|jj	�|�|jj	�dS)NTc@�eZdZdd�ZdS)z0fgthread_Tests.test_kill.<locals>.DummyCloseablecS�
d|_dSr-��closed�r
rrr�close?�
z6fgthread_Tests.test_kill.<locals>.DummyCloseable.closeN)�__name__�
__module__�__qualname__r4rrrr�DummyCloseable>�r9)
rrrr�object�output_handler�
error_handler�kill�
assertTruer2)r
rrrr9rrr�	test_kill9szfgthread_Tests.test_killN)r6r7r8rrrr%r&r,r.r@rrrrr		sr	c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKS)L�ControllerTestscCr
)Nr)�
Controller)rrB)r
rBrrrrIrzControllerTests._getTargetClasscCs|��|�Srr�r
rrrrrMszControllerTests._makeOnecCs(t�}|�|�}|�|j|jd�dS)Nz> )rrr�prompt�r
r�
controllerrrrrQs
zControllerTests.test_ctorcCs(t�}|�|�}|��}|�|d�dSr-)rr�upcheckr�r
rrFr$rrr�
test__upcheckVs
zControllerTests.test__upcheckcCsPt�}dd�|jj_|�|�}t�|_|��}|�|d�|�|j�	�d�dS)NcW�dS)Nz1.0r��xrrr�<lambda>^�zDControllerTests.test__upcheck_wrong_server_version.<locals>.<lambda>FzvSorry, this version of supervisorctl expects to talk to a server with API version 3.0, but the remote version is 1.0.
)
r�_server�
supervisor�
getVersionrr�stdoutrGr�getvaluerHrrr�"test__upcheck_wrong_server_version\s
�z2ControllerTests.test__upcheck_wrong_server_versioncsdt�}ddlm��fdd�}||jj_|�|�}t�|_|�	�}|�
|d�|�
|j��d�dS)Nr��Faultsc�t��jd��)N�duh)r�Fault�UNKNOWN_METHODrrUrrrQkrz@ControllerTests.test__upcheck_unknown_method.<locals>.getVersionFz�Sorry, supervisord responded but did not recognize the supervisor namespace commands that supervisorctl uses to control it.  Please check that the [rpcinterface:supervisor] section is enabled in the configuration file (see sample.conf).
)r�supervisor.xmlrpcrVrOrPrQrrrRrGrrS)r
rrQrFr$rrUr�test__upcheck_unknown_methodhs

�z,ControllerTests.test__upcheck_unknown_methodcs^t�}ddlm��fdd�}||jj_|�|�}t�|_|�	t
j|j�|�
|jtj�dS)NrrUcrW�N�)rrY�FAILED��arg�kwrUrr�f}rzEControllerTests.test__upcheck_reraises_other_xmlrpc_faults.<locals>.f)rr[rVrOrPrQrrrR�assertRaisesrrYrGr�
exitstatusr�GENERIC�r
rrcrFrrUr�*test__upcheck_reraises_other_xmlrpc_faultszs

z:ControllerTests.test__upcheck_reraises_other_xmlrpc_faultsc�t�}ddl�ddl���fdd�}||jj_|�|�}t�|_|�	�}|�
|d�|j��}|�d|v�|�
|j
tj�dS)Nrc����jd���Nznobody home��error�ECONNREFUSEDr`��errno�socketrr�raise_fault�rzTControllerTests.test__upcheck_catches_socket_error_ECONNREFUSED.<locals>.raise_faultFzrefused connection)rrqrprOrPrQrrrRrGrrSr?rer�INSUFFICIENT_PRIVILEGES�r
rrrrFr$�outputrror�/test__upcheck_catches_socket_error_ECONNREFUSED��


z?ControllerTests.test__upcheck_catches_socket_error_ECONNREFUSEDcri)Nrcrjrk�rm�ENOENTr`rorrrr�rzNControllerTests.test__upcheck_catches_socket_error_ENOENT.<locals>.raise_faultFzno such file)rrqrprOrPrQrrrRrGrrSr?rer�NOT_RUNNINGrtrror�)test__upcheck_catches_socket_error_ENOENT�rwz9ControllerTests.test__upcheck_catches_socket_error_ENOENTcsTt�}ddl�ddl���fdd�}||jj_|�|�}t�|_|�	�j
|j�dS)Nrcrjr])rm�EBADFr`rorrrc�rzEControllerTests.test__upcheck_reraises_other_socket_faults.<locals>.f)rrqrprOrPrQrrrRrdrmrGrgrror�*test__upcheck_reraises_other_socket_faults�s

z:ControllerTests.test__upcheck_reraises_other_socket_faultscCsPt�}|�|�}t�|_t�}|f|j_|�d�}|�|d�|�|j	d�dS)N�helpT)
rrrrR�DummyPluginr�plugins�onecmdr�helped)r
rrF�pluginr$rrr�test_onecmd�s


zControllerTests.test_onecmdcCsdt�}|�|�}t�|_t�}|f|j_d|_|�d�|�	|j�d|_|�d�|�
|j�dS)NFr~r^)rrrrRrrr�r�r�r?�assertFalse)r
rrFr�rrr�.test_onecmd_empty_does_not_repeat_previous_cmd�s



z>ControllerTests.test_onecmd_empty_does_not_repeat_previous_cmdcCs:t�}|�|�}t�|_i|_|�d�|�|jd�dS)Nr~)rrrrR�_complete_infor�rrErrr�#test_onecmd_clears_completion_cache�s

z3ControllerTests.test_onecmd_clears_completion_cachecCsHt�}|�|�}t�|_|�d�|�|j��d�|�|jtj	�dS)N�badcmdz*** Unknown syntax: badcmd
)
rrrrRr�rrSrerrfrErrr�test_onecmd_bad_command_error�s

�z-ControllerTests.test_onecmd_bad_command_errorcC�\t�}|�|�}t�|_dg|_|jdddd�}|�|d�|jdddd�}|�|d�dS)Nr~r^r�r'�help ��rrrrR�vocab�completerrHrrr�test_complete_action_empty��
z*ControllerTests.test_complete_action_emptycCr�)Nr~�hrr�r�r�r�rHrrr�test_complete_action_partial�r�z,ControllerTests.test_complete_action_partialcCs@t�}|�|�}t�|_dg|_|jdddd�}|�|d�dS)Nr~rr�r�r�rHrrr�test_complete_action_whole�s
z*ControllerTests.test_complete_action_wholecCs8t�}|�|�}t�|_|jdddd�}|�|d�dS)N�badrr�)rrrrRr�rrHrrr�*test_complete_unknown_action_uncompletable�s

z:ControllerTests.test_complete_unknown_action_uncompletablecC�Bt�}|�|�}t�|_ddg|_|jdddd�}|�|d�dS)Nr~�addr^r�zbad r�r�rHrrr�.test_complete_unknown_action_arg_uncompletable��

z>ControllerTests.test_complete_unknown_action_arg_uncompletablecCszt�}|�|�}t�|_ddg|_|jdddd�}|�|d�|jdddd�}|�|d�|jdd	dd�}|�|d�dS)
Nr~�startr^rr�r�r��start �r�rHrrr�test_complete_help_empty�

z(ControllerTests.test_complete_help_emptycC�^t�}|�|�}t�|_ddg|_|jdddd�}|�|d�|jdddd�}|�|d�dS)	Nr~r��herzhelp her�r�r�r�rHrrr�test_complete_help_action�

z)ControllerTests.test_complete_help_actioncCs�t�}|�|�}t�|_ddg|_|jdddd�}|�|d�|jdddd�}|�|d	�|jdd
dd�}|�|d�|jdddd�}|�|d
�|jdddd�}|�|d�dS)Nr~r�r^rr�r��foo r��bar r�zbaz:baz_01 �zbaz:* �r�rHrrr�test_complete_start_emptys

z)ControllerTests.test_complete_start_emptycCr�)	Nr~r�rcrzstart fr�r�r�r�rHrrr�test_complete_start_no_colon-r�z,ControllerTests.test_complete_start_no_coloncCszt�}|�|�}t�|_ddg|_|jdddd�}|�|d�|jdddd�}|�|d	�|jdd
dd�}|�|d�dS)Nr~r��foo:rz
start foo:r�zfoo:foo r�zfoo:* r�r�rHrrr�test_complete_start_with_colon7r�z.ControllerTests.test_complete_start_with_coloncCr�)Nr~r�r�rz	start badr�r�rHrrr�!test_complete_start_uncompletableCr�z1ControllerTests.test_complete_start_uncompletablecCsft�}|�|�}t�|_ddg|_|jdddd�}|�|d�dd�}||jjj	_
|jdd	dd�dS)
Nr~r�r^rr�r�c_std��)Nz(should not have called getAllProcessInfo)�	Exceptionr`rrrrcRsz<ControllerTests.test_complete_caches_process_info.<locals>.fr�)rrrrRr�r��assertNotEqualrrOrP�getAllProcessInfo)r
rrFr$rcrrr�!test_complete_caches_process_infoKs

z1ControllerTests.test_complete_caches_process_infocCs�t�}|�|�}t�|_ddg|_|jdddd�}|�|d�|jdddd�}|�|d	�|jdd
dd�}|�|d�|jdddd�}|�|d�dS)
Nr~r�r^rzadd r�r�r�r�r�zbaz r�r�rHrrr�test_complete_add_emptyWs

z'ControllerTests.test_complete_add_emptycCr�)Nr~r�r�rzadd badr�r�rHrrr�test_complete_add_uncompletableer�z/ControllerTests.test_complete_add_uncompletablecCr�)	Nr~r�rcrzadd fr�r�r�r�rHrrr�test_complete_add_groupmr�z'ControllerTests.test_complete_add_groupcCr�)Nr~�reloadr^r�zreload r�r�rHrrr�&test_complete_reload_arg_uncompletablewr�z6ControllerTests.test_complete_reload_arg_uncompletablecCs"t�}|�|�}|�|jd�dS)Nz*** No help on %s)rrr�nohelprErrr�test_nohelps
zControllerTests.test_nohelpcCsHt�}|�|�}t�|_|�d�}|j��}|�|d�|�|d�dS)Nr^�
foo helped)rrrrR�do_helprSr�r
rrF�results�helpvalrrr�test_do_help�s


zControllerTests.test_do_helpcCsJt�}|�|�}t�|_|�d�}|�|d�|j��}|�d|v�dS)Nr~zhelp		Print a list)rrrrRr�rrSr?r�rrr�test_do_help_for_help�s


z%ControllerTests.test_do_help_for_helpcCs2t�}|�|�}|��}|��j}|�||�dSr)rr�get_supervisor�getServerProxyrPr�r
rrF�proxy�expectedrrr�<test_get_supervisor_returns_serverproxy_supervisor_namespace�s


zLControllerTests.test_get_supervisor_returns_serverproxy_supervisor_namespacecCs0t�}|�|�}|��}|��}|�||�dSr)rr�get_server_proxyr�rr�rrr�6test_get_server_proxy_with_no_args_returns_serverproxy�s

zFControllerTests.test_get_server_proxy_with_no_args_returns_serverproxycCs4t�}|�|�}|�d�}|��j}|�||�dS)N�system)rrr�r�r�rr�rrr�;test_get_server_proxy_with_namespace_returns_that_namespace�s



zKControllerTests.test_get_server_proxy_with_namespace_returns_that_namespacecCsLddlm}g}|�}|�t|j�dk�g|_|j|td�|�|�dS)Nr)�
ClientOptions)�doc)�supervisor.optionsr�r?�len�searchpaths�realize�__doc__r)r
r��argsrrrr�#test_real_controller_initialization�sz3ControllerTests.test_real_controller_initializationN)(r6r7r8rrrrIrTr\rhrvr{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�rrrrrAHsL

	




		rAc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestControllerPluginBasecCr
)Nr)�ControllerPluginBase)rr�)r
r�rrrr�rz(TestControllerPluginBase._getTargetClasscO�0|��}t�}t|�}||g|�Ri|��}|Sr�rrr�r
rarb�klassrrr�rrrr��
z!TestControllerPluginBase._makeOnecCs�|��}|�d�}|�|d�|�|jj��d�|�t|jj�d�|jjd}|�|dd�|�|dg�|�|dd�|�|dd�dS)	N�
r�rz%unnamed commands (type help <topic>):r��r��P�rr�rrrRrSr��topics_printed)r
r�r$�topicsrrr�test_do_help_noarg�s
z+TestControllerPluginBase.test_do_help_noargcCsJ|��}|�d�}|�|d�|�|jj��d�|�t|jj�d�dS)N�foozno help on foo
rr��r
r�r$rrr�test_do_help_witharg�s

z-TestControllerPluginBase.test_do_help_withargN)r6r7r8rrr�r�rrrrr��s
r�c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d„Zcd�dĄZdd�dƄZed�dȄZfd�dʄZgd�d̄Zhd�d΄Zid�dЄZjd�d҄Zkd�dԄZld�dքZmd�d؄Znd�dڄZod�d܄Zpd�dބZqd�d�Zrd�d�Zsd�d�Ztd�d�Zud�d�Zvd�d�Zwd�d�Zxd�d�Zyd�d�Zzd�d�Z{d�d�Z|d�d��Z}d�d��Z~d�d��Zd�d��Z�d�d��Z�d��d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d	�d
�Z��d�d�Z��d
�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d �Z��d!�d"�Z��d#�d$�Z��d%�d&�Z��d'�d(�Z��d)�d*�Z��d+�d,�Z��d-�d.�Z��d/�d0�Z��d1�d2�Z��d3�d4�Z��d5�d6�Z��d7�d8�Z��d9�d:�Z��d;S(<�TestDefaultControllerPlugincCr
)Nr)�DefaultControllerPlugin)rr�)r
r�rrrr�rz+TestDefaultControllerPlugin._getTargetClasscOr�rr�r�rrrr�r�z$TestDefaultControllerPlugin._makeOnecC�V|��}|�d�}|�|d�|jj���d�}|�|dd�|�|jjtj	�dS)Nr^r�rzError: too few arguments�
r�do_tailrrrRrS�splitrerrf�r
r�r$�linesrrr�test_tail_toofewargs��
z0TestDefaultControllerPlugin.test_tail_toofewargscCr�)Nzone two three fourr�rzError: too many argumentsr�r�rrr�test_tail_toomanyargs�r�z1TestDefaultControllerPlugin.test_tail_toomanyargscCr�)N�-fr�rz!Error: tail requires process namer�r�rrr�test_tail_f_noprocname�r�z2TestDefaultControllerPlugin.test_tail_f_noprocnamecCr�)Nz-z foor�r�Error: bad argument -zr�r�rrr�test_tail_bad_modifier�r�z2TestDefaultControllerPlugin.test_tail_bad_modifiercC�T|��}|�d�}|�|d�|jj���d�}|�t|�d�|�|dd�dS)Nr�r��r�stdout line�rr�rrrRrSr�r�r�rrr�test_tail_defaults�
z.TestDefaultControllerPlugin.test_tail_defaultscC�f|��}|�d�}|�|d�|jj���d�}|�t|�d�|�|dd�|�|jjt	j
�dS)N�NO_FILEr�r�rzNO_FILE: ERROR (no log file)�rr�rrrRrSr�r�rerrfr�rrr�test_tail_no_file�
z-TestDefaultControllerPlugin.test_tail_no_filecCr�)Nr_r�r�rz)FAILED: ERROR (unknown error reading log)r�r�rrr�test_tail_failedr�z,TestDefaultControllerPlugin.test_tail_failedcCr�)N�BAD_NAMEr�r�rz&BAD_NAME: ERROR (no such process name)r�r�rrr�test_tail_bad_name!r�z.TestDefaultControllerPlugin.test_tail_bad_namecCr�)Nz-10 foor�r�rz	dout liner�r�rrr�test_tail_bytesmodifier*r�z3TestDefaultControllerPlugin.test_tail_bytesmodifiercCr�)Nz
foo stdoutr�r�rr�r�r�rrr�,test_tail_explicit_channel_stdout_nomodifier2r�zHTestDefaultControllerPlugin.test_tail_explicit_channel_stdout_nomodifiercCr�)Nz
foo stderrr�r�rzstderr liner�r�rrr�,test_tail_explicit_channel_stderr_nomodifier:r�zHTestDefaultControllerPlugin.test_tail_explicit_channel_stderr_nomodifiercC�P|��}|�d�}|�|d�|jj����}|�|d�|�|jjtj	�dS)Nz	foo fudgezError: bad channel 'fudge')
rr�rrrRrS�striprerrf�r
r�r$�valuerrr�'test_tail_explicit_channel_unrecognizedB�
zCTestDefaultControllerPlugin.test_tail_explicit_channel_unrecognizedc�L|��}dd�|j_g��fdd�}||jjjj_|�d�|��g�dS)NcSrJrrrrrrrMLrNzFTestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.<lambda>c���d�dSr-��appendr`��calledrrrcNrz?TestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.fr�)	rrrGrrOrP�readProcessStdoutLogr�r�r
r�rcrrr�test_tail_upcheck_failedJ�
z4TestDefaultControllerPlugin.test_tail_upcheck_failedcC�.|��}|��|jj��}|�d|v�dS)Nz
status <name>)r�help_statusrrRrSr?�r
r��outrrr�test_status_helpT�z,TestDefaultControllerPlugin.test_status_helpcr)NcSrJrrrrrrrM\rNzHTestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc^rzATestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.fr^)	rrrGrrOrPr��	do_statusrrrrr�test_status_upcheck_failedZrz6TestDefaultControllerPlugin.test_status_upcheck_failedcCsJ|��}|�d�}|�|d�|jj���d�}|�|d�d�d�dS)Nr^r�r�RUNNING�!)rrrrrRrSr��indexr�rrr�*test_status_table_process_column_min_widthds

zFTestDefaultControllerPlugin.test_status_table_process_column_min_widthcCsv|��}|jj}dd�}||jj_|�|�d�d�|jj�	��
d�}|�|d�d�d�|�|d�d�d�dS)	Nc_sDddlm}ddd|jddddddd	�
d
d
d|jddddddd	�
gS)
Nr��
ProcessStatesږfoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoor��rr^�foo description�
�name�group�pid�state�	statenamer��stop�spawnerr�now�description�barr��bar description)�supervisor.statesr"r�FATAL�rarbr"rrrrcns0���zOTestDefaultControllerPlugin.test_status_table_process_column_expands.<locals>.fr^r�rr�r�)rrrrOrPr�rrrRrSr�r)r
r�rrcr�rrr�(test_status_table_process_column_expandsks
zDTestDefaultControllerPlugin.test_status_table_process_column_expandscC�|��}|�d�}|�|d�|jj���d�}|�|d�dd�gd��|�|d�dd�gd��|�|d�dd�gd��|�|jjtj	�dS)	Nr^r�rr��r�rr%r��r0r3r1�z
baz:baz_01�STOPPEDzbaz description�
rrrrrRrSr�rerrzrrrr� test_status_all_processes_no_arg��
���z<TestDefaultControllerPlugin.test_status_all_processes_no_argcCsb|��}|�d�}|�|d�|�|jjtj�|jj���	d�}|�|d�	dd�gd��dS)Nr�r�rr�r8)
rrrrrer�SUCCESSrRrSr�rrrr�test_status_success�s
�z/TestDefaultControllerPlugin.test_status_successcCsL|��}|�d�}|�|d�|jj��}|�d|�|�|jjtj�dS)N�unknownprogramz(unknownprogram: ERROR (no such process)
)	rrrrrRrSrer�UNKNOWNrrrr�test_status_unknown_process��
z7TestDefaultControllerPlugin.test_status_unknown_processcCr7)	N�allr�rr�r8r�r9r:r<rrrr�!test_status_all_processes_all_arg�r>z=TestDefaultControllerPlugin.test_status_all_processes_all_argcCs\|��}|�d�}|�|d�|jj����}|�|�dd�gd��|�|jjt	j
�dS)Nr�r�r8)rrrrrRrSrr�rerr?rrrr�test_status_process_name�s
�z4TestDefaultControllerPlugin.test_status_process_namecCsb|��}|�d�}|�|d�|jj���d�}|�|d�dd�gd��|�|jjtj	�dS)Nzbaz:*r�rr�r:r<rrrr�test_status_group_name�s
�z2TestDefaultControllerPlugin.test_status_group_namecCs~|��}|�d�}|�|d�|jj���d�}|�|d�dd�gd��|�|d�dd�gd��|�|jjtj	�dS)Nz	foo baz:*r�rr�r8r�r:r<rrrr�test_status_mixed_names�s
��z3TestDefaultControllerPlugin.test_status_mixed_namescCr�)Nz
badgroup:*r�rzbadgroup: ERROR (no such group)�
rrrrrRrSr�rerrBrrrr�test_status_bad_group_name�r�z6TestDefaultControllerPlugin.test_status_bad_group_namecCr�)N�
badprocessr�rz#badprocess: ERROR (no such process)rJrrrr�test_status_bad_process_name�r�z8TestDefaultControllerPlugin.test_status_bad_process_namecCr�)Nzbadgroup:badprocessr�rz,badgroup:badprocess: ERROR (no such process)rJrrrr�'test_status_bad_process_name_with_group�s
zCTestDefaultControllerPlugin.test_status_bad_process_name_with_groupcCr)Nzstart <name>)r�
help_startrrRrSr?rrrr�test_start_help�rz+TestDefaultControllerPlugin.test_start_helpcC�V|��}|�d�}|�|d�d}|�|jj���d�d|�|�|jjtj	�dS)Nr^z$Error: start requires a process namer�r)
r�do_startrrrRrSr�rer�INVALID_ARGS�r
r�r$r�rrr�test_start_fail��
z+TestDefaultControllerPlugin.test_start_failcC�H|��}|�d�}|�|d�|�|jj��d�|�|jjtj�dS�Nr�"BAD_NAME: ERROR (no such process)
�	rrRrrrRrSrerrfr�rrr�test_start_badname��
�z.TestDefaultControllerPlugin.test_start_badnamecCrW)Nr�zNO_FILE: ERROR (no such file)
rZr�rrr�test_start_no_filer\z.TestDefaultControllerPlugin.test_start_no_filecCrW)N�NOT_EXECUTABLEz/NOT_EXECUTABLE: ERROR (file is not executable)
rZr�rrr�test_start_not_executabler\z5TestDefaultControllerPlugin.test_start_not_executablecCrW)N�ALREADY_STARTEDz)ALREADY_STARTED: ERROR (already started)
�	rrRrrrRrSrerr?r�rrr�test_start_alreadystartedr\z5TestDefaultControllerPlugin.test_start_alreadystartedcCrW)N�SPAWN_ERRORz!SPAWN_ERROR: ERROR (spawn error)
�	rrRrrrRrSrerrzr�rrr�test_start_spawnerrorr\z1TestDefaultControllerPlugin.test_start_spawnerrorcCsL|��}|�d�}|�|d�d}|�|jj��|�|�|jjtj�dS)N�ABNORMAL_TERMINATIONz3ABNORMAL_TERMINATION: ERROR (abnormal termination)
rdrTrrr�test_start_abnormaltermination$s
z:TestDefaultControllerPlugin.test_start_abnormalterminationcC�6|��}|�d�}|�|d�|�|jj��d�dS)Nr��
foo: started
)rrRrrrRrSr�rrr�test_start_one_success,s
�z2TestDefaultControllerPlugin.test_start_one_successcCrW)N�foo:foorirar�rrr�&test_start_one_with_group_name_success3r\zBTestDefaultControllerPlugin.test_start_one_with_group_name_successcCrW)N�foo barzfoo: started
bar: started
rar�rrr�test_start_many;r\z+TestDefaultControllerPlugin.test_start_manycCrW)Nr�z(foo:foo_00: started
foo:foo_01: started
rar�rrr�test_start_groupC�
�z,TestDefaultControllerPlugin.test_start_groupcCrW�Nz	BAD_NAME:� BAD_NAME: ERROR (no such group)
)	rrRrrrRrSrerrSr�rrr�test_start_group_bad_nameMr\z5TestDefaultControllerPlugin.test_start_group_bad_namecCrW)NrEzDfoo: started
foo2: started
failed_group:failed: ERROR (spawn error)
rdr�rrr�test_start_allU�
�z*TestDefaultControllerPlugin.test_start_allc�V|��}dd�|j_g��fdd�}|jjjj}||_||_|�d�|�	�g�dS)NcSrJrrrrrrrMbrNzGTestDefaultControllerPlugin.test_start_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrcdrz@TestDefaultControllerPlugin.test_start_upcheck_failed.<locals>.fr�)
rrrGrrOrP�startAllProcesses�startProcessGrouprRr�r
r�rcrPrrr�test_start_upcheck_failed`�
z5TestDefaultControllerPlugin.test_start_upcheck_failedcCr)Nzstop <name>)r�	help_stoprrRrSr?rrrr�test_stop_helplrz*TestDefaultControllerPlugin.test_stop_helpcC�R|��}|�d�}|�|d�|�|jj���d�dd�|�|jjtj	�dS)Nr^r�rz#Error: stop requires a process name)
r�do_stoprrrRrSr�rerrfr�rrr�test_stop_failr�
�z*TestDefaultControllerPlugin.test_stop_failcCrWrX�	rrrrrRrSrerrfr�rrr�test_stop_badnamezr\z-TestDefaultControllerPlugin.test_stop_badnamecCrW)Nrz�!NOT_RUNNING: ERROR (not running)
�	rrrrrRrSrerr?r�rrr�test_stop_notrunning�r\z0TestDefaultControllerPlugin.test_stop_notrunningcCrW)Nr_�FAILED
r�r�rrr�test_stop_failed��

z,TestDefaultControllerPlugin.test_stop_failedcCrW)Nr��
foo: stopped
r�r�rrr�test_stop_one_success�r\z1TestDefaultControllerPlugin.test_stop_one_successcCrW)Nrkr�r�r�rrr�%test_stop_one_with_group_name_success�r\zATestDefaultControllerPlugin.test_stop_one_with_group_name_successcCrW)Nrmzfoo: stopped
bar: stopped
r�r�rrr�test_stop_many�rpz*TestDefaultControllerPlugin.test_stop_manycCrW)Nr�z(foo:foo_00: stopped
foo:foo_01: stopped
r�r�rrr�test_stop_group�rpz+TestDefaultControllerPlugin.test_stop_groupcCrWrqr�r�rrr�test_stop_group_bad_name�r\z4TestDefaultControllerPlugin.test_stop_group_bad_namecCrW)NrEzHfoo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
r�r�rrr�
test_stop_all��
�z)TestDefaultControllerPlugin.test_stop_allcrv)NcSrJrrrrrrrM�rNzFTestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc�rz?TestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.fr�)
rrrGrrOrP�stopAllProcesses�stopProcessGrouprrryrrr�test_stop_upcheck_failed�r{z4TestDefaultControllerPlugin.test_stop_upcheck_failedcCr)Nzsignal <signal name> <name>)r�help_signalrrRrSr?rrrr�test_signal_help�rz,TestDefaultControllerPlugin.test_signal_helpcCrQ)Nr^�7Error: signal requires a signal name and a process namer�r�
r�	do_signalrrrRrSr�rerrf�r
r�r$�msgrrr�test_signal_fail_no_arg�rVz3TestDefaultControllerPlugin.test_signal_fail_no_argcCrQ)N�hupr�r�rr�r�rrr�test_signal_fail_one_arg�rVz4TestDefaultControllerPlugin.test_signal_fail_one_argcCrW)NzBAD_SIGNAL foozfoo: ERROR (bad signal name)
�	rr�rrrRrSrerrfr�rrr�test_signal_bad_signal�r\z2TestDefaultControllerPlugin.test_signal_bad_signalcCrW)NzHUP BAD_NAMErYr�r�rrr�test_signal_bad_name�r\z0TestDefaultControllerPlugin.test_signal_bad_namecCrW)Nz
HUP BAD_NAME:rrr�r�rrr�test_signal_bad_group�r\z1TestDefaultControllerPlugin.test_signal_bad_groupcCrW)NzHUP NOT_RUNNINGr�)	rr�rrrRrSrerrzr�rrr�test_signal_not_running�r\z3TestDefaultControllerPlugin.test_signal_not_runningcCsF|��}|�d�}|�|d�|�|jj��d�|�|jjd�dS)Nz
HUP FAILEDr�r�)rr�rrrRrSrer�rrr�test_signal_faileds

z.TestDefaultControllerPlugin.test_signal_failedcCrW)NzHUP foozfoo: signalled
�	rr�rrrRrSrerr?r�rrr�test_signal_one_successr�z3TestDefaultControllerPlugin.test_signal_one_successcCrW)NzHUP foo barzfoo: signalled
bar: signalled
r�r�rrr�test_signal_manyrpz,TestDefaultControllerPlugin.test_signal_manycCrW)NzHUP foo:z,foo:foo_00: signalled
foo:foo_01: signalled
r�r�rrr�test_signal_grouprpz-TestDefaultControllerPlugin.test_signal_groupcCrW)NzHUP allzLfoo: signalled
foo2: signalled
failed_group:failed: ERROR (no such process)
r�r�rrr�test_signal_all'r�z+TestDefaultControllerPlugin.test_signal_allcrv)NcSrJrrrrrrrM3rNzHTestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc5rzATestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.fzterm foo)
rrrGrrOrP�signalAllProcesses�signalProcessGroupr�rryrrr�test_signal_upcheck_failed1r{z6TestDefaultControllerPlugin.test_signal_upcheck_failedcCr)Nzrestart <name>)r�help_restartrrRrSr?rrrr�test_restart_help=rz-TestDefaultControllerPlugin.test_restart_helpcCr~)Nr^r�rz&Error: restart requires a process name)
r�
do_restartrrrRrSr�rerrfr�rrr�test_restart_failCr�z-TestDefaultControllerPlugin.test_restart_failcCrW)Nr�zfoo: stopped
foo: started
)	rr�rrrRrSrerr?r�rrr�test_restart_oneKr\z,TestDefaultControllerPlugin.test_restart_onecCrW)NrEz�foo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
foo: started
foo2: started
failed_group:failed: ERROR (spawn error)
)	rr�rrrRrSrerrzr�rrr�test_restart_allSs
�z,TestDefaultControllerPlugin.test_restart_allcrv)NcSrJrrrrrrrM`rNzITestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrcbrzBTestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.fr�)
rrrGrrOrPr�r�r�rryrrr�test_restart_upcheck_failed^r{z7TestDefaultControllerPlugin.test_restart_upcheck_failedcCr)Nzclear <name>)r�
help_clearrrRrSr?rrrr�test_clear_helpjrz+TestDefaultControllerPlugin.test_clear_helpcCr~)Nr^r�rz$Error: clear requires a process name)
r�do_clearrrrRrSr�rerrfr�rrr�test_clear_failpr�z+TestDefaultControllerPlugin.test_clear_failcCrWrX�	rr�rrrRrSrerrfr�rrr�test_clear_badnamexr\z.TestDefaultControllerPlugin.test_clear_badnamecCrW)Nr��
foo: cleared
�	rr�rrrRrSrerr?r�rrr�test_clear_one_success�r\z2TestDefaultControllerPlugin.test_clear_one_successcCrW)Nrkr�r�r�rrr�!test_clear_one_with_group_success�r\z=TestDefaultControllerPlugin.test_clear_one_with_group_successcCrW)Nrmzfoo: cleared
bar: cleared
r�r�rrr�test_clear_many�r\z+TestDefaultControllerPlugin.test_clear_manycCrW)NrEz?foo: cleared
foo2: cleared
failed_group:failed: ERROR (failed)
r�r�rrr�test_clear_all�ruz*TestDefaultControllerPlugin.test_clear_allcrv)NcSrJrrrrrrrM�rNzGTestDefaultControllerPlugin.test_clear_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc�rz@TestDefaultControllerPlugin.test_clear_upcheck_failed.<locals>.fr�)
rrrGrrOrP�clearAllProcessLogs�clearProcessLogsr�rryrrr�test_clear_upcheck_failed�r{z5TestDefaultControllerPlugin.test_clear_upcheck_failedcCr)Nz
open <url>)r�	help_openrrRrSr?rrrr�test_open_help�rz*TestDefaultControllerPlugin.test_open_helpcCrW)N�badnamez&ERROR: url must be http:// or unix://
)	r�do_openrrrRrSrerrfr�rrr�test_open_fail�r\z*TestDefaultControllerPlugin.test_open_failcCr7)	Nzhttp://localhost:9002r�rr�r8r�r9r:)
rr�rrrRrSr�rerr?rrrr�test_open_succeed�r>z-TestDefaultControllerPlugin.test_open_succeedcCr)Nz*Show the version of the remote supervisord)r�help_versionrrRrSr?rrrr�test_version_help�rz-TestDefaultControllerPlugin.test_version_helpcCs*|��}|�d�|�|jj��d�dS)Nz3000
)r�
do_versionrrrRrS�r
r�rrr�test_version�s
z(TestDefaultControllerPlugin.test_versioncC�R|��}|�d�}|�|d�|jj��}|�|�d�|�|�|jjt	j
�dS)Nr�z#Error: version accepts no arguments)rr�rrrRrSr?�
startswithrerrf�r
r�r$�valrrr�test_version_arg��
z,TestDefaultControllerPlugin.test_version_argcr)NcSrJrrrrrrrM�rNzITestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc�rzBTestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.fr^)	rrrGrrOrP�getSupervisorVersionr�rrrrr�test_version_upcheck_failed�rz7TestDefaultControllerPlugin.test_version_upcheck_failedcCr)NzRestart the remote supervisord)r�help_reloadrrRrSr?rrrr�test_reload_help�rz,TestDefaultControllerPlugin.test_reload_helpcCsF|��}|jj}d|jj_|�d�}|�|d�|�|jjjd�dS)NFr^)	rrrrOrP�_restartable�	do_reloadr�
_restarted�r
r�rr$rrr�test_reload_fail�s

z,TestDefaultControllerPlugin.test_reload_failcC�<|��}|jj}|�d�}|�|d�|�|jjjd�dS�Nr^T)rrrr�rrOrPr�r�rrr�test_reload��

z'TestDefaultControllerPlugin.test_reloadcCr�)Nr�z"Error: reload accepts no arguments)rr�rrrRrSr?r�rerrfr�rrr�test_reload_arg�r�z+TestDefaultControllerPlugin.test_reload_argcCr)Nz Shut the remote supervisord down)r�
help_shutdownrrRrSr?rrrr�test_shutdown_helprz.TestDefaultControllerPlugin.test_shutdown_helpcCr�r�)rrr�do_shutdownrrOrP�	_shutdownr�rrr�
test_shutdown
r�z)TestDefaultControllerPlugin.test_shutdowncsn|��}ddlm��fdd�}||jjjj_|�d�}|�|d�|�|jj	�
�d�|�|jjtj
�dS)Nrrc�t��jjd��)N�bye�rrYrV�SHUTDOWN_STATEr`rrrrr�zbTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_state.<locals>.raise_faultr^zERROR: already shutting down
)rrPrrrrO�shutdownr�rrRrSrerr?)r
r�rrr$rrr�1test_shutdown_catches_xmlrpc_fault_shutdown_states
�zMTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_statec�V|��}ddlm��fdd�}||jjjj_|�tj	|j
d�|�|jjt
j�dS)Nrrcr�)N�ouch�rrYrV�CANT_REREADr`rrrrr#r�z[TestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faults.<locals>.raise_faultr^)rrPrrrrOr�rdrrYr�rrerrf�r
r�rrrrr�*test_shutdown_reraises_other_xmlrpc_faultss�zFTestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faultsc�z|��}ddl�ddl���fdd�}||jjjj_|�d�}|�	|d�|jj
��}|�d|v�|�	|jj
tj�dS)Nrcrjrkrlr`rorrrr0rz`TestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSED.<locals>.raise_faultr^z'refused connection (already shut down?)�rrqrprrrOrPr�r�rrRrSr?rerrf�r
r�rrr$rurror�/test_shutdown_catches_socket_error_ECONNREFUSED+�
zKTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSEDcr�)Nrcrj)Nzno filerxr`rorrrr@rzZTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENT.<locals>.raise_faultr^z!no such file (already shut down?)r�r�rror�)test_shutdown_catches_socket_error_ENOENT;r�zETestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENTcs\|��}ddl�ddl���fdd�}||jjjj_|��j	|j
d�|�|jjt
j�dS)Nrcrj)N�denied)rm�EPERMr`rorrrrPrz[TestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errors.<locals>.raise_faultr^)rrqrprrrOrPr�rdrmr�rrerrfr�rror�*test_shutdown_reraises_other_socket_errorsKs�zFTestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errorscCs2|��}|�dgdgdgg�|�gggg�dS)N�added�changed�removed)r�_formatChangesr�rrr�test__formatChangesXsz/TestDefaultControllerPlugin.test__formatChangescC�@|��}|��|jj��}|�d|v�|�|jjtj	�dS)Nz'Reload the daemon's configuration files)
r�help_rereadrrRrSr?rrerr?rrrr�test_reread_help^�
z,TestDefaultControllerPlugin.test_reread_helpcsb|��}g��fdd�|_|�d�}|�|d�|��ddgdgdgg�|�|jjtj�dS)Ncs
��|�Srr
rK��callsrrrMhs
z9TestDefaultControllerPlugin.test_reread.<locals>.<lambda>rr�r�r�)rr�	do_rereadrrrerr?r�rrr�test_rereades
z'TestDefaultControllerPlugin.test_rereadcCr�)Nr�z"Error: reread accepts no arguments)rrrrrRrSr?r�rerrfr�rrr�test_reread_argnr�z+TestDefaultControllerPlugin.test_reread_argc�b|��}ddlm��fdd�}||jjjj_|�d�|�|jj	�
�d�|�|jjtj
�dS)Nrrcr�)N�cantr�r`rrr�reloadConfigyr�zITestDefaultControllerPlugin.test_reread_cant_reread.<locals>.reloadConfigzERROR: cant
�rrPrrrrOr
rrrRrSrerrf�r
r�r
rrr�test_reread_cant_rereadv�
�z3TestDefaultControllerPlugin.test_reread_cant_rereadcr)Nrrcr�r]r�r`rrrr
�r�zLTestDefaultControllerPlugin.test_reread_shutdown_state.<locals>.reloadConfig� ERROR: supervisor shutting down
rrrrr�test_reread_shutdown_state�rz6TestDefaultControllerPlugin.test_reread_shutdown_statecr�)Nrrcr�r])rrYrVr_r`rrrr
�r�zSTestDefaultControllerPlugin.test_reread_reraises_other_faults.<locals>.reloadConfigr^)rrPrrrrOr
rdrrYrrrerrfrrrr�!test_reread_reraises_other_faults�sz=TestDefaultControllerPlugin.test_reread_reraises_other_faultscCs`ddddddd�}|��}|�|�}|�d|v�ddddddd�}|�|�}|�d|v�dS)	N�group1�process1T���r(r'�inuse�	autostart�process_prio�
group_priozin useF�avail)r�_formatConfigInfor?)r
�infor�r$rrr�test__formatConfigInfo�s&�
�
z2TestDefaultControllerPlugin.test__formatConfigInfocCr)NzDisplay all configured)r�
help_availrrRrSr?rrrr�test_avail_help�rz+TestDefaultControllerPlugin.test_avail_helpcsPg}|��}Gdd�dt���fdd�|j_|j|j_|�d�}|�|d�dS)Nc@r/)z>TestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisorcSsddddddd�gS)NrrFrrrr3rrr�getAllConfigInfo�s�zOTestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisor.getAllConfigInfoN)r6r7r8r#rrrr�FakeSupervisor�r:r$cs��Srrr�r$rrrM�sz8TestDefaultControllerPlugin.test_avail.<locals>.<lambda>r^)rr;rr�rru�do_availr)r
rr�r$rr%r�
test_avail�s

z&TestDefaultControllerPlugin.test_availcCr�)Nr�z!Error: avail accepts no arguments)rr&rrrRrSr?r�rerrfr�rrr�test_avail_arg�r�z*TestDefaultControllerPlugin.test_avail_argcCsb|��}|jjjj}dd�}||_|�d�}|�|d�|�|jj�	�d�|�|jj
tj�dS)NcS�ddlm}t�|jjd���Nrrr^�rPrrrYrVr�rrrrr#��zOTestDefaultControllerPlugin.test_avail_shutdown_state.<locals>.getAllConfigInfor^r)
rrrrOrPr#r&rrRrSrerrf)r
r�rPr#r$rrr�test_avail_shutdown_state�s
�z5TestDefaultControllerPlugin.test_avail_shutdown_statecCsJ|��}|jjjj}dd�}||_|�tj|j	d�|�
|jjtj
�dS)NcSr)r*�rPrrrYrVr_rrrrr#�r,zVTestDefaultControllerPlugin.test_avail_reraises_other_faults.<locals>.getAllConfigInfor^)rrrrOrPr#rdrrYr&rrerrf)r
r�rPr#rrr� test_avail_reraises_other_faults�sz<TestDefaultControllerPlugin.test_avail_reraises_other_faultscCr)Nz
add <name>)r�help_addrrRrSr?rrrr�
test_add_help�rz)TestDefaultControllerPlugin.test_add_helpcCsP|��}|�d�}|�|d�|jjjj}|�|jdg�|�|jjt	j
�dS�Nr�)r�do_addrrrrOrP�	processesrerr?)r
r�r$rPrrr�test_add�s
z$TestDefaultControllerPlugin.test_addcCrW)N�
ALREADY_ADDEDz$ERROR: process group already active
)	rr3rrrRrSrerr?r�rrr�test_add_already_added�r\z2TestDefaultControllerPlugin.test_add_already_addedcCrW)Nr�'ERROR: no such process/group: BAD_NAME
�	rr3rrrRrSrerrfr�rrr�test_add_bad_name�r\z-TestDefaultControllerPlugin.test_add_bad_namecCrW)Nr�zERROR: shutting down
r9r�rrr�test_add_shutdown_state�r\z3TestDefaultControllerPlugin.test_add_shutdown_statecC�0|��}|�tj|jd�|�|jjtj	�dS�Nr_)
rrdrrYr3rrrerrfr�rrr�test_add_reraises_other_faults�z:TestDefaultControllerPlugin.test_add_reraises_other_faultscCr)Nz
remove <name>)
r�help_removerrRrSr?rrerr?rrrr�test_remove_helprz,TestDefaultControllerPlugin.test_remove_helpcCsD|��}|jjjj}dg|_|�d�}|�|d�|�|jg�dSr2)rrrrOrPr4�	do_remover�r
r�rPr$rrr�test_removes
z'TestDefaultControllerPlugin.test_removecC�\|��}|jjjj}dg|_|�d�}|�|d�|�|jj�	�d�|�|jj
tj�dS)Nr�rr8�
rrrrOrPr4rBrrRrSrerrfrCrrr�test_remove_bad_name�
�z0TestDefaultControllerPlugin.test_remove_bad_namecCrE)Nr��
STILL_RUNNINGz2ERROR: process/group still running: STILL_RUNNING
rFrCrrr�test_remove_still_running$rHz5TestDefaultControllerPlugin.test_remove_still_runningcCr<r=)
rrdrrYrBrrrerrfr�rrr�!test_remove_reraises_other_faults.r?z=TestDefaultControllerPlugin.test_remove_reraises_other_faultscCr)NzReload config and add/remove)r�help_updaterrRrSr?rrrr�test_update_help3rz,TestDefaultControllerPlugin.test_update_helpcCsH|��}|jjjj}dd�}||_dg|_|�d�|�|jdg�dS)NcSr))Nrr�blahr+rrrrr
<r,zMTestDefaultControllerPlugin.test_update_not_on_shutdown.<locals>.reloadConfigr�r^)	rrrrOrPr
r4�	do_updater�r
r�rPr
rrr�test_update_not_on_shutdown9s
z7TestDefaultControllerPlugin.test_update_not_on_shutdowncCsL|��}|jjjj}dd�}||_|�d�}|�|d�|�|jdg�dS)NcSsdgggggS)N�new_procrrrrrr
HrzITestDefaultControllerPlugin.test_update_added_procs.<locals>.reloadConfigr^rR)	rrrrOrPr
rOrr4)r
r�rPr
r$rrr�test_update_added_procsDs
z3TestDefaultControllerPlugin.test_update_added_procscCs�|��}|jjjj}dd�}||_ddg|_|�d�|�t	|j�t	ddg��|�d�|�t	|j�t	gd���|�d�|�t	|j�t	gd���ddg|_|�d�|�t	|j�t	dd	g��ddg|_|�d
�|�t	|j�t	gd���dS)NcSsddgdgdgggS)N�added1�added2r�r�rrrrrr
T�zHTestDefaultControllerPlugin.test_update_with_gname.<locals>.reloadConfigr�r�z
added1 added2)r�r�rTrU)r�rTrUzremoved added1rTrE)
rrrrOrPr
r4rOr�sortedrPrrr�test_update_with_gnamePs6


�

�

�


�


�z2TestDefaultControllerPlugin.test_update_with_gnamecsBddlm}|��}|jjjj}g�dd�}||_�fdd�|_|�d�dd|j	j
d	d
�g���fdd�}||_|�d
�|�
�dg�|�d�g�dd�<dd|j	jd	d
�dd|j	jd	d
�g�dd�<|�d
�|�
�dg�|�d�g�dd�<dd|j	jd	d
�dd|j	j
d	d
�g�dd�<|�d
�|�
�dg�dS)NrrcSsgdggggS)N�
changed_grouprrrrrr
wrzKTestDefaultControllerPlugin.test_update_changed_procs.<locals>.reloadConfigcs��d|f�S)Nr�r
rKrrrrMzszGTestDefaultControllerPlugin.test_update_changed_procs.<locals>.<lambda>rY�changed_processrN�r'r(�statusr/cs��d|f��S)Nr,r
�r'�rr�rrr��szOTestDefaultControllerPlugin.test_update_changed_procs.<locals>.stopProcessGroupr^)r,rY�changed_process1�changed_process2)rPrrrrrOr
�startProcess�addProcessGrouprVr?r�rOrrzr_�r
rr�rPr
r�rr^r�test_update_changed_procsps^
�

���
	
���
	z5TestDefaultControllerPlugin.test_update_changed_procscs�ddlm}|��}|jjjj}dd�}||_dd|jjdd�g�dg|_	�fd	d
�}||_
|�d�|�|j	g�dd|jj
dd�g�dd�<dg|_	|�d�|�|j	g�dd|jjdd�g�dd�<dg|_	|�d�|�|j	dg�dS)NrrcSsggdgggS)N�
removed_grouprrrrrr
�rzKTestDefaultControllerPlugin.test_update_removed_procs.<locals>.reloadConfig�removed_processrerNr[cs�Srrr]�r�rrr���zOTestDefaultControllerPlugin.test_update_removed_procs.<locals>.stopProcessGroupr^)rPrrrrrOr
rVr?r4r�rOrrzr_rcrrgr�test_update_removed_procs�s>�
�
�
z5TestDefaultControllerPlugin.test_update_removed_procscCsH|��}|jjjj}dd�}||_|�tj|j	d�|�
|jjd�dS)NcSr))Nrrr_r.rrrrr
�r,zSTestDefaultControllerPlugin.test_update_reraises_other_faults.<locals>.reloadConfigr^r�)rrrrOrPr
rdrrYrOrrerPrrr�!test_update_reraises_other_faults�sz=TestDefaultControllerPlugin.test_update_reraises_other_faultscCr)Nz
pid <name>)r�help_pidrrRrSr?rrrr�
test_pid_help�rz)TestDefaultControllerPlugin.test_pid_helpcCsh|��}|�d�}|�|d�|jj}|jj���d�}|�t|�d�|�|dt	|j
j����dS)Nr^r�r�r)
r�do_pidrrrrRrSr�r��strrOrP�getPID)r
r�r$rr�rrr�test_pid_supervisord�s
 z0TestDefaultControllerPlugin.test_pid_supervisordcCsX|��}|�d�}|�|d�|jj����}|�|��gd��|�|jjt	j
�dS)NrE)�11�12�13)rrmrrrRrSrr�rerr?rrrr�test_pid_allprocesses�s
z1TestDefaultControllerPlugin.test_pid_allprocessescCr)NrzNo such process BAD_NAME)
rrmrrrRrSrrerrfrrrr�test_pid_badname�r
z,TestDefaultControllerPlugin.test_pid_badnamecCsL|��}|�d�}|�|d�|�|jj����d�|�|jjtj	�dS)Nr�rq)
rrmrrrRrSrrerr?r�rrr�test_pid_oneprocess�s

z/TestDefaultControllerPlugin.test_pid_oneprocesscCsf|��}|jj}dd�}||jj_|�d�}|�|d�|�|jj�	��
�d�|�|jjtj
�dS)Nc_s(ddlm}ddd|jddddddd�
S)Nrr!r�r;r^r%r&)r2r"r;r4rrrrcs�zFTestDefaultControllerPlugin.test_pid_oneprocess_not_running.<locals>.fr��0)rrrrOrP�getProcessInformrrRrSrrerrz)r
r�rrcr$rrr�test_pid_oneprocess_not_runnings


�z;TestDefaultControllerPlugin.test_pid_oneprocess_not_runningcr)NcSrJrrrrrrrMrNzETestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrcrz>TestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.fr^)	rrrGrrOrPrormrrrrr�test_pid_upcheck_failedrz3TestDefaultControllerPlugin.test_pid_upcheck_failedcCr)Nz tail of supervisor main log file)r�
help_maintailrrRrSr?rrrr�test_maintail_help!rz.TestDefaultControllerPlugin.test_maintail_helpcCr�)NrmzError: too many�r�do_maintailrrrRrSr?r�rerrfr�rrr�test_maintail_toomanyargs'r�z5TestDefaultControllerPlugin.test_maintail_toomanyargscCr�)Nz-wrongzError: bad argument -wrongr}r�rrr� test_maintail_minus_string_fails/r�z<TestDefaultControllerPlugin.test_maintail_minus_string_failscCr�)N�wrongzError: bad argument wrongr}r�rrr�test_maintail_wrong7r�z/TestDefaultControllerPlugin.test_maintail_wrongcCs||��}t�|_|�d�}|�|d�|jj}|�t|�d�|d}|�|jjd�|�|dd�|�d|dv�dS)Nr�r�rz"http://localhost:65532/mainlogtailzCannot connect)	r�
DummyListener�listenerr~r�errorsr�r2r?)r
r�r$r�rmrrr�_dont_test_maintail_dashf?s

�
�z5TestDefaultControllerPlugin._dont_test_maintail_dashfcCr�)Nz-zr�rr�)
rr~rrrRrSr�rerrfr�rrr�test_maintail_bad_modifierPr�z6TestDefaultControllerPlugin.test_maintail_bad_modifiercCrh)Nr^�mainlogdata
�rr~rrrRrSr�rrr�test_maintail_nobytesX�
z1TestDefaultControllerPlugin.test_maintail_nobytescCrh)N�-100r�r�r�rrr�test_maintail_dashbytes^r�z3TestDefaultControllerPlugin.test_maintail_dashbytescC�h|��}|j��}ddlm}|jj|_|�d�}|�	|d�|�	|jj
��d�|�	|jjt
j�dS)Nrrr�z!supervisord: ERROR (no log file)
)rrr�rPrrVr��_readlog_errorr~rrRrSrerrf�r
r��supervisor_rpcrr$rrr�"test_maintail_readlog_error_nofiled�


�z>TestDefaultControllerPlugin.test_maintail_readlog_error_nofilecCr�)Nrrr�z/supervisord: ERROR (unknown error reading log)
)rrr�rPrrVr_r�r~rrRrSrerrfr�rrr�"test_maintail_readlog_error_failedor�z>TestDefaultControllerPlugin.test_maintail_readlog_error_failedcr)NcSrJrrrrrrrM|rNzJTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc~rzCTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.fr^)	rrrGrrOrP�readLogr~rrrrr�test_maintail_upcheck_failedzrz8TestDefaultControllerPlugin.test_maintail_upcheck_failedcCr)Nzfg <process>)r�help_fgrrRrSr?rrrr�test_fg_help�rz(TestDefaultControllerPlugin.test_fg_helpcCr�)Nr^r�rzERROR: no process name supplied�
r�do_fgrrrRrSr�rerrfr�rrr�test_fg_too_few_args�r�z0TestDefaultControllerPlugin.test_fg_too_few_argscC�L|��}|�d�}|�|d�|jj��}|�|d�|�|jjtj�dS)Nrmz'ERROR: too many process names supplied
�	rr�rrrRrSrerrf�r
r�r$r'rrr�test_fg_too_many_args�rDz1TestDefaultControllerPlugin.test_fg_too_many_argscCr�)Nrz!ERROR: bad process name supplied
r�r�rrr�test_fg_badprocname�rDz/TestDefaultControllerPlugin.test_fg_badprocnamecCs�|��}|�d�}|�|d�|jj��}|�|d�|�d�}|jj���d�}|�|d�|�|dd�|�|jjtj	�dS)Nr0zERROR: process not running
�baz_01r����zERROR: process not runningr�)r
r�r$r'r�rrr�test_fg_procnotrunning�s

z2TestDefaultControllerPlugin.test_fg_procnotrunningcr)NcSrJrrrrrrrM�rNzDTestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.<lambda>crr-r
r`rrrrc�rz=TestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.fr�)	rrrGrrOrPrxr�rrrrr�test_fg_upcheck_failed�rz2TestDefaultControllerPlugin.test_fg_upcheck_failedcCr�NzExit the supervisor shell)r�	help_exitrrRrSr?rrrr�test_exit_help�rz*TestDefaultControllerPlugin.test_exit_helpcCrr�)r�	help_quitrrRrSr?rrrr�test_quit_help�rz*TestDefaultControllerPlugin.test_quit_helpN)�r6r7r8rrr�r�r�r�r�r�r�rrrrr	rrrr r6r=r@rCrFrGrHrIrKrMrNrPrUr[r]r_rbrergrjrlrnrorsrtrzr}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�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	r
rrrr r"r'r(r-r/r1r5r7r:r;r>rArDrGrJrKrMrQrSrXrdrirjrlrprtrurvryrzr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s<			

!	
			
		
		



		


 5)	


r�c@s$eZdZdd�Zdd�Zdd�ZdS)r�cCs
g|_dSr)r�r3rrr�__init__�r5zDummyListener.__init__cCs|j�||f�dSr)r�r)r
�urlr�rrrrm�rVzDummyListener.errorcC�
||_dSrr1)r
r�rrrr4�r5zDummyListener.closeN)r6r7r8r�rmr4rrrrr��sr�c@�eZdZdd�Zdd�ZdS)�DummyPluginFactorycKr�r�r)r
rrbrrrr��r5zDummyPluginFactory.__init__cCs|jj�d�dS)Nr�)rrR�write�r
rarrrr��szDummyPluginFactory.do_helpN�r6r7r8r�r�rrrrr��sr�c@r�)rcCsDd|_d|_d|_d|_d|_d|_t�|_d|_dt	ifg|_
dS)NrPzhttp://localhost:65532�chrism�123rF�dummy)rD�	serverurl�username�password�history_filer�rrO�interactiver��plugin_factoriesr3rrrr��szDummyClientOptions.__init__cCs|jSr)rOr3rrrr��sz!DummyClientOptions.getServerProxyN)r6r7r8r�r�rrrrr�src@sLeZdZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
d�Z	ddd�Z
dS)rz
no help on %scCs ||_g|_t�|_tj|_dSr)rr�rrRrr?rerCrrrr��szDummyController.__init__cCrJr-rr3rrrrG�rhzDummyController.upcheckcCs
|�d�S)NrP)r�r3rrrr��r5zDummyController.get_supervisorNcCs |j��}|dur|St||�Sr)rr��getattr)r
�	namespacer�rrrr��s

z DummyController.get_server_proxycCs|j�|d�dS)Nr�)rRr�)r
�datarrrru�rVzDummyController.outputcCs|j�||||f�dSr)r�r)r
�doc_headers�cmds_doc�rows�colsrrr�print_topics�szDummyController.print_topicscCs@ddlm}||tjjfvrdS||vrtj|_dStj|_dS)Nr)�DEAD_PROGRAM_FAULTS)	rr�rrVr?rrzrerf)r
�	faultcode�ignored_faultcoder�rrr� set_exitstatus_from_xmlrpc_fault�sz0DummyController.set_exitstatus_from_xmlrpc_faultr)r6r7r8r�r�rGr�r�rur�r�rrrrr�s
rc@seZdZddd�Zdd�ZdS)rNcCr�rr�)r
rFrrrr�r5zDummyPlugin.__init__cCr0r-)r�r�rrrr�
r5zDummyPlugin.do_helprr�rrrrrs
rcCst�tjt�Sr)�unittest�
findTestCases�sys�modulesr6rrrr�
test_suite
r�r��__main__)�defaultTest)r�r�rPr�supervisor.compatrrrrr�supervisor.tests.baser�TestCaser	rAr�r�r�r�rrrr�r6�mainrrrr�<module>sB?uu$�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY