HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/supervisor/tests/__pycache__/test_supervisorctl.cpython-36.opt-1.pyc
3

�k�`�@�@s�ddlZddlZddlmZddlmZddlmZddlmZm	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�Zedkr�ejdd�dS)�N)�xmlrpc)�StringIO)�	xmlrpclib)�LSBInitExitStatuses�LSBStatusExitStatuses)�DummyRPCServerc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�fgthread_TestscCsddlm}|S)Nr)�fgthread)�supervisor.supervisorctlr	)�selfr	�r�(/usr/lib/python3.6/test_supervisorctl.py�_getTargetClass
szfgthread_Tests._getTargetClasscCs|j�||�S)N)r)rZprogram�ctlrrr
�_makeOneszfgthread_Tests._makeOnecCs,t�}t|�}|jd|�}|j|jd�dS)NF)�DummyClientOptions�DummyControllerr�assertEqual�killed)r�optionsr�instrrr
�	test_ctorszfgthread_Tests.test_ctorcCs:t�}t|�}|jd|�}|jddd�}|j||j�dS)NZcall)rrr�globaltracer�
localtrace)rrrr�resultrrr
�test_globaltrace_calls
z$fgthread_Tests.test_globaltrace_callcCs8t�}t|�}|jd|�}|jddd�}|j|d�dS)N)rrrrr)rrrrrrrr
�test_globaltrace_noncalls
z'fgthread_Tests.test_globaltrace_noncallcCsrt�}t|�}|jd|�}d|_y|jddd�Wn0tk
rb}z|j|jd�WYdd}~XnX|jd�dS)NT�linez(No exception thrown. Excepted SystemExit)	rrrrr�
SystemExitr�codeZfail)rrrr�errr
�test_localtrace_killed_whyline%s z-fgthread_Tests.test_localtrace_killed_whylinecCs@t�}t|�}|jd|�}d|_|jddd�}|j||j�dS)NT)rrrrrr)rrrrrrrr
�"test_localtrace_killed_not_whyline1sz1fgthread_Tests.test_localtrace_killed_not_whylinecCstt�}t|�}|jd|�}d|_Gdd�dt�}|�|_|�|_|j�|j|j�|j|jj	�|j|jj	�dS)NTc@seZdZdd�ZdS)z0fgthread_Tests.test_kill.<locals>.DummyCloseablecSs
d|_dS)NT)�closed)rrrr
�close?sz6fgthread_Tests.test_kill.<locals>.DummyCloseable.closeN)�__name__�
__module__�__qualname__r$rrrr
�DummyCloseable>sr()
rrrr�objectZoutput_handlerZ
error_handler�kill�
assertTruer#)rrrrr(rrr
�	test_kill9szfgthread_Tests.test_killN)r%r&r'rrrrrr!r"r,rrrr
r	src@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�ControllerTestscCsddlm}|S)Nr)�
Controller)r
r.)rr.rrr
rIszControllerTests._getTargetClasscCs|j�|�S)N)r)rrrrr
rMszControllerTests._makeOnecCs(t�}|j|�}|j|j|jd�dS)Nz> )rrr�prompt)rr�
controllerrrr
rQs
zControllerTests.test_ctorcCs(t�}|j|�}|j�}|j|d�dS)NT)rr�upcheckr)rrr0rrrr
�
test__upcheckVs
zControllerTests.test__upcheckcCsPt�}dd�|jj_|j|�}t�|_|j�}|j|d�|j|jj	�d�dS)NcWsdS)Nz1.0r)�xrrr
�<lambda>^szDControllerTests.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�stdoutr1r�getvalue)rrr0rrrr
�"test__upcheck_wrong_server_version\s
z2ControllerTests.test__upcheck_wrong_server_versioncsdt�}ddlm��fdd�}||jj_|j|�}t�|_|j	�}|j
|d�|j
|jj�d�dS)Nr)�Faultscstj�jd��dS)NZduh)r�FaultZUNKNOWN_METHODr)r;rr
r7ks[email protected]__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.xmlrpcr;r5r6r7rrr8r1rr9)rrr7r0rr)r;r
�test__upcheck_unknown_methodhs

z,ControllerTests.test__upcheck_unknown_methodcs^t�}ddlm��fdd�}||jj_|j|�}t�|_|j	t
j|j�|j
|jtj�dS)Nr)r;cstj�jd��dS)N�)rr<�FAILED)�arg�kw)r;rr
�f}szEControllerTests.test__upcheck_reraises_other_xmlrpc_faults.<locals>.f)rr=r;r5r6r7rrr8�assertRaisesrr<r1r�
exitstatusr�GENERIC)rrrCr0r)r;r
�*test__upcheck_reraises_other_xmlrpc_faultszs

z:ControllerTests.test__upcheck_reraises_other_xmlrpc_faultscs�t�}ddl�ddl���fdd�}||jj_|j|�}t�|_|j	�}|j
|d�|jj�}|jd|k�|j
|j
tj�dS)Nrcs�j�jd��dS)Nznobody home)�error�ECONNREFUSED)rArB)�errno�socketrr
�raise_fault�szTControllerTests.test__upcheck_catches_socket_error_ECONNREFUSED.<locals>.raise_faultFzrefused connection)rrKrJr5r6r7rrr8r1rr9r+rErZINSUFFICIENT_PRIVILEGES)rrrLr0r�outputr)rJrKr
�/test__upcheck_catches_socket_error_ECONNREFUSED�s


z?ControllerTests.test__upcheck_catches_socket_error_ECONNREFUSEDcs�t�}ddl�ddl���fdd�}||jj_|j|�}t�|_|j	�}|j
|d�|jj�}|jd|k�|j
|j
tj�dS)Nrcs�j�jd��dS)Nznobody home)rH�ENOENT)rArB)rJrKrr
rL�szNControllerTests.test__upcheck_catches_socket_error_ENOENT.<locals>.raise_faultFzno such file)rrKrJr5r6r7rrr8r1rr9r+rEr�NOT_RUNNING)rrrLr0rrMr)rJrKr
�)test__upcheck_catches_socket_error_ENOENT�s


z9ControllerTests.test__upcheck_catches_socket_error_ENOENTcsTt�}ddl�ddl���fdd�}||jj_|j|�}t�|_|j	�j
|j�dS)Nrcs�j�jd��dS)Nr?)rHZEBADF)rArB)rJrKrr
rC�szEControllerTests.test__upcheck_reraises_other_socket_faults.<locals>.f)rrKrJr5r6r7rrr8rDrHr1)rrrCr0r)rJrKr
�*test__upcheck_reraises_other_socket_faults�s

z:ControllerTests.test__upcheck_reraises_other_socket_faultscCsPt�}|j|�}t�|_t�}|f|j_|jd�}|j|d�|j|j	d�dS)N�helpT)
rrrr8�DummyPluginr�plugins�onecmdr�helped)rrr0�pluginrrrr
�test_onecmd�s


zControllerTests.test_onecmdcCsdt�}|j|�}t�|_t�}|f|j_d|_|jd�|j	|j�d|_|jd�|j
|j�dS)NFrSr?)rrrr8rTrrUrWrVr+ZassertFalse)rrr0rXrrr
�.test_onecmd_empty_does_not_repeat_previous_cmd�s



z>ControllerTests.test_onecmd_empty_does_not_repeat_previous_cmdcCs:t�}|j|�}t�|_i|_|jd�|j|jd�dS)NrS)rrrr8Z_complete_inforVr)rrr0rrr
�#test_onecmd_clears_completion_cache�s

z3ControllerTests.test_onecmd_clears_completion_cachecCsHt�}|j|�}t�|_|jd�|j|jj�d�|j|jtj	�dS)NZbadcmdz*** Unknown syntax: badcmd
)
rrrr8rVrr9rErrF)rrr0rrr
�test_onecmd_bad_command_error�s

z-ControllerTests.test_onecmd_bad_command_errorcCs\t�}|j|�}t�|_dg|_|jdddd�}|j|d�|jdddd�}|j|d�dS)NrSr?r)rzhelp �)rrrr8�vocab�completer)rrr0rrrr
�test_complete_action_empty�s
z*ControllerTests.test_complete_action_emptycCs\t�}|j|�}t�|_dg|_|jdddd�}|j|d�|jdddd�}|j|d�dS)NrS�hr)rzhelp r])rrrr8r^r_r)rrr0rrrr
�test_complete_action_partial�s
z,ControllerTests.test_complete_action_partialcCs@t�}|j|�}t�|_dg|_|jdddd�}|j|d�dS)NrSr)rzhelp )rrrr8r^r_r)rrr0rrrr
�test_complete_action_whole�s
z*ControllerTests.test_complete_action_wholecCs8t�}|j|�}t�|_|jdddd�}|j|d�dS)N�badr)r)rrrr8r_r)rrr0rrrr
�*test_complete_unknown_action_uncompletable�s

z:ControllerTests.test_complete_unknown_action_uncompletablecCsBt�}|j|�}t�|_ddg|_|jdddd�}|j|d�dS)NrS�addr?r]zbad )r)rrrr8r^r_r)rrr0rrrr
�.test_complete_unknown_action_arg_uncompletable�s

z>ControllerTests.test_complete_unknown_action_arg_uncompletablecCszt�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d�|jdd	dd�}|j|d�dS)
NrS�startr?rzhelp )rr]zstart �)rrrr8r^r_r)rrr0rrrr
�test_complete_help_emptys

z(ControllerTests.test_complete_help_emptycCs^t�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d�dS)	NrSrhZherzhelp he)rzhelp r])rrrr8r^r_r)rrr0rrrr
�test_complete_help_actions

z)ControllerTests.test_complete_help_actioncCs�t�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d	�|jdd
dd�}|j|d�|jdddd�}|j|d
�|jdddd�}|j|d�dS)NrSrhr?rzstart )rzfoo r]zbar rizbaz:baz_01 �zbaz:* �)rrrr8r^r_r)rrr0rrrr
�test_complete_start_emptys

z)ControllerTests.test_complete_start_emptycCs^t�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d�dS)	NrSrhrCrzstart f)rzfoo r])rrrr8r^r_r)rrr0rrrr
�test_complete_start_no_colon-s

z,ControllerTests.test_complete_start_no_coloncCszt�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d	�|jdd
dd�}|j|d�dS)NrSrhzfoo:rz
start foo:)rzfoo:foo r]zfoo:* ri)rrrr8r^r_r)rrr0rrrr
�test_complete_start_with_colon7s

z.ControllerTests.test_complete_start_with_coloncCsBt�}|j|�}t�|_ddg|_|jdddd�}|j|d�dS)NrSrhrdrz	start bad)r)rrrr8r^r_r)rrr0rrrr
�!test_complete_start_uncompletableCs

z1ControllerTests.test_complete_start_uncompletablecCsft�}|j|�}t�|_ddg|_|jdddd�}|j|d�dd�}||jjj	_
|jdd	dd�dS)
NrSrhr?rzstart )rc_std��dS)Nz(should not have called getAllProcessInfo)�	Exception)rArBrrr
rCRsz<ControllerTests.test_complete_caches_process_info.<locals>.fr])rrrr8r^r_ZassertNotEqualrr5r6�getAllProcessInfo)rrr0rrCrrr
�!test_complete_caches_process_infoKs

z1ControllerTests.test_complete_caches_process_infocCs�t�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d	�|jdd
dd�}|j|d�|jdddd�}|j|d�dS)
NrSrfr?rzadd )rzfoo r]zbar rizbaz rl)rrrr8r^r_r)rrr0rrrr
�test_complete_add_emptyWs

z'ControllerTests.test_complete_add_emptycCsBt�}|j|�}t�|_ddg|_|jdddd�}|j|d�dS)NrSrfrdrzadd bad)r)rrrr8r^r_r)rrr0rrrr
�test_complete_add_uncompletablees

z/ControllerTests.test_complete_add_uncompletablecCs^t�}|j|�}t�|_ddg|_|jdddd�}|j|d�|jdddd�}|j|d�dS)	NrSrfrCrzadd f)rzfoo r])rrrr8r^r_r)rrr0rrrr
�test_complete_add_groupms

z'ControllerTests.test_complete_add_groupcCsBt�}|j|�}t�|_ddg|_|jdddd�}|j|d�dS)NrS�reloadr?r]zreload )r)rrrr8r^r_r)rrr0rrrr
�&test_complete_reload_arg_uncompletablews

z6ControllerTests.test_complete_reload_arg_uncompletablecCs"t�}|j|�}|j|jd�dS)Nz*** No help on %s)rrr�nohelp)rrr0rrr
�test_nohelps
zControllerTests.test_nohelpcCsHt�}|j|�}t�|_|jd�}|jj�}|j|d�|j|d�dS)Nr?z
foo helped)rrrr8�do_helpr9r)rrr0�results�helpvalrrr
�test_do_help�s


zControllerTests.test_do_helpcCsJt�}|j|�}t�|_|jd�}|j|d�|jj�}|jd|k�dS)NrSzhelp		Print a list)rrrr8r|rr9r+)rrr0r}r~rrr
�test_do_help_for_help�s


z%ControllerTests.test_do_help_for_helpcCs2t�}|j|�}|j�}|j�j}|j||�dS)N)rr�get_supervisor�getServerProxyr6r)rrr0�proxy�expectedrrr
�<test_get_supervisor_returns_serverproxy_supervisor_namespace�s


zLControllerTests.test_get_supervisor_returns_serverproxy_supervisor_namespacecCs0t�}|j|�}|j�}|j�}|j||�dS)N)rr�get_server_proxyr�r)rrr0r�r�rrr
�6test_get_server_proxy_with_no_args_returns_serverproxy�s

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



zKControllerTests.test_get_server_proxy_with_namespace_returns_that_namespacecCsLddlm}g}|�}|jt|j�dk�g|_|j|td�|j|�dS)Nr)�
ClientOptions)�doc)Zsupervisor.optionsr�r+�lenZsearchpathsZrealize�__doc__r)rr��argsrrrr
�#test_real_controller_initialization�sz3ControllerTests.test_real_controller_initializationN)(r%r&r'rrrr2r:r>rGrNrQrRrYrZr[r\r`rbrcrergrjrkrnrorprqrtrurvrwryr{rr�r�r�r�r�rrrr
r-HsJ

	




		r-c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestControllerPluginBasecCsddlm}|S)Nr)�ControllerPluginBase)r
r�)rr�rrr
r�sz(TestControllerPluginBase._getTargetClasscOs*|j�}t�}t|�}||f|�|�}|S)N)rrr)rrArB�klassrrrXrrr
r�s
z!TestControllerPluginBase._makeOnecCs�|j�}|jd�}|j|d�|j|jjj�d�|jt|jj�d�|jjd}|j|dd�|j|dg�|j|dd�|j|dd�dS)	N�
r]rz%unnamed commands (type help <topic>):ri�rl�P)rr|rrr8r9r��topics_printed)rrXrZtopicsrrr
�test_do_help_noarg�s
z+TestControllerPluginBase.test_do_help_noargcCsJ|j�}|jd�}|j|d�|j|jjj�d�|jt|jj�d�dS)N�foozno help on foo
r)rr|rrr8r9r�r�)rrXrrrr
�test_do_help_witharg�s

z-TestControllerPluginBase.test_do_help_withargN)r%r&r'rrr�r�rrrr
r��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(<�TestDefaultControllerPlugincCsddlm}|S)Nr)�DefaultControllerPlugin)r
r�)rr�rrr
r�sz+TestDefaultControllerPlugin._getTargetClasscOs*|j�}t�}t|�}||f|�|�}|S)N)rrr)rrArBr�rrrXrrr
r�s
z$TestDefaultControllerPlugin._makeOnecCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nr?r�rzError: too few arguments)
r�do_tailrrr8r9�splitrErrF)rrXr�linesrrr
�test_tail_toofewargs�s
z0TestDefaultControllerPlugin.test_tail_toofewargscCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nzone two three fourr�rzError: too many arguments)
rr�rrr8r9r�rErrF)rrXrr�rrr
�test_tail_toomanyargs�s
z1TestDefaultControllerPlugin.test_tail_toomanyargscCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nz-fr�rz!Error: tail requires process name)
rr�rrr8r9r�rErrF)rrXrr�rrr
�test_tail_f_noprocname�s
z2TestDefaultControllerPlugin.test_tail_f_noprocnamecCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nz-z foor�rzError: bad argument -z)
rr�rrr8r9r�rErrF)rrXrr�rrr
�test_tail_bad_modifier�s
z2TestDefaultControllerPlugin.test_tail_bad_modifiercCsT|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�dS)Nr�r��rzstdout line)rr�rrr8r9r�r�)rrXrr�rrr
�test_tail_defaultss
z.TestDefaultControllerPlugin.test_tail_defaultscCsf|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�|j|jjt	j
�dS)N�NO_FILEr�rirzNO_FILE: ERROR (no log file))rr�rrr8r9r�r�rErrF)rrXrr�rrr
�test_tail_no_files
z-TestDefaultControllerPlugin.test_tail_no_filecCsf|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�|j|jjt	j
�dS)Nr@r�rirz)FAILED: ERROR (unknown error reading log))rr�rrr8r9r�r�rErrF)rrXrr�rrr
�test_tail_faileds
z,TestDefaultControllerPlugin.test_tail_failedcCsf|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�|j|jjt	j
�dS)N�BAD_NAMEr�rirz&BAD_NAME: ERROR (no such process name))rr�rrr8r9r�r�rErrF)rrXrr�rrr
�test_tail_bad_name!s
z.TestDefaultControllerPlugin.test_tail_bad_namecCsT|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�dS)Nz-10 foor�rlrz	dout line)rr�rrr8r9r�r�)rrXrr�rrr
�test_tail_bytesmodifier*s
z3TestDefaultControllerPlugin.test_tail_bytesmodifiercCsT|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�dS)Nz
foo stdoutr�r�rzstdout line)rr�rrr8r9r�r�)rrXrr�rrr
�,test_tail_explicit_channel_stdout_nomodifier2s
zHTestDefaultControllerPlugin.test_tail_explicit_channel_stdout_nomodifiercCsT|j�}|jd�}|j|d�|jjj�jd�}|jt|�d�|j|dd�dS)Nz
foo stderrr�r�rzstderr line)rr�rrr8r9r�r�)rrXrr�rrr
�,test_tail_explicit_channel_stderr_nomodifier:s
zHTestDefaultControllerPlugin.test_tail_explicit_channel_stderr_nomodifiercCsP|j�}|jd�}|j|d�|jjj�j�}|j|d�|j|jjtj	�dS)Nz	foo fudgezError: bad channel 'fudge')
rr�rrr8r9�striprErrF)rrXr�valuerrr
�'test_tail_explicit_channel_unrecognizedBs
zCTestDefaultControllerPlugin.test_tail_explicit_channel_unrecognizedcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4LszFTestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)�append)rArB)�calledrr
rCNsz?TestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.fr�)	rrr1rr5r6ZreadProcessStdoutLogr�r)rrXrCr)r�r
�test_tail_upcheck_failedJs
z4TestDefaultControllerPlugin.test_tail_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nz
status <name>)rZhelp_statusrr8r9r+)rrX�outrrr
�test_status_helpTsz,TestDefaultControllerPlugin.test_status_helpcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4\szHTestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC^szATestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.fr?)	rrr1rr5r6rs�	do_statusr)rrXrCr)r�r
�test_status_upcheck_failedZs
z6TestDefaultControllerPlugin.test_status_upcheck_failedcCsJ|j�}|jd�}|j|d�|jjj�jd�}|j|djd�d�dS)Nr?r�r�RUNNING�!)rr�rrr8r9r��index)rrXrr�rrr
�*test_status_table_process_column_min_widthds

zFTestDefaultControllerPlugin.test_status_table_process_column_min_widthcCsv|j�}|jj}dd�}||jj_|j|jd�d�|jjj	�j
d�}|j|djd�d�|j|djd�d�dS)	Nc_sHddlm}dddd|jddddddd	�
d
d
d|jddddddd	�
gS)
Nr)�
ProcessStatesr��2�r�r?zfoo description)
�name�group�pid�state�	statenamerh�stop�spawnerr�now�description�barr�zbar description)�supervisor.statesr�r��FATAL)rArBr�rrr
rCns*zOTestDefaultControllerPlugin.test_status_table_process_column_expands.<locals>.fr?r�rr��r])rrrr5r6rsrr�r8r9r�r�)rrXrrCr�rrr
�(test_status_table_process_column_expandsks
zDTestDefaultControllerPlugin.test_status_table_process_column_expandscCs�|j�}|jd�}|j|d�|jjj�jd�}|j|djdd�dddg�|j|djdd�d	d
dg�|j|djdd�dd
dg�|j|jjtj	�dS)Nr?r�rrir�r�zfoo descriptionr]r�r�zbar descriptionz
baz:baz_01�STOPPEDzbaz description)
rr�rrr8r9r�rErrP)rrXrr�rrr
� test_status_all_processes_no_arg�s
z<TestDefaultControllerPlugin.test_status_all_processes_no_argcCsd|j�}|jd�}|j|d�|j|jjtj�|jjj�j	d�}|j|dj	dd�dddg�dS)Nr�r�rrir�zfoo description)
rr�rrrEr�SUCCESSr8r9r�)rrXrr�rrr
�test_status_success�s
z/TestDefaultControllerPlugin.test_status_successcCsL|j�}|jd�}|j|d�|jjj�}|jd|�|j|jjtj�dS)NZunknownprogramz(unknownprogram: ERROR (no such process)
)	rr�rrr8r9rEr�UNKNOWN)rrXrr�rrr
�test_status_unknown_process�s
z7TestDefaultControllerPlugin.test_status_unknown_processcCs�|j�}|jd�}|j|d�|jjj�jd�}|j|djdd�dddg�|j|djdd�d	d
dg�|j|djdd�dd
dg�|j|jjtj	�dS)N�allr�rrir�r�zfoo descriptionr]r�r�zbar descriptionz
baz:baz_01r�zbaz description)
rr�rrr8r9r�rErrP)rrXrr�rrr
�!test_status_all_processes_all_arg�s
z=TestDefaultControllerPlugin.test_status_all_processes_all_argcCs^|j�}|jd�}|j|d�|jjj�j�}|j|jdd�dddg�|j|jjt	j
�dS)Nr�rir�zfoo description)rr�rrr8r9r�r�rErr�)rrXrr�rrr
�test_status_process_name�s
z4TestDefaultControllerPlugin.test_status_process_namecCsd|j�}|jd�}|j|d�|jjj�jd�}|j|djdd�dddg�|j|jjtj	�dS)Nzbaz:*r�rriz
baz:baz_01r�zbaz description)
rr�rrr8r9r�rErrP)rrXrr�rrr
�test_status_group_name�s
z2TestDefaultControllerPlugin.test_status_group_namecCs�|j�}|jd�}|j|d�|jjj�jd�}|j|djdd�dddg�|j|djdd�d	d
dg�|j|jjtj	�dS)Nz	foo baz:*r�rrir�r�zfoo descriptionr]z
baz:baz_01r�zbaz description)
rr�rrr8r9r�rErrP)rrXrr�rrr
�test_status_mixed_names�s
z3TestDefaultControllerPlugin.test_status_mixed_namescCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nz
badgroup:*r�rzbadgroup: ERROR (no such group))
rr�rrr8r9r�rErr�)rrXrr�rrr
�test_status_bad_group_name�s
z6TestDefaultControllerPlugin.test_status_bad_group_namecCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)NZ
badprocessr�rz#badprocess: ERROR (no such process))
rr�rrr8r9r�rErr�)rrXrr�rrr
�test_status_bad_process_name�s
z8TestDefaultControllerPlugin.test_status_bad_process_namecCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nzbadgroup:badprocessr�rz,badgroup:badprocess: ERROR (no such process))
rr�rrr8r9r�rErr�)rrXrr�rrr
�'test_status_bad_process_name_with_group�s
zCTestDefaultControllerPlugin.test_status_bad_process_name_with_groupcCs.|j�}|j�|jjj�}|jd|k�dS)Nzstart <name>)rZ
help_startrr8r9r+)rrXr�rrr
�test_start_help�sz+TestDefaultControllerPlugin.test_start_helpcCsV|j�}|jd�}|j|d�d}|j|jjj�jd�d|�|j|jjtj	�dS)Nr?z$Error: start requires a process namer�r)
r�do_startrrr8r9r�rEr�INVALID_ARGS)rrXrr�rrr
�test_start_fail�s
z+TestDefaultControllerPlugin.test_start_failcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z"BAD_NAME: ERROR (no such process)
)	rr�rrr8r9rErrF)rrXrrrr
�test_start_badname�s
z.TestDefaultControllerPlugin.test_start_badnamecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�zNO_FILE: ERROR (no such file)
)	rr�rrr8r9rErrF)rrXrrrr
�test_start_no_files
z.TestDefaultControllerPlugin.test_start_no_filecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NZNOT_EXECUTABLEz/NOT_EXECUTABLE: ERROR (file is not executable)
)	rr�rrr8r9rErrF)rrXrrrr
�test_start_not_executables
z5TestDefaultControllerPlugin.test_start_not_executablecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NZALREADY_STARTEDz)ALREADY_STARTED: ERROR (already started)
)	rr�rrr8r9rErr�)rrXrrrr
�test_start_alreadystarteds
z5TestDefaultControllerPlugin.test_start_alreadystartedcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NZSPAWN_ERRORz!SPAWN_ERROR: ERROR (spawn error)
)	rr�rrr8r9rErrP)rrXrrrr
�test_start_spawnerrors
z1TestDefaultControllerPlugin.test_start_spawnerrorcCsL|j�}|jd�}|j|d�d}|j|jjj�|�|j|jjtj�dS)NZABNORMAL_TERMINATIONz3ABNORMAL_TERMINATION: ERROR (abnormal termination)
)	rr�rrr8r9rErrP)rrXrr�rrr
�test_start_abnormaltermination$s
z:TestDefaultControllerPlugin.test_start_abnormalterminationcCs6|j�}|jd�}|j|d�|j|jjj�d�dS)Nr�z
foo: started
)rr�rrr8r9)rrXrrrr
�test_start_one_success,s

z2TestDefaultControllerPlugin.test_start_one_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo:fooz
foo: started
)	rr�rrr8r9rErr�)rrXrrrr
�&test_start_one_with_group_name_success3s
zBTestDefaultControllerPlugin.test_start_one_with_group_name_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo barzfoo: started
bar: started
)	rr�rrr8r9rErr�)rrXrrrr
�test_start_many;s
z+TestDefaultControllerPlugin.test_start_manycCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo:z(foo:foo_00: started
foo:foo_01: started
)	rr�rrr8r9rErr�)rrXrrrr
�test_start_groupCs
z,TestDefaultControllerPlugin.test_start_groupcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nz	BAD_NAME:z BAD_NAME: ERROR (no such group)
)	rr�rrr8r9rErr�)rrXrrrr
�test_start_group_bad_nameMs
z5TestDefaultControllerPlugin.test_start_group_bad_namecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�zDfoo: started
foo2: started
failed_group:failed: ERROR (spawn error)
)	rr�rrr8r9rErrP)rrXrrrr
�test_start_allUs
z*TestDefaultControllerPlugin.test_start_allcsV|j�}dd�|j_g��fdd�}|jjjj}||_||_|jd�|j	�g�dS)NcSsdS)NFrrrrr
r4bszGTestDefaultControllerPlugin.test_start_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rCds[email protected]_start_upcheck_failed.<locals>.fr�)
rrr1rr5r6ZstartAllProcessesZstartProcessGroupr�r)rrXrCr6r)r�r
�test_start_upcheck_failed`s
z5TestDefaultControllerPlugin.test_start_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nzstop <name>)rZ	help_stoprr8r9r+)rrXr�rrr
�test_stop_helplsz*TestDefaultControllerPlugin.test_stop_helpcCsR|j�}|jd�}|j|d�|j|jjj�jd�dd�|j|jjtj	�dS)Nr?r�rz#Error: stop requires a process name)
r�do_stoprrr8r9r�rErrF)rrXrrrr
�test_stop_failrs
z*TestDefaultControllerPlugin.test_stop_failcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z"BAD_NAME: ERROR (no such process)
)	rr�rrr8r9rErrF)rrXrrrr
�test_stop_badnamezs
z-TestDefaultControllerPlugin.test_stop_badnamecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NrPz!NOT_RUNNING: ERROR (not running)
)	rr�rrr8r9rErr�)rrXrrrr
�test_stop_notrunning�s
z0TestDefaultControllerPlugin.test_stop_notrunningcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr@zFAILED
)	rr�rrr8r9rErrF)rrXrrrr
�test_stop_failed�s

z,TestDefaultControllerPlugin.test_stop_failedcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z
foo: stopped
)	rr�rrr8r9rErr�)rrXrrrr
�test_stop_one_success�s
z1TestDefaultControllerPlugin.test_stop_one_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo:fooz
foo: stopped
)	rr�rrr8r9rErr�)rrXrrrr
�%test_stop_one_with_group_name_success�s
zATestDefaultControllerPlugin.test_stop_one_with_group_name_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo barzfoo: stopped
bar: stopped
)	rr�rrr8r9rErr�)rrXrrrr
�test_stop_many�s
z*TestDefaultControllerPlugin.test_stop_manycCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo:z(foo:foo_00: stopped
foo:foo_01: stopped
)	rr�rrr8r9rErr�)rrXrrrr
�test_stop_group�s
z+TestDefaultControllerPlugin.test_stop_groupcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nz	BAD_NAME:z BAD_NAME: ERROR (no such group)
)	rr�rrr8r9rErrF)rrXrrrr
�test_stop_group_bad_name�s
z4TestDefaultControllerPlugin.test_stop_group_bad_namecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�zHfoo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
)	rr�rrr8r9rErrF)rrXrrrr
�
test_stop_all�s
z)TestDefaultControllerPlugin.test_stop_allcsV|j�}dd�|j_g��fdd�}|jjjj}||_||_|jd�|j	�g�dS)NcSsdS)NFrrrrr
r4�szFTestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC�sz?TestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.fr�)
rrr1rr5r6�stopAllProcesses�stopProcessGroupr�r)rrXrCr6r)r�r
�test_stop_upcheck_failed�s
z4TestDefaultControllerPlugin.test_stop_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nzsignal <signal name> <name>)rZhelp_signalrr8r9r+)rrXr�rrr
�test_signal_help�sz,TestDefaultControllerPlugin.test_signal_helpcCsV|j�}|jd�}|j|d�d}|j|jjj�jd�d|�|j|jjtj	�dS)Nr?z7Error: signal requires a signal name and a process namer�r)
r�	do_signalrrr8r9r�rErrF)rrXr�msgrrr
�test_signal_fail_no_arg�s
z3TestDefaultControllerPlugin.test_signal_fail_no_argcCsV|j�}|jd�}|j|d�d}|j|jjj�jd�d|�|j|jjtj	�dS)NZhupz7Error: signal requires a signal name and a process namer�r)
rr�rrr8r9r�rErrF)rrXrr�rrr
�test_signal_fail_one_arg�s
z4TestDefaultControllerPlugin.test_signal_fail_one_argcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzBAD_SIGNAL foozfoo: ERROR (bad signal name)
)	rr�rrr8r9rErrF)rrXrrrr
�test_signal_bad_signal�s
z2TestDefaultControllerPlugin.test_signal_bad_signalcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP BAD_NAMEz"BAD_NAME: ERROR (no such process)
)	rr�rrr8r9rErrF)rrXrrrr
�test_signal_bad_name�s
z0TestDefaultControllerPlugin.test_signal_bad_namecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nz
HUP BAD_NAME:z BAD_NAME: ERROR (no such group)
)	rr�rrr8r9rErrF)rrXrrrr
�test_signal_bad_group�s
z1TestDefaultControllerPlugin.test_signal_bad_groupcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP NOT_RUNNINGz!NOT_RUNNING: ERROR (not running)
)	rr�rrr8r9rErrP)rrXrrrr
�test_signal_not_running�s
z3TestDefaultControllerPlugin.test_signal_not_runningcCsF|j�}|jd�}|j|d�|j|jjj�d�|j|jjd�dS)Nz
HUP FAILEDzFAILED
r])rr�rrr8r9rE)rrXrrrr
�test_signal_faileds

z.TestDefaultControllerPlugin.test_signal_failedcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP foozfoo: signalled
)	rr�rrr8r9rErr�)rrXrrrr
�test_signal_one_successs

z3TestDefaultControllerPlugin.test_signal_one_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP foo barzfoo: signalled
bar: signalled
)	rr�rrr8r9rErr�)rrXrrrr
�test_signal_manys
z,TestDefaultControllerPlugin.test_signal_manycCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP foo:z,foo:foo_00: signalled
foo:foo_01: signalled
)	rr�rrr8r9rErr�)rrXrrrr
�test_signal_groups
z-TestDefaultControllerPlugin.test_signal_groupcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NzHUP allzLfoo: signalled
foo2: signalled
failed_group:failed: ERROR (no such process)
)	rr�rrr8r9rErrF)rrXrrrr
�test_signal_all's
z+TestDefaultControllerPlugin.test_signal_allcsV|j�}dd�|j_g��fdd�}|jjjj}||_||_|jd�|j	�g�dS)NcSsdS)NFrrrrr
r43szHTestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC5szATestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.fzterm foo)
rrr1rr5r6ZsignalAllProcessesZsignalProcessGroupr�r)rrXrCr6r)r�r
�test_signal_upcheck_failed1s
z6TestDefaultControllerPlugin.test_signal_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nzrestart <name>)rZhelp_restartrr8r9r+)rrXr�rrr
�test_restart_help=sz-TestDefaultControllerPlugin.test_restart_helpcCsR|j�}|jd�}|j|d�|j|jjj�jd�dd�|j|jjtj	�dS)Nr?r�rz&Error: restart requires a process name)
r�
do_restartrrr8r9r�rErrF)rrXrrrr
�test_restart_failCs
z-TestDefaultControllerPlugin.test_restart_failcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�zfoo: stopped
foo: started
)	rr
rrr8r9rErr�)rrXrrrr
�test_restart_oneKs
z,TestDefaultControllerPlugin.test_restart_onecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z�foo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
foo: started
foo2: started
failed_group:failed: ERROR (spawn error)
)	rr
rrr8r9rErrP)rrXrrrr
�test_restart_allSs
z,TestDefaultControllerPlugin.test_restart_allcsV|j�}dd�|j_g��fdd�}|jjjj}||_||_|jd�|j	�g�dS)NcSsdS)NFrrrrr
r4`szITestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rCbszBTestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.fr�)
rrr1rr5r6r�r�r
r)rrXrCr6r)r�r
�test_restart_upcheck_failed^s
z7TestDefaultControllerPlugin.test_restart_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nzclear <name>)rZ
help_clearrr8r9r+)rrXr�rrr
�test_clear_helpjsz+TestDefaultControllerPlugin.test_clear_helpcCsR|j�}|jd�}|j|d�|j|jjj�jd�dd�|j|jjtj	�dS)Nr?r�rz$Error: clear requires a process name)
r�do_clearrrr8r9r�rErrF)rrXrrrr
�test_clear_failps
z+TestDefaultControllerPlugin.test_clear_failcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z"BAD_NAME: ERROR (no such process)
)	rrrrr8r9rErrF)rrXrrrr
�test_clear_badnamexs
z.TestDefaultControllerPlugin.test_clear_badnamecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z
foo: cleared
)	rrrrr8r9rErr�)rrXrrrr
�test_clear_one_success�s
z2TestDefaultControllerPlugin.test_clear_one_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo:fooz
foo: cleared
)	rrrrr8r9rErr�)rrXrrrr
�!test_clear_one_with_group_success�s
z=TestDefaultControllerPlugin.test_clear_one_with_group_successcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nzfoo barzfoo: cleared
bar: cleared
)	rrrrr8r9rErr�)rrXrrrr
�test_clear_many�s
z+TestDefaultControllerPlugin.test_clear_manycCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z?foo: cleared
foo2: cleared
failed_group:failed: ERROR (failed)
)	rrrrr8r9rErrF)rrXrrrr
�test_clear_all�s
z*TestDefaultControllerPlugin.test_clear_allcsV|j�}dd�|j_g��fdd�}|jjjj}||_||_|jd�|j	�g�dS)NcSsdS)NFrrrrr
r4�szGTestDefaultControllerPlugin.test_clear_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC�s[email protected]_clear_upcheck_failed.<locals>.fr�)
rrr1rr5r6ZclearAllProcessLogsZclearProcessLogsrr)rrXrCr6r)r�r
�test_clear_upcheck_failed�s
z5TestDefaultControllerPlugin.test_clear_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nz
open <url>)rZ	help_openrr8r9r+)rrXr�rrr
�test_open_help�sz*TestDefaultControllerPlugin.test_open_helpcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NZbadnamez&ERROR: url must be http:// or unix://
)	r�do_openrrr8r9rErrF)rrXrrrr
�test_open_fail�s
z*TestDefaultControllerPlugin.test_open_failcCs�|j�}|jd�}|j|d�|jjj�jd�}|j|djdd�dddg�|j|djdd�d	d
dg�|j|djdd�dd
dg�|j|jjtj	�dS)Nzhttp://localhost:9002r�rrir�r�zfoo descriptionr]r�r�zbar descriptionz
baz:baz_01r�zbaz description)
rrrrr8r9r�rErr�)rrXrr�rrr
�test_open_succeed�s
z-TestDefaultControllerPlugin.test_open_succeedcCs.|j�}|j�|jjj�}|jd|k�dS)Nz*Show the version of the remote supervisord)rZhelp_versionrr8r9r+)rrXr�rrr
�test_version_help�sz-TestDefaultControllerPlugin.test_version_helpcCs*|j�}|jd�|j|jjj�d�dS)Nz3000
)r�
do_versionrrr8r9)rrXrrr
�test_version�s
z(TestDefaultControllerPlugin.test_versioncCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nrdz#Error: version accepts no arguments)rrrrr8r9r+�
startswithrErrF)rrXr�valrrr
�test_version_arg�s
z,TestDefaultControllerPlugin.test_version_argcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4�szITestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC�szBTestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.fr?)	rrr1rr5r6ZgetSupervisorVersionrr)rrXrCr)r�r
�test_version_upcheck_failed�s
z7TestDefaultControllerPlugin.test_version_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)NzRestart the remote supervisord)rZhelp_reloadrr8r9r+)rrXr�rrr
�test_reload_help�sz,TestDefaultControllerPlugin.test_reload_helpcCsF|j�}|jj}d|jj_|jd�}|j|d�|j|jjjd�dS)NFr?)	rrrr5r6Z_restartable�	do_reloadr�
_restarted)rrXrrrrr
�test_reload_fail�s

z,TestDefaultControllerPlugin.test_reload_failcCs<|j�}|jj}|jd�}|j|d�|j|jjjd�dS)Nr?T)rrrr$rr5r6r%)rrXrrrrr
�test_reload�s

z'TestDefaultControllerPlugin.test_reloadcCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nrdz"Error: reload accepts no arguments)rr$rrr8r9r+rrErrF)rrXrr rrr
�test_reload_arg�s
z+TestDefaultControllerPlugin.test_reload_argcCs.|j�}|j�|jjj�}|jd|k�dS)Nz Shut the remote supervisord down)rZ
help_shutdownrr8r9r+)rrXr�rrr
�test_shutdown_helpsz.TestDefaultControllerPlugin.test_shutdown_helpcCs<|j�}|jj}|jd�}|j|d�|j|jjjd�dS)Nr?T)rrr�do_shutdownrr5r6�	_shutdown)rrXrrrrr
�
test_shutdown
s

z)TestDefaultControllerPlugin.test_shutdowncsn|j�}ddlm��fdd�}||jjjj_|jd�}|j|d�|j|jj	j
�d�|j|jjtj
�dS)Nr)rcstj�jjd��dS)NZbye)rr<r;�SHUTDOWN_STATE)rArB)rrr
rLszbTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_state.<locals>.raise_faultr?zERROR: already shutting down
)rr6rrrr5�shutdownr*rr8r9rErr�)rrXrLrr)rr
�1test_shutdown_catches_xmlrpc_fault_shutdown_states
zMTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_statecsV|j�}ddlm��fdd�}||jjjj_|jtj	|j
d�|j|jjt
j�dS)Nr)rcstj�jjd��dS)NZouch)rr<r;�CANT_REREAD)rArB)rrr
rL#sz[TestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faults.<locals>.raise_faultr?)rr6rrrr5r.rDrr<r*rrErrF)rrXrLr)rr
�*test_shutdown_reraises_other_xmlrpc_faultss
zFTestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faultscsz|j�}ddl�ddl���fdd�}||jjjj_|jd�}|j	|d�|jj
j�}|jd|k�|j	|jj
tj�dS)Nrcs�j�jd��dS)Nznobody home)rHrI)rArB)rJrKrr
rL0sz`TestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSED.<locals>.raise_faultr?z'refused connection (already shut down?))rrKrJrrr5r6r.r*rr8r9r+rErrF)rrXrLrrMr)rJrKr
�/test_shutdown_catches_socket_error_ECONNREFUSED+s
zKTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSEDcsz|j�}ddl�ddl���fdd�}||jjjj_|jd�}|j	|d�|jj
j�}|jd|k�|j	|jj
tj�dS)Nrcs�j�jd��dS)Nzno file)rHrO)rArB)rJrKrr
rL@szZTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENT.<locals>.raise_faultr?z!no such file (already shut down?))rrKrJrrr5r6r.r*rr8r9r+rErrF)rrXrLrrMr)rJrKr
�)test_shutdown_catches_socket_error_ENOENT;s
zETestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENTcs\|j�}ddl�ddl���fdd�}||jjjj_|j�j	|j
d�|j|jjt
j�dS)Nrcs�j�jd��dS)NZdenied)rHZEPERM)rArB)rJrKrr
rLPsz[TestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errors.<locals>.raise_faultr?)rrKrJrrr5r6r.rDrHr*rrErrF)rrXrLr)rJrKr
�*test_shutdown_reraises_other_socket_errorsKs
zFTestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errorscCs2|j�}|jdgdgdgg�|jgggg�dS)N�added�changed�removed)r�_formatChanges)rrXrrr
�test__formatChangesXsz/TestDefaultControllerPlugin.test__formatChangescCs@|j�}|j�|jjj�}|jd|k�|j|jjtj	�dS)Nz'Reload the daemon's configuration files)
rZhelp_rereadrr8r9r+rrErr�)rrXr�rrr
�test_reread_help^s
z,TestDefaultControllerPlugin.test_reread_helpcsb|j�}g��fdd�|_|jd�}|j|d�|j�ddgdgdgg�|j|jjtj�dS)Ncs
�j|�S)N)r�)r3)�callsrr
r4hsz9TestDefaultControllerPlugin.test_reread.<locals>.<lambda>rr5r6r7)rr8�	do_rereadrrrErr�)rrXrr)r;r
�test_rereades
z'TestDefaultControllerPlugin.test_rereadcCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nrdz"Error: reread accepts no arguments)rr<rrr8r9r+rrErrF)rrXrr rrr
�test_reread_argns
z+TestDefaultControllerPlugin.test_reread_argcsb|j�}ddlm��fdd�}||jjjj_|jd�|j|jj	j
�d�|j|jjtj
�dS)Nr)rcstj�jjd��dS)NZcant)rr<r;r0)rArB)rrr
�reloadConfigyszITestDefaultControllerPlugin.test_reread_cant_reread.<locals>.reloadConfigzERROR: cant
)rr6rrrr5r?r<rr8r9rErrF)rrXr?r)rr
�test_reread_cant_rereadvs
z3TestDefaultControllerPlugin.test_reread_cant_rereadcsb|j�}ddlm��fdd�}||jjjj_|jd�|j|jj	j
�d�|j|jjtj
�dS)Nr)rcstj�jjd��dS)Nr?)rr<r;r-)rArB)rrr
r?�szLTestDefaultControllerPlugin.test_reread_shutdown_state.<locals>.reloadConfigz ERROR: supervisor shutting down
)rr6rrrr5r?r<rr8r9rErrF)rrXr?r)rr
�test_reread_shutdown_state�s
z6TestDefaultControllerPlugin.test_reread_shutdown_statecsV|j�}ddlm��fdd�}||jjjj_|jtj	|j
d�|j|jjt
j�dS)Nr)rcstj�jjd��dS)Nr?)rr<r;r@)rArB)rrr
r?�szSTestDefaultControllerPlugin.test_reread_reraises_other_faults.<locals>.reloadConfigr?)rr6rrrr5r?rDrr<r<rrErrF)rrXr?r)rr
�!test_reread_reraises_other_faults�sz=TestDefaultControllerPlugin.test_reread_reraises_other_faultscCs`ddddddd�}|j�}|j|�}|jd|k�ddddddd�}|j|�}|jd|k�dS)	N�group1�process1Ti�)r�r��inuse�	autostart�process_prio�
group_priozin useFZavail)rZ_formatConfigInfor+)r�inforXrrrr
�test__formatConfigInfo�s"

z2TestDefaultControllerPlugin.test__formatConfigInfocCs.|j�}|j�|jjj�}|jd|k�dS)NzDisplay all configured)rZ
help_availrr8r9r+)rrXr�rrr
�test_avail_help�sz+TestDefaultControllerPlugin.test_avail_helpcsPg}|j�}Gdd�dt���fdd�|j_|j|j_|jd�}|j|d�dS)Nc@seZdZdd�ZdS)z>TestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisorcSsddddddd�gS)NrCrDFi�)r�r�rErFrGrHr)rrrr
�getAllConfigInfo�szOTestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisor.getAllConfigInfoN)r%r&r'rLrrrr
�FakeSupervisor�srMcs��S)Nrr)rMrr
r4�sz8TestDefaultControllerPlugin.test_avail.<locals>.<lambda>r?)rr)rr�r�rM�do_availr)rr;rXrr)rMr
�
test_avail�s

z&TestDefaultControllerPlugin.test_availcCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nrdz!Error: avail accepts no arguments)rrNrrr8r9r+rrErrF)rrXrr rrr
�test_avail_arg�s
z*TestDefaultControllerPlugin.test_avail_argcCsb|j�}|jjjj}dd�}||_|jd�}|j|d�|j|jjj	�d�|j|jj
tj�dS)NcSs ddlm}tj|jjd��dS)Nr)rr?)r6rrr<r;r-)rrrr
rL�szOTestDefaultControllerPlugin.test_avail_shutdown_state.<locals>.getAllConfigInfor?z ERROR: supervisor shutting down
)
rrrr5r6rLrNrr8r9rErrF)rrXr6rLrrrr
�test_avail_shutdown_state�s
z5TestDefaultControllerPlugin.test_avail_shutdown_statecCsJ|j�}|jjjj}dd�}||_|jtj|j	d�|j
|jjtj
�dS)NcSs ddlm}tj|jjd��dS)Nr)rr?)r6rrr<r;r@)rrrr
rL�szVTestDefaultControllerPlugin.test_avail_reraises_other_faults.<locals>.getAllConfigInfor?)rrrr5r6rLrDrr<rNrrErrF)rrXr6rLrrr
� test_avail_reraises_other_faults�sz<TestDefaultControllerPlugin.test_avail_reraises_other_faultscCs.|j�}|j�|jjj�}|jd|k�dS)Nz
add <name>)rZhelp_addrr8r9r+)rrXr�rrr
�
test_add_help�sz)TestDefaultControllerPlugin.test_add_helpcCsP|j�}|jd�}|j|d�|jjjj}|j|jdg�|j|jjt	j
�dS)Nr�)r�do_addrrrr5r6�	processesrErr�)rrXrr6rrr
�test_add�s
z$TestDefaultControllerPlugin.test_addcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)NZ
ALREADY_ADDEDz$ERROR: process group already active
)	rrTrrr8r9rErr�)rrXrrrr
�test_add_already_added�s
z2TestDefaultControllerPlugin.test_add_already_addedcCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr�z'ERROR: no such process/group: BAD_NAME
)	rrTrrr8r9rErrF)rrXrrrr
�test_add_bad_name�s
z-TestDefaultControllerPlugin.test_add_bad_namecCsH|j�}|jd�}|j|d�|j|jjj�d�|j|jjtj�dS)Nr-zERROR: shutting down
)	rrTrrr8r9rErrF)rrXrrrr
�test_add_shutdown_state�s
z3TestDefaultControllerPlugin.test_add_shutdown_statecCs0|j�}|jtj|jd�|j|jjtj	�dS)Nr@)
rrDrr<rTrrrErrF)rrXrrr
�test_add_reraises_other_faultssz:TestDefaultControllerPlugin.test_add_reraises_other_faultscCs@|j�}|j�|jjj�}|jd|k�|j|jjtj	�dS)Nz
remove <name>)
rZhelp_removerr8r9r+rrErr�)rrXr�rrr
�test_remove_helps
z,TestDefaultControllerPlugin.test_remove_helpcCsD|j�}|jjjj}dg|_|jd�}|j|d�|j|jg�dS)Nr�)rrrr5r6rU�	do_remover)rrXr6rrrr
�test_removes
z'TestDefaultControllerPlugin.test_removecCs\|j�}|jjjj}dg|_|jd�}|j|d�|j|jjj	�d�|j|jj
tj�dS)Nr�r�z'ERROR: no such process/group: BAD_NAME
)
rrrr5r6rUr\rr8r9rErrF)rrXr6rrrr
�test_remove_bad_names
z0TestDefaultControllerPlugin.test_remove_bad_namecCs\|j�}|jjjj}dg|_|jd�}|j|d�|j|jjj	�d�|j|jj
tj�dS)Nr�Z
STILL_RUNNINGz2ERROR: process/group still running: STILL_RUNNING
)
rrrr5r6rUr\rr8r9rErrF)rrXr6rrrr
�test_remove_still_running$s
z5TestDefaultControllerPlugin.test_remove_still_runningcCs0|j�}|jtj|jd�|j|jjtj	�dS)Nr@)
rrDrr<r\rrrErrF)rrXrrr
�!test_remove_reraises_other_faults.sz=TestDefaultControllerPlugin.test_remove_reraises_other_faultscCs.|j�}|j�|jjj�}|jd|k�dS)NzReload config and add/remove)rZhelp_updaterr8r9r+)rrXr�rrr
�test_update_help3sz,TestDefaultControllerPlugin.test_update_helpcCsH|j�}|jjjj}dd�}||_dg|_|jd�|j|jdg�dS)NcSs ddlm}tj|jjd��dS)Nr)r�blah)r6rrr<r;r-)rrrr
r?<szMTestDefaultControllerPlugin.test_update_not_on_shutdown.<locals>.reloadConfigr7r?)	rrrr5r6r?rU�	do_updater)rrXr6r?rrr
�test_update_not_on_shutdown9s
z7TestDefaultControllerPlugin.test_update_not_on_shutdowncCsL|j�}|jjjj}dd�}||_|jd�}|j|d�|j|jdg�dS)NcSsdgggggS)N�new_procrrrrr
r?HszITestDefaultControllerPlugin.test_update_added_procs.<locals>.reloadConfigr?re)	rrrr5r6r?rcrrU)rrXr6r?rrrr
�test_update_added_procsDs
z3TestDefaultControllerPlugin.test_update_added_procscCs|j�}|jjjj}dd�}||_ddg|_|jd�|jt	|j�t	ddg��|jd�|jt	|j�t	ddddg��|jd�|jt	|j�t	dddg��ddg|_|jd�|jt	|j�t	ddg��ddg|_|jd	�|jt	|j�t	dddg��dS)
NcSsddgdgdgggS)N�added1�added2r6r7rrrrr
r?TszHTestDefaultControllerPlugin.test_update_with_gname.<locals>.reloadConfigr6r7z
added1 added2rgrhzremoved added1r�)
rrrr5r6r?rUrcr�sorted)rrXr6r?rrr
�test_update_with_gnamePs,







z2TestDefaultControllerPlugin.test_update_with_gnamecsBddlm}|j�}|jjjj}g�dd�}||_�fdd�|_|jd�dd|j	j
d	d
�g���fdd�}||_|jd
�|j
�dg�|jd�g�dd�<dd|j	jd	d
�dd|j	jd	d
�g�dd�<|jd
�|j
�dg�|jd�g�dd�<dd|j	jd	d
�dd|j	j
d	d
�g�dd�<|jd
�|j
�dg�dS)Nr)rcSsgdggggS)N�
changed_grouprrrrr
r?wszKTestDefaultControllerPlugin.test_update_changed_procs.<locals>.reloadConfigcs�jd|f�S)Nrh)r�)r3)r;rr
r4zszGTestDefaultControllerPlugin.test_update_changed_procs.<locals>.<lambda>rkZchanged_processrb)r�r��statusr�cs�jd|f��S)Nr�)r�)r�)r;r}rr
r��szOTestDefaultControllerPlugin.test_update_changed_procs.<locals>.stopProcessGroupr?r�Zchanged_process1Zchanged_process2)r�rk)r�rk)r�rk)r6rrrrr5r?ZstartProcessZaddProcessGroupr;r�r�rcrrPr@)rrrXr6r?r�r)r;r}r
�test_update_changed_procspsP






z5TestDefaultControllerPlugin.test_update_changed_procscs�ddlm}|j�}|jjjj}dd�}||_dd|jjdd�g�dg|_	�fd	d
�}||_
|jd�|j|j	g�dd|jj
dd�g�dd�<dg|_	|jd�|j|j	g�dd|jjdd�g�dd�<dg|_	|jd�|j|j	dg�dS)Nr)rcSsggdgggS)N�
removed_grouprrrrr
r?�szKTestDefaultControllerPlugin.test_update_removed_procs.<locals>.reloadConfigZremoved_processrnrb)r�r�rlr�cs�S)Nr)r�)r}rr
r��szOTestDefaultControllerPlugin.test_update_removed_procs.<locals>.stopProcessGroupr?)r6rrrrr5r?r;r�rUr�rcrrPr@)rrrXr6r?r�r)r}r
�test_update_removed_procs�s8



z5TestDefaultControllerPlugin.test_update_removed_procscCsH|j�}|jjjj}dd�}||_|jtj|j	d�|j
|jjd�dS)NcSs ddlm}tj|jjd��dS)Nr)rr@)r6rrr<r;r@)rrrr
r?�szSTestDefaultControllerPlugin.test_update_reraises_other_faults.<locals>.reloadConfigr?r])rrrr5r6r?rDrr<rcrrE)rrXr6r?rrr
�!test_update_reraises_other_faults�sz=TestDefaultControllerPlugin.test_update_reraises_other_faultscCs.|j�}|j�|jjj�}|jd|k�dS)Nz
pid <name>)rZhelp_pidrr8r9r+)rrXr�rrr
�
test_pid_help�sz)TestDefaultControllerPlugin.test_pid_helpcCsh|j�}|jd�}|j|d�|jj}|jjj�jd�}|jt|�d�|j|dt	|j
jj���dS)Nr?r�rir)
r�do_pidrrrr8r9r�r��strr5r6�getPID)rrXrrr�rrr
�test_pid_supervisord�s
z0TestDefaultControllerPlugin.test_pid_supervisordcCsZ|j�}|jd�}|j|d�|jjj�j�}|j|j�dddg�|j|jjt	j
�dS)Nr��11Z12Z13)rrrrrr8r9r�r�rErr�)rrXrr�rrr
�test_pid_allprocesses�s
z1TestDefaultControllerPlugin.test_pid_allprocessescCsP|j�}|jd�}|j|d�|jjj�j�}|j|d�|j|jjtj	�dS)Nr�zNo such process BAD_NAME)
rrrrrr8r9r�rErrF)rrXrr�rrr
�test_pid_badname�s
z,TestDefaultControllerPlugin.test_pid_badnamecCsL|j�}|jd�}|j|d�|j|jjj�j�d�|j|jjtj	�dS)Nr�rv)
rrrrrr8r9r�rErr�)rrXrrrr
�test_pid_oneprocess�s

z/TestDefaultControllerPlugin.test_pid_oneprocesscCsf|j�}|jj}dd�}||jj_|jd�}|j|d�|j|jjj	�j
�d�|j|jjtj
�dS)Nc_s(ddlm}ddd|jddddddd�
S)Nr)r�r�r�r?zfoo description)
r�r�r�r�r�rhr�r�r�r�)r�r�r�)rArBr�rrr
rCszFTestDefaultControllerPlugin.test_pid_oneprocess_not_running.<locals>.fr��0)rrrr5r6�getProcessInforrrr8r9r�rErrP)rrXrrCrrrr
�test_pid_oneprocess_not_runnings


z;TestDefaultControllerPlugin.test_pid_oneprocess_not_runningcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4szETestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rCsz>TestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.fr?)	rrr1rr5r6rtrrr)rrXrCr)r�r
�test_pid_upcheck_faileds
z3TestDefaultControllerPlugin.test_pid_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nz tail of supervisor main log file)rZ
help_maintailrr8r9r+)rrXr�rrr
�test_maintail_help!sz.TestDefaultControllerPlugin.test_maintail_helpcCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nzfoo barzError: too many)r�do_maintailrrr8r9r+rrErrF)rrXrr rrr
�test_maintail_toomanyargs's
z5TestDefaultControllerPlugin.test_maintail_toomanyargscCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)Nz-wrongzError: bad argument -wrong)rrrrr8r9r+rrErrF)rrXrr rrr
� test_maintail_minus_string_fails/s
z<TestDefaultControllerPlugin.test_maintail_minus_string_failscCsR|j�}|jd�}|j|d�|jjj�}|j|jd�|�|j|jjt	j
�dS)NZwrongzError: bad argument wrong)rrrrr8r9r+rrErrF)rrXrr rrr
�test_maintail_wrong7s
z/TestDefaultControllerPlugin.test_maintail_wrongcCs||j�}t�|_|jd�}|j|d�|jj}|jt|�d�|d}|j|jjd�|j|dd�|jd|dk�dS)Nz-fr]rz"http://localhost:65532/mainlogtailzCannot connect)	r�
DummyListenerZlistenerrr�errorsr�r#r+)rrXrr�rHrrr
�_dont_test_maintail_dashf?s


z5TestDefaultControllerPlugin._dont_test_maintail_dashfcCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nz-zr�rzError: bad argument -z)
rrrrr8r9r�rErrF)rrXrr�rrr
�test_maintail_bad_modifierPs
z6TestDefaultControllerPlugin.test_maintail_bad_modifiercCs6|j�}|jd�}|j|d�|j|jjj�d�dS)Nr?zmainlogdata
)rrrrr8r9)rrXrrrr
�test_maintail_nobytesXs
z1TestDefaultControllerPlugin.test_maintail_nobytescCs6|j�}|jd�}|j|d�|j|jjj�d�dS)Nz-100zmainlogdata
)rrrrr8r9)rrXrrrr
�test_maintail_dashbytes^s
z3TestDefaultControllerPlugin.test_maintail_dashbytescCsh|j�}|jj�}ddlm}|jj|_|jd�}|j	|d�|j	|jj
j�d�|j	|jjt
j�dS)Nr)rz-100z!supervisord: ERROR (no log file)
)rrr�r6rr;r��_readlog_errorrrr8r9rErrF)rrX�supervisor_rpcrrrrr
�"test_maintail_readlog_error_nofileds


z>TestDefaultControllerPlugin.test_maintail_readlog_error_nofilecCsh|j�}|jj�}ddlm}|jj|_|jd�}|j	|d�|j	|jj
j�d�|j	|jjt
j�dS)Nr)rz-100z/supervisord: ERROR (unknown error reading log)
)rrr�r6rr;r@r�rrr8r9rErrF)rrXr�rrrrr
�"test_maintail_readlog_error_failedos


z>TestDefaultControllerPlugin.test_maintail_readlog_error_failedcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4|szJTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC~szCTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.fr?)	rrr1rr5r6ZreadLogrr)rrXrCr)r�r
�test_maintail_upcheck_failedzs
z8TestDefaultControllerPlugin.test_maintail_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)Nzfg <process>)rZhelp_fgrr8r9r+)rrXr�rrr
�test_fg_help�sz(TestDefaultControllerPlugin.test_fg_helpcCsV|j�}|jd�}|j|d�|jjj�jd�}|j|dd�|j|jjtj	�dS)Nr?r�rzERROR: no process name supplied)
r�do_fgrrr8r9r�rErrF)rrXrr�rrr
�test_fg_too_few_args�s
z0TestDefaultControllerPlugin.test_fg_too_few_argscCsL|j�}|jd�}|j|d�|jjj�}|j|d�|j|jjtj�dS)Nzfoo barz'ERROR: too many process names supplied
)	rr�rrr8r9rErrF)rrXrrrrr
�test_fg_too_many_args�s
z1TestDefaultControllerPlugin.test_fg_too_many_argscCsL|j�}|jd�}|j|d�|jjj�}|j|d�|j|jjtj�dS)Nr�z!ERROR: bad process name supplied
)	rr�rrr8r9rErrF)rrXrrrrr
�test_fg_badprocname�s
z/TestDefaultControllerPlugin.test_fg_badprocnamecCs�|j�}|jd�}|j|d�|jjj�}|j|d�|jd�}|jjj�jd�}|j|d�|j|dd�|j|jjtj	�dS)Nr�zERROR: process not running
Zbaz_01r�rizERROR: process not running���)
rr�rrr8r9r�rErrF)rrXrrr�rrr
�test_fg_procnotrunning�s

z2TestDefaultControllerPlugin.test_fg_procnotrunningcsL|j�}dd�|j_g��fdd�}||jjjj_|jd�|j�g�dS)NcSsdS)NFrrrrr
r4�szDTestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.<lambda>cs�jd�dS)NT)r�)rArB)r�rr
rC�sz=TestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.fr�)	rrr1rr5r6r{r�r)rrXrCr)r�r
�test_fg_upcheck_failed�s
z2TestDefaultControllerPlugin.test_fg_upcheck_failedcCs.|j�}|j�|jjj�}|jd|k�dS)NzExit the supervisor shell)rZ	help_exitrr8r9r+)rrXr�rrr
�test_exit_help�sz*TestDefaultControllerPlugin.test_exit_helpcCs.|j�}|j�|jjj�}|jd|k�dS)NzExit the supervisor shell)rZ	help_quitrr8r9r+)rrXr�rrr
�test_quit_help�sz*TestDefaultControllerPlugin.test_quit_helpN)�r%r&r'rrr�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�r�r�rrrrrrrrrr	rrr
rrrrrrrrrrrrrrr!r"r#r&r'r(r)r,r/r1r2r3r4r9r:r=r>r@rArBrJrKrOrPrQrRrSrVrWrXrYrZr[r]r^r_r`rardrfrjrmrorprqrurwrxryr|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��s:			

!	
			
		
		



		


 5)	


r�c@s$eZdZdd�Zdd�Zdd�ZdS)r�cCs
g|_dS)N)r�)rrrr
�__init__�szDummyListener.__init__cCs|jj||f�dS)N)r�r�)r�urlr�rrr
rH�szDummyListener.errorcCs
||_dS)N)r#)rr�rrr
r$�szDummyListener.closeN)r%r&r'r�rHr$rrrr
r��sr�c@seZdZdd�Zdd�ZdS)�DummyPluginFactorycKs
||_dS)N)r)rrrBrrr
r��szDummyPluginFactory.__init__cCs|jjjd�dS)Nz
foo helped)rr8�write)rrArrr
r|�szDummyPluginFactory.do_helpN)r%r&r'r�r|rrrr
r��sr�c@seZdZdd�Zdd�ZdS)rcCsDd|_d|_d|_d|_d|_f|_t�|_d|_dt	ifg|_
dS)Nr6zhttp://localhost:65532ZchrismZ123FZdummy)r/Z	serverurlZusernameZpasswordZhistory_filerUrr5�interactiver�Zplugin_factories)rrrr
r��szDummyClientOptions.__init__cCs|jS)N)r5)rrrr
r��sz!DummyClientOptions.getServerProxyN)r%r&r'r�r�rrrr
r�src@sLeZdZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
d�Z	ddd�Z
dS)rz
no help on %scCs ||_g|_t�|_tj|_dS)N)rr�rr8rr�rE)rrrrr
r��szDummyController.__init__cCsdS)NTr)rrrr
r1�szDummyController.upcheckcCs
|jd�S)Nr6)r�)rrrr
r��szDummyController.get_supervisorNcCs$|jj�}|dkr|St||�SdS)N)rr��getattr)r�	namespacer�rrr
r��s
z DummyController.get_server_proxycCs|jj|d�dS)Nr�)r8r�)r�datarrr
rM�szDummyController.outputcCs|jj||||f�dS)N)r�r�)rZdoc_headersZcmds_docZrowsZcolsrrr
�print_topics�szDummyController.print_topicscCs<ddlm}||tjjfkrn||kr0tj|_ntj|_dS)Nr)�DEAD_PROGRAM_FAULTS)	r
r�rr;r�rrPrErF)rZ	faultcodeZignored_faultcoder�rrr
� set_exitstatus_from_xmlrpc_fault�s
z0DummyController.set_exitstatus_from_xmlrpc_fault)N)N)r%r&r'rzr�r1r�r�rMr�r�rrrr
r�s
rc@seZdZddd�Zdd�ZdS)rTNcCs
||_dS)N)r)rr0rrr
r�szDummyPlugin.__init__cCs
d|_dS)NT)rW)rrArrr
r|
szDummyPlugin.do_help)N)r%r&r'r�r|rrrr
rTs
rTcCstjtjt�S)N)�unittestZ
findTestCases�sys�modulesr%rrrr
�
test_suite
sr��__main__)ZdefaultTest)r�r�r6rZsupervisor.compatrrr
rrZsupervisor.tests.baserZTestCaserr-r�r�r�r�rrrTr�r%�mainrrrr
�<module>s>?uu$