Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
supervisor / tests / __pycache__ / test_supervisorctl.cpython-38.pyc
Size: Mime:
U

+€]@ã@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
ú2./build/lib/supervisor/tests/test_supervisorctl.pyÚ_getTargetClass
szfgthread_Tests._getTargetClasscCs| ¡||ƒS©N©r)rZprogramÚctlr
r
rÚ_makeOneszfgthread_Tests._makeOnecCs,tƒ}t|ƒ}| d|¡}| |jd¡dS©NF)ÚDummyClientOptionsÚDummyControllerrÚassertEqualÚkilled)rÚoptionsrÚinstr
r
rÚ	test_ctorszfgthread_Tests.test_ctorcCs:tƒ}t|ƒ}| d|¡}| ddd¡}| ||j¡dS)NZcall)rrrÚglobaltracerÚ
localtrace©rrrrÚresultr
r
rÚtest_globaltrace_calls
z$fgthread_Tests.test_globaltrace_callcCs8tƒ}t|ƒ}| d|¡}| ddd¡}| |d¡dSr)rrrrrrr
r
rÚtest_globaltrace_noncalls
z'fgthread_Tests.test_globaltrace_noncallc
Csrtƒ}t|ƒ}| d|¡}d|_z| ddd¡Wn0tk
rb}z| |jd¡W5d}~XYnX| d¡dS)NTÚlinez(No exception thrown. Excepted SystemExit)	rrrrrÚ
SystemExitrÚcodeZfail)rrrrÚer
r
rÚtest_localtrace_killed_whyline%s z-fgthread_Tests.test_localtrace_killed_whylinecCs@tƒ}t|ƒ}| d|¡}d|_| ddd¡}| ||j¡dS©NT)rrrrrrrr
r
rÚ"test_localtrace_killed_not_whyline1sz1fgthread_Tests.test_localtrace_killed_not_whylinecCsttƒ}t|ƒ}| d|¡}d|_Gdd„dtƒ}|ƒ|_|ƒ|_| ¡| |j¡| |jj	¡| |jj	¡dS)NTc@seZdZdd„ZdS)z0fgthread_Tests.test_kill.<locals>.DummyCloseablecSs
d|_dSr'©Úclosed©rr
r
rÚclose?sz6fgthread_Tests.test_kill.<locals>.DummyCloseable.closeN)Ú__name__Ú
__module__Ú__qualname__r,r
r
r
rÚDummyCloseable>sr0)
rrrrÚobjectZoutput_handlerZ
error_handlerÚkillÚ
assertTruer*)rrrrr0r
r
rÚ	test_kill9szfgthread_Tests.test_killN)r-r.r/rrrr r!r&r(r4r
r
r
rr		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ÚControllerTestscCsddlm}|S)Nr)Ú
Controller)rr6)rr6r
r
rrIszControllerTests._getTargetClasscCs| ¡|ƒSrr©rrr
r
rrMszControllerTests._makeOnecCs(tƒ}| |¡}| |j|jd¡dS)Nz> )rrrÚprompt©rrÚ
controllerr
r
rrQs
zControllerTests.test_ctorcCs(tƒ}| |¡}| ¡}| |d¡dSr')rrÚupcheckr©rrr:rr
r
rÚ
test__upcheckVs
zControllerTests.test__upcheckcCsPtƒ}dd„|jj_| |¡}tƒ|_| ¡}| |d¡| |j 	¡d¡dS)NcWsdS)Nz1.0r
©Úxr
r
rÚ<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Ústdoutr;rÚgetvaluer<r
r
rÚ"test__upcheck_wrong_server_version\s
ÿz2ControllerTests.test__upcheck_wrong_server_versioncsdtƒ}ddlm‰‡fdd„}||jj_| |¡}tƒ|_| 	¡}| 
|d¡| 
|j ¡d¡dS)Nr©ÚFaultscst ˆjd¡‚dS)NZduh)rÚFaultZUNKNOWN_METHODr
rHr
rrDksz@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.xmlrpcrIrBrCrDrrrEr;rrF)rrrDr:rr
rHrÚtest__upcheck_unknown_methodhs

ÿz,ControllerTests.test__upcheck_unknown_methodcs^tƒ}ddlm‰‡fdd„}||jj_| |¡}tƒ|_| 	t
j|j¡| 
|jtj¡dS)NrrHcst ˆjd¡‚dS©NÚ)rrJÚFAILED©ÚargÚkwrHr
rÚf}szEControllerTests.test__upcheck_reraises_other_xmlrpc_faults.<locals>.f)rrKrIrBrCrDrrrEÚassertRaisesrrJr;rÚ
exitstatusrÚGENERIC©rrrSr:r
rHrÚ*test__upcheck_reraises_other_xmlrpc_faultszs

z:ControllerTests.test__upcheck_reraises_other_xmlrpc_faultscs€tƒ}ddl‰ddl‰‡‡fdd„}||jj_| |¡}tƒ|_| 	¡}| 
|d¡|j ¡}| d|k¡| 
|j
tj¡dS)Nrcsˆ ˆjd¡‚dS©Nznobody home©ÚerrorZECONNREFUSEDrP©ÚerrnoÚsocketr
rÚraise_fault‰szTControllerTests.test__upcheck_catches_socket_error_ECONNREFUSED.<locals>.raise_faultFzrefused connection)rr^r]rBrCrDrrrEr;rrFr3rUrZINSUFFICIENT_PRIVILEGES©rrr_r:rÚoutputr
r\rÚ/test__upcheck_catches_socket_error_ECONNREFUSED…s


z?ControllerTests.test__upcheck_catches_socket_error_ECONNREFUSEDcs€tƒ}ddl‰ddl‰‡‡fdd„}||jj_| |¡}tƒ|_| 	¡}| 
|d¡|j ¡}| d|k¡| 
|j
tj¡dS)Nrcsˆ ˆjd¡‚dSrY©r[ZENOENTrPr\r
rr_›szNControllerTests.test__upcheck_catches_socket_error_ENOENT.<locals>.raise_faultFzno such file)rr^r]rBrCrDrrrEr;rrFr3rUrÚNOT_RUNNINGr`r
r\rÚ)test__upcheck_catches_socket_error_ENOENT—s


z9ControllerTests.test__upcheck_catches_socket_error_ENOENTcsTtƒ}ddl‰ddl‰‡‡fdd„}||jj_| |¡}tƒ|_| 	ˆj
|j¡dS)Nrcsˆ ˆjd¡‚dSrM)r[ZEBADFrPr\r
rrS­szEControllerTests.test__upcheck_reraises_other_socket_faults.<locals>.f)rr^r]rBrCrDrrrErTr[r;rWr
r\rÚ*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)
rrrrEÚDummyPluginrÚpluginsÚonecmdrÚhelped)rrr:Úpluginrr
r
rÚtest_onecmd´s


zControllerTests.test_onecmdcCsdtƒ}| |¡}tƒ|_tƒ}|f|j_d|_| d¡| 	|j¡d|_| d¡| 
|j¡dS)NFrgrN)rrrrErhrrirkrjr3ZassertFalse)rrr:rlr
r
rÚ.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)Nrg)rrrrEZ_complete_inforjrr9r
r
rÚ#test_onecmd_clears_completion_cacheËs

z3ControllerTests.test_onecmd_clears_completion_cachecCsHtƒ}| |¡}tƒ|_| d¡| |j ¡d¡| |jtj	¡dS)NZbadcmdz*** Unknown syntax: badcmd
)
rrrrErjrrFrUrrVr9r
r
rÚtest_onecmd_bad_command_errorÓs

ÿz-ControllerTests.test_onecmd_bad_command_errorcCs\tƒ}| |¡}tƒ|_dg|_|jdddd}| |d¡|jdddd}| |d¡dS)NrgrNr©r"úhelp é©rrrrEÚvocabÚcompleterr<r
r
rÚtest_complete_action_emptyÜs
z*ControllerTests.test_complete_action_emptycCs\tƒ}| |¡}tƒ|_dg|_|jdddd}| |d¡|jdddd}| |d¡dS)NrgÚhrrqrrrsrtr<r
r
rÚtest_complete_action_partialæs
z,ControllerTests.test_complete_action_partialcCs@tƒ}| |¡}tƒ|_dg|_|jdddd}| |d¡dS)Nrgrrqrrrtr<r
r
rÚtest_complete_action_wholeðs
z*ControllerTests.test_complete_action_wholecCs8tƒ}| |¡}tƒ|_|jdddd}| |d¡dS)NÚbadrrq)rrrrErvrr<r
r
rÚ*test_complete_unknown_action_uncompletableøs

z:ControllerTests.test_complete_unknown_action_uncompletablecCsBtƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡dS)NrgÚaddrNrszbad rqrtr<r
r
rÚ.test_complete_unknown_action_arg_uncompletableÿs

z>ControllerTests.test_complete_unknown_action_arg_uncompletablecCsztƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d¡|jdd	dd}| |d¡dS)
NrgÚstartrNrrrrqrsústart értr<r
r
rÚtest_complete_help_emptys

z(ControllerTests.test_complete_help_emptycCs^tƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d¡dS)	NrgrZherzhelp herqrrrsrtr<r
r
rÚtest_complete_help_actions

z)ControllerTests.test_complete_help_actioncCs²tƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d	¡|jdd
dd}| |d¡|jdddd}| |d
¡|jdddd}| |d¡dS)NrgrrNrr€rqúfoo rsúbar rzbaz:baz_01 ézbaz:* értr<r
r
rÚtest_complete_start_emptys

z)ControllerTests.test_complete_start_emptycCs^tƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d¡dS)	NrgrrSrzstart frqr„rsrtr<r
r
rÚtest_complete_start_no_colon-s

z,ControllerTests.test_complete_start_no_coloncCsztƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d	¡|jdd
dd}| |d¡dS)Nrgrúfoo:rz
start foo:rqzfoo:foo rszfoo:* rrtr<r
r
rÚtest_complete_start_with_colon7s

z.ControllerTests.test_complete_start_with_coloncCsBtƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡dS)Nrgrr{rz	start badrqrtr<r
r
rÚ!test_complete_start_uncompletableCs

z1ControllerTests.test_complete_start_uncompletablecCsftƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡dd„}||jjj	_
|jdd	dddS)
NrgrrNrr€rqc_stdƒ‚dS)Nz(should not have called getAllProcessInfo)Ú	ExceptionrPr
r
rrSRsz<ControllerTests.test_complete_caches_process_info.<locals>.frs)rrrrErurvZassertNotEqualrrBrCÚgetAllProcessInfo)rrr:rrSr
r
rÚ!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)
Nrgr}rNrzadd rqr„rsr…rzbaz r†rtr<r
r
rÚtest_complete_add_emptyWs

z'ControllerTests.test_complete_add_emptycCsBtƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡dS)Nrgr}r{rzadd badrqrtr<r
r
rÚtest_complete_add_uncompletablees

z/ControllerTests.test_complete_add_uncompletablecCs^tƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡|jdddd}| |d¡dS)	Nrgr}rSrzadd frqr„rsrtr<r
r
rÚtest_complete_add_groupms

z'ControllerTests.test_complete_add_groupcCsBtƒ}| |¡}tƒ|_ddg|_|jdddd}| |d¡dS)NrgÚreloadrNrszreload rqrtr<r
r
rÚ&test_complete_reload_arg_uncompletablews

z6ControllerTests.test_complete_reload_arg_uncompletablecCs"tƒ}| |¡}| |jd¡dS)Nz*** No help on %s)rrrÚnohelpr9r
r
rÚtest_nohelps
zControllerTests.test_nohelpcCsHtƒ}| |¡}tƒ|_| d¡}|j ¡}| |d¡| |d¡dS)NrNú
foo helped)rrrrEÚdo_helprFr©rrr:ÚresultsZhelpvalr
r
rÚtest_do_help„s


zControllerTests.test_do_helpcCsJtƒ}| |¡}tƒ|_| d¡}| |d¡|j ¡}| d|k¡dS)Nrgzhelp		Print a list)rrrrEr˜rrFr3r™r
r
rÚtest_do_help_for_helps


z%ControllerTests.test_do_help_for_helpcCs2tƒ}| |¡}| ¡}| ¡j}| ||¡dSr)rrÚget_supervisorÚgetServerProxyrCr©rrr:ÚproxyÚexpectedr
r
rÚ<test_get_supervisor_returns_serverproxy_supervisor_namespace–s


zLControllerTests.test_get_supervisor_returns_serverproxy_supervisor_namespacecCs0tƒ}| |¡}| ¡}| ¡}| ||¡dSr)rrÚget_server_proxyržrrŸr
r
rÚ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Ÿr
r
rÚ;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)Zsupervisor.optionsr§r3ÚlenZsearchpathsZrealizeÚ__doc__r)rr§Úargsrr
r
rÚ#test_real_controller_initialization®sz3ControllerTests.test_real_controller_initializationN)(r-r.r/rrrr=rGrLrXrbrerfrmrnrorprwryrzr|r~r‚rƒrˆr‰r‹rŒrrr‘r’r”r–r›rœr¢r¤r¦r¬r
r
r
rr5HsJ

	




		r5c@s,eZdZdd„Zdd„Zdd„Zdd„Zd	S)
ÚTestControllerPluginBasecCsddlm}|S)Nr)ÚControllerPluginBase)rr®)rr®r
r
rr¼sz(TestControllerPluginBase._getTargetClasscOs*| ¡}tƒ}t|ƒ}||f|ž|Ž}|Sr©rrr©rrQrRÚklassrrrlr
r
rrÀs
z!TestControllerPluginBase._makeOnecCs–| ¡}| d¡}| |d¡| |jj ¡d¡| t|jjƒd¡|jjd}| |dd¡| |dg¡| |dd¡| |dd¡dS)	NÚ
rsrz%unnamed commands (type help <topic>):rér†éP©rr˜rrrErFr©Útopics_printed)rrlrZtopicsr
r
rÚ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rlrr
r
rÚtest_do_help_withargÓs

z-TestControllerPluginBase.test_do_help_withargN)r-r.r/rrr·rºr
r
r
rr­»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¿dZbdÁ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)rr¼)rr¼r
r
rrÜsz+TestDefaultControllerPlugin._getTargetClasscOs*| ¡}tƒ}t|ƒ}||f|ž|Ž}|Srr¯r°r
r
rràs
z$TestDefaultControllerPlugin._makeOnecCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)NrNr²rzError: too few arguments©
rÚdo_tailrrrErFÚsplitrUrrV©rrlrÚlinesr
r
rÚtest_tail_toofewargsçs
z0TestDefaultControllerPlugin.test_tail_toofewargscCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nzone two three fourr²rzError: too many argumentsr½rÀr
r
rÚtest_tail_toomanyargsïs
z1TestDefaultControllerPlugin.test_tail_toomanyargscCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nú-fr²rz!Error: tail requires process namer½rÀr
r
rÚtest_tail_f_noprocname÷s
z2TestDefaultControllerPlugin.test_tail_f_noprocnamecCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nz-z foor²rúError: bad argument -zr½rÀr
r
rÚtest_tail_bad_modifierÿs
z2TestDefaultControllerPlugin.test_tail_bad_modifiercCsT| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡dS)Nr¸r²érústdout line©rr¾rrrErFr¿r©rÀr
r
rÚtest_tail_defaultss
z.TestDefaultControllerPlugin.test_tail_defaultscCsf| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡| |jjt	j
¡dS)NÚNO_FILEr²rrzNO_FILE: ERROR (no log file)©rr¾rrrErFr¿r©rUrrVrÀr
r
rÚtest_tail_no_files
z-TestDefaultControllerPlugin.test_tail_no_filecCsf| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡| |jjt	j
¡dS)NrOr²rrz)FAILED: ERROR (unknown error reading log)rÍrÀr
r
rÚtest_tail_faileds
z,TestDefaultControllerPlugin.test_tail_failedcCsf| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡| |jjt	j
¡dS)NÚBAD_NAMEr²rrz&BAD_NAME: ERROR (no such process name)rÍrÀr
r
rÚtest_tail_bad_name!s
z.TestDefaultControllerPlugin.test_tail_bad_namecCsT| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡dS)Nz-10 foor²r†rz	dout linerÊrÀr
r
rÚtest_tail_bytesmodifier*s
z3TestDefaultControllerPlugin.test_tail_bytesmodifiercCsT| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡dS)Nz
foo stdoutr²rÈrrÉrÊrÀr
r
rÚ,test_tail_explicit_channel_stdout_nomodifier2s
zHTestDefaultControllerPlugin.test_tail_explicit_channel_stdout_nomodifiercCsT| ¡}| d¡}| |d¡|jj ¡ d¡}| t|ƒd¡| |dd¡dS)Nz
foo stderrr²rÈrzstderr linerÊrÀr
r
rÚ,test_tail_explicit_channel_stderr_nomodifier:s
zHTestDefaultControllerPlugin.test_tail_explicit_channel_stderr_nomodifiercCsP| ¡}| d¡}| |d¡|jj ¡ ¡}| |d¡| |jjtj	¡dS)Nz	foo fudgezError: bad channel 'fudge')
rr¾rrrErFÚstriprUrrV©rrlrÚvaluer
r
rÚ'test_tail_explicit_channel_unrecognizedBs
zCTestDefaultControllerPlugin.test_tail_explicit_channel_unrecognizedcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@LrAzFTestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'©ÚappendrP©Zcalledr
rrSNsz?TestDefaultControllerPlugin.test_tail_upcheck_failed.<locals>.fr¸)	rrr;rrBrCZreadProcessStdoutLogr¾r©rrlrSr
rÛrÚtest_tail_upcheck_failedJs
z4TestDefaultControllerPlugin.test_tail_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz
status <name>)rZhelp_statusrrErFr3©rrlÚoutr
r
rÚtest_status_helpTsz,TestDefaultControllerPlugin.test_status_helpcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@\rAzHTestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrS^szATestDefaultControllerPlugin.test_status_upcheck_failed.<locals>.frN)	rrr;rrBrCrŽÚ	do_statusrrÜr
rÛrÚtest_status_upcheck_failedZs
z6TestDefaultControllerPlugin.test_status_upcheck_failedcCsJ| ¡}| d¡}| |d¡|jj ¡ d¡}| |d d¡d¡dS)NrNr²rÚRUNNINGé!)rrárrrErFr¿ÚindexrÀr
r
rÚ*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©Ú
ProcessStatesZ–foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoor¸érãrNúfoo description©
ÚnameÚgroupÚpidÚstateZ	statenamerÚstopZspawnerrZnowÚdescriptionÚbarrÈúbar description)Úsupervisor.statesrèrãÚFATAL©rQrRrèr
r
rrSns0÷öözOTestDefaultControllerPlugin.test_status_table_process_column_expands.<locals>.frNr²rrãérs)rrrrBrCrŽrrárErFr¿rå)rrlrrSrÁr
r
rÚ(test_status_table_process_column_expandsks
zDTestDefaultControllerPlugin.test_status_table_process_column_expandscCs | ¡}| d¡}| |d¡|jj ¡ d¡}| |d dd¡dddg¡| |d dd¡d	d
dg¡| |d dd¡dd
dg¡| |jjtj	¡dS)NrNr²rrr¸rãrêrsròrõróú
baz:baz_01ÚSTOPPEDúbaz description©
rrárrrErFr¿rUrrdrÖr
r
rÚ test_status_all_processes_no_argŒs
ÿÿÿz<TestDefaultControllerPlugin.test_status_all_processes_no_argcCsd| ¡}| d¡}| |d¡| |jjtj¡|jj ¡ 	d¡}| |d 	dd¡dddg¡dS)Nr¸r²rrrãrê)
rrárrrUrÚSUCCESSrErFr¿rÖr
r
rÚtest_status_successšs
ÿz/TestDefaultControllerPlugin.test_status_successcCsL| ¡}| d¡}| |d¡|jj ¡}| d|¡| |jjtj¡dS)NZunknownprogramz(unknownprogram: ERROR (no such process)
)	rrárrrErFrUrÚUNKNOWNrÖr
r
rÚtest_status_unknown_process£s
z7TestDefaultControllerPlugin.test_status_unknown_processcCs | ¡}| d¡}| |d¡|jj ¡ d¡}| |d dd¡dddg¡| |d dd¡d	d
dg¡| |d dd¡dd
dg¡| |jjtj	¡dS)NÚallr²rrr¸rãrêrsròrõrórùrúrûrürÖr
r
rÚ!test_status_all_processes_all_arg«s
ÿÿÿz=TestDefaultControllerPlugin.test_status_all_processes_all_argcCs^| ¡}| d¡}| |d¡|jj ¡ ¡}| | dd¡dddg¡| |jjt	j
¡dS)Nr¸rrãrê)rrárrrErFrÕr¿rUrrþrÖr
r
rÚtest_status_process_name¸s
ÿz4TestDefaultControllerPlugin.test_status_process_namecCsd| ¡}| d¡}| |d¡|jj ¡ d¡}| |d dd¡dddg¡| |jjtj	¡dS)Nzbaz:*r²rrrùrúrûrürÖr
r
rÚtest_status_group_nameÁs
ÿz2TestDefaultControllerPlugin.test_status_group_namecCs‚| ¡}| d¡}| |d¡|jj ¡ d¡}| |d dd¡dddg¡| |d dd¡d	d
dg¡| |jjtj	¡dS)Nz	foo baz:*r²rrr¸rãrêrsrùrúrûrürÖr
r
rÚtest_status_mixed_namesÊs
ÿÿz3TestDefaultControllerPlugin.test_status_mixed_namescCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nz
badgroup:*r²rzbadgroup: ERROR (no such group)©
rrárrrErFr¿rUrrrÖr
r
rÚtest_status_bad_group_nameÕs
z6TestDefaultControllerPlugin.test_status_bad_group_namecCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)NZ
badprocessr²rz#badprocess: ERROR (no such process)rrÖr
r
rÚtest_status_bad_process_nameÝs
z8TestDefaultControllerPlugin.test_status_bad_process_namecCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nzbadgroup:badprocessr²rz,badgroup:badprocess: ERROR (no such process)rrÖr
r
rÚ'test_status_bad_process_name_with_groupås
zCTestDefaultControllerPlugin.test_status_bad_process_name_with_groupcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzstart <name>)rZ
help_startrrErFr3rÞr
r
rÚtest_start_helpîsz+TestDefaultControllerPlugin.test_start_helpcCsV| ¡}| d¡}| |d¡d}| |jj ¡ d¡d|¡| |jjtj	¡dS)NrNz$Error: start requires a process namer²r)
rÚdo_startrrrErFr¿rUrÚINVALID_ARGS©rrlrr¡r
r
rÚtest_start_failôs
z+TestDefaultControllerPlugin.test_start_failcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS©NrÐú"BAD_NAME: ERROR (no such process)
©	rrrrrErFrUrrVr¹r
r
rÚtest_start_badnameüs
ÿz.TestDefaultControllerPlugin.test_start_badnamecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrÌzNO_FILE: ERROR (no such file)
rr¹r
r
rÚtest_start_no_files
ÿz.TestDefaultControllerPlugin.test_start_no_filecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NZNOT_EXECUTABLEz/NOT_EXECUTABLE: ERROR (file is not executable)
rr¹r
r
rÚtest_start_not_executables
ÿz5TestDefaultControllerPlugin.test_start_not_executablecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NZALREADY_STARTEDz)ALREADY_STARTED: ERROR (already started)
©	rrrrrErFrUrrþr¹r
r
rÚtest_start_alreadystarteds
ÿz5TestDefaultControllerPlugin.test_start_alreadystartedcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NZSPAWN_ERRORz!SPAWN_ERROR: ERROR (spawn error)
©	rrrrrErFrUrrdr¹r
r
rÚtest_start_spawnerrors
ÿz1TestDefaultControllerPlugin.test_start_spawnerrorcCsL| ¡}| d¡}| |d¡d}| |jj ¡|¡| |jjtj¡dS)NZABNORMAL_TERMINATIONz3ABNORMAL_TERMINATION: ERROR (abnormal termination)
rrr
r
rÚtest_start_abnormaltermination$s
z:TestDefaultControllerPlugin.test_start_abnormalterminationcCs6| ¡}| d¡}| |d¡| |jj ¡d¡dS)Nr¸ú
foo: started
)rrrrrErFr¹r
r
rÚtest_start_one_success,s
ÿz2TestDefaultControllerPlugin.test_start_one_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Núfoo:foorrr¹r
r
rÚ&test_start_one_with_group_name_success3s
ÿzBTestDefaultControllerPlugin.test_start_one_with_group_name_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Núfoo barzfoo: started
bar: started
rr¹r
r
rÚtest_start_many;s
ÿz+TestDefaultControllerPlugin.test_start_manycCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrŠz(foo:foo_00: started
foo:foo_01: started
rr¹r
r
rÚtest_start_groupCs
ÿz,TestDefaultControllerPlugin.test_start_groupcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS©Nz	BAD_NAME:ú BAD_NAME: ERROR (no such group)
)	rrrrrErFrUrr
r¹r
r
rÚtest_start_group_bad_nameMs
ÿz5TestDefaultControllerPlugin.test_start_group_bad_namecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrzDfoo: started
foo2: started
failed_group:failed: ERROR (spawn error)
rr¹r
r
rÚtest_start_allUs
ÿz*TestDefaultControllerPlugin.test_start_allcsV| ¡}dd„|j_g‰‡fdd„}|jjjj}||_||_| d¡| 	ˆg¡dS)NcSsdSrr
r
r
r
rr@brAzGTestDefaultControllerPlugin.test_start_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrSdsz@TestDefaultControllerPlugin.test_start_upcheck_failed.<locals>.fr¸)
rrr;rrBrCZstartAllProcessesZstartProcessGrouprr©rrlrSrCr
rÛrÚtest_start_upcheck_failed`s
z5TestDefaultControllerPlugin.test_start_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzstop <name>)rZ	help_stoprrErFr3rÞr
r
rÚtest_stop_helplsz*TestDefaultControllerPlugin.test_stop_helpcCsR| ¡}| d¡}| |d¡| |jj ¡ d¡dd¡| |jjtj	¡dS)NrNr²rz#Error: stop requires a process name)
rÚdo_stoprrrErFr¿rUrrVr¹r
r
rÚtest_stop_failrs
ÿz*TestDefaultControllerPlugin.test_stop_failcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dSr©	rr)rrrErFrUrrVr¹r
r
rÚtest_stop_badnamezs
ÿz-TestDefaultControllerPlugin.test_stop_badnamecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrdú!NOT_RUNNING: ERROR (not running)
©	rr)rrrErFrUrrþr¹r
r
rÚtest_stop_notrunning‚s
ÿz0TestDefaultControllerPlugin.test_stop_notrunningcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrOúFAILED
r+r¹r
r
rÚtest_stop_failedŠs

z,TestDefaultControllerPlugin.test_stop_failedcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nr¸ú
foo: stopped
r.r¹r
r
rÚtest_stop_one_success‘s
ÿz1TestDefaultControllerPlugin.test_stop_one_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrr2r.r¹r
r
rÚ%test_stop_one_with_group_name_success™s
ÿzATestDefaultControllerPlugin.test_stop_one_with_group_name_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrzfoo: stopped
bar: stopped
r.r¹r
r
rÚtest_stop_many¡s
ÿz*TestDefaultControllerPlugin.test_stop_manycCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrŠz(foo:foo_00: stopped
foo:foo_01: stopped
r.r¹r
r
rÚtest_stop_groupªs
ÿz+TestDefaultControllerPlugin.test_stop_groupcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dSr"r+r¹r
r
rÚtest_stop_group_bad_name³s
ÿz4TestDefaultControllerPlugin.test_stop_group_bad_namecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrzHfoo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
r+r¹r
r
rÚ
test_stop_all»s
ÿz)TestDefaultControllerPlugin.test_stop_allcsV| ¡}dd„|j_g‰‡fdd„}|jjjj}||_||_| d¡| 	ˆg¡dS)NcSsdSrr
r
r
r
rr@ÇrAzFTestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrSÉsz?TestDefaultControllerPlugin.test_stop_upcheck_failed.<locals>.fr¸)
rrr;rrBrCÚstopAllProcessesÚstopProcessGroupr)rr&r
rÛrÚtest_stop_upcheck_failedÅs
z4TestDefaultControllerPlugin.test_stop_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzsignal <signal name> <name>)rZhelp_signalrrErFr3rÞr
r
rÚtest_signal_helpÑsz,TestDefaultControllerPlugin.test_signal_helpcCsV| ¡}| d¡}| |d¡d}| |jj ¡ d¡d|¡| |jjtj	¡dS)NrNú7Error: signal requires a signal name and a process namer²r©
rÚ	do_signalrrrErFr¿rUrrV©rrlrÚmsgr
r
rÚtest_signal_fail_no_arg×s
z3TestDefaultControllerPlugin.test_signal_fail_no_argcCsV| ¡}| d¡}| |d¡d}| |jj ¡ d¡d|¡| |jjtj	¡dS)NZhupr=r²rr>r@r
r
rÚtest_signal_fail_one_argßs
z4TestDefaultControllerPlugin.test_signal_fail_one_argcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzBAD_SIGNAL foozfoo: ERROR (bad signal name)
©	rr?rrrErFrUrrVr¹r
r
rÚtest_signal_bad_signalçs
ÿz2TestDefaultControllerPlugin.test_signal_bad_signalcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP BAD_NAMErrDr¹r
r
rÚtest_signal_bad_nameïs
ÿz0TestDefaultControllerPlugin.test_signal_bad_namecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nz
HUP BAD_NAME:r#rDr¹r
r
rÚtest_signal_bad_group÷s
ÿz1TestDefaultControllerPlugin.test_signal_bad_groupcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP NOT_RUNNINGr-)	rr?rrrErFrUrrdr¹r
r
rÚtest_signal_not_runningÿs
ÿz3TestDefaultControllerPlugin.test_signal_not_runningcCsF| ¡}| d¡}| |d¡| |jj ¡d¡| |jjd¡dS)Nz
HUP FAILEDr0rs)rr?rrrErFrUr¹r
r
rÚtest_signal_faileds

z.TestDefaultControllerPlugin.test_signal_failedcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP foozfoo: signalled
©	rr?rrrErFrUrrþr¹r
r
rÚtest_signal_one_successs

z3TestDefaultControllerPlugin.test_signal_one_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP foo barzfoo: signalled
bar: signalled
rJr¹r
r
rÚtest_signal_manys
ÿz,TestDefaultControllerPlugin.test_signal_manycCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP foo:z,foo:foo_00: signalled
foo:foo_01: signalled
rJr¹r
r
rÚtest_signal_groups
ÿz-TestDefaultControllerPlugin.test_signal_groupcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NzHUP allzLfoo: signalled
foo2: signalled
failed_group:failed: ERROR (no such process)
rDr¹r
r
rÚtest_signal_all's
ÿz+TestDefaultControllerPlugin.test_signal_allcsV| ¡}dd„|j_g‰‡fdd„}|jjjj}||_||_| d¡| 	ˆg¡dS)NcSsdSrr
r
r
r
rr@3rAzHTestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrS5szATestDefaultControllerPlugin.test_signal_upcheck_failed.<locals>.fzterm foo)
rrr;rrBrCZsignalAllProcessesZsignalProcessGroupr?rr&r
rÛrÚtest_signal_upcheck_failed1s
z6TestDefaultControllerPlugin.test_signal_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzrestart <name>)rZhelp_restartrrErFr3rÞr
r
rÚtest_restart_help=sz-TestDefaultControllerPlugin.test_restart_helpcCsR| ¡}| d¡}| |d¡| |jj ¡ d¡dd¡| |jjtj	¡dS)NrNr²rz&Error: restart requires a process name)
rÚ
do_restartrrrErFr¿rUrrVr¹r
r
rÚtest_restart_failCs
ÿz-TestDefaultControllerPlugin.test_restart_failcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nr¸zfoo: stopped
foo: started
)	rrQrrrErFrUrrþr¹r
r
rÚtest_restart_oneKs
ÿz,TestDefaultControllerPlugin.test_restart_onecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrzŒfoo: stopped
foo2: stopped
failed_group:failed: ERROR (no such process)
foo: started
foo2: started
failed_group:failed: ERROR (spawn error)
)	rrQrrrErFrUrrdr¹r
r
rÚtest_restart_allSs
ÿz,TestDefaultControllerPlugin.test_restart_allcsV| ¡}dd„|j_g‰‡fdd„}|jjjj}||_||_| d¡| 	ˆg¡dS)NcSsdSrr
r
r
r
rr@`rAzITestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrSbszBTestDefaultControllerPlugin.test_restart_upcheck_failed.<locals>.fr¸)
rrr;rrBrCr9r:rQrr&r
rÛrÚtest_restart_upcheck_failed^s
z7TestDefaultControllerPlugin.test_restart_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzclear <name>)rZ
help_clearrrErFr3rÞr
r
rÚtest_clear_helpjsz+TestDefaultControllerPlugin.test_clear_helpcCsR| ¡}| d¡}| |d¡| |jj ¡ d¡dd¡| |jjtj	¡dS)NrNr²rz$Error: clear requires a process name)
rÚdo_clearrrrErFr¿rUrrVr¹r
r
rÚtest_clear_failps
ÿz+TestDefaultControllerPlugin.test_clear_failcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dSr©	rrWrrrErFrUrrVr¹r
r
rÚtest_clear_badnamexs
ÿz.TestDefaultControllerPlugin.test_clear_badnamecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nr¸ú
foo: cleared
©	rrWrrrErFrUrrþr¹r
r
rÚtest_clear_one_success€s
ÿz2TestDefaultControllerPlugin.test_clear_one_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrr[r\r¹r
r
rÚ!test_clear_one_with_group_successˆs
ÿz=TestDefaultControllerPlugin.test_clear_one_with_group_successcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrzfoo: cleared
bar: cleared
r\r¹r
r
rÚtest_clear_manys
ÿz+TestDefaultControllerPlugin.test_clear_manycCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nrz?foo: cleared
foo2: cleared
failed_group:failed: ERROR (failed)
rYr¹r
r
rÚtest_clear_all˜s
ÿz*TestDefaultControllerPlugin.test_clear_allcsV| ¡}dd„|j_g‰‡fdd„}|jjjj}||_||_| d¡| 	ˆg¡dS)NcSsdSrr
r
r
r
rr@¥rAzGTestDefaultControllerPlugin.test_clear_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrS§sz@TestDefaultControllerPlugin.test_clear_upcheck_failed.<locals>.fr¸)
rrr;rrBrCZclearAllProcessLogsZclearProcessLogsrWrr&r
rÛrÚtest_clear_upcheck_failed£s
z5TestDefaultControllerPlugin.test_clear_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz
open <url>)rZ	help_openrrErFr3rÞr
r
rÚtest_open_help¯sz*TestDefaultControllerPlugin.test_open_helpcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NZbadnamez&ERROR: url must be http:// or unix://
)	rÚdo_openrrrErFrUrrVr¹r
r
rÚtest_open_failµs
ÿz*TestDefaultControllerPlugin.test_open_failcCs | ¡}| d¡}| |d¡|jj ¡ d¡}| |d dd¡dddg¡| |d dd¡d	d
dg¡| |d dd¡dd
dg¡| |jjtj	¡dS)Nzhttp://localhost:9002r²rrr¸rãrêrsròrõrórùrúrû)
rrcrrrErFr¿rUrrþrÖr
r
rÚtest_open_succeed½s
ÿÿÿz-TestDefaultControllerPlugin.test_open_succeedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz*Show the version of the remote supervisord)rZhelp_versionrrErFr3rÞr
r
rÚtest_version_helpÊsz-TestDefaultControllerPlugin.test_version_helpcCs*| ¡}| d¡| |jj ¡d¡dS)Nz3000
)rÚ
do_versionrrrErF©rrlr
r
rÚtest_versionÐs
z(TestDefaultControllerPlugin.test_versioncCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)Nr{z#Error: version accepts no arguments)rrgrrrErFr3Ú
startswithrUrrV©rrlrÚvalr
r
rÚtest_version_argÕs
z,TestDefaultControllerPlugin.test_version_argcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@ßrAzITestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrSászBTestDefaultControllerPlugin.test_version_upcheck_failed.<locals>.frN)	rrr;rrBrCZgetSupervisorVersionrgrrÜr
rÛrÚtest_version_upcheck_failedÝs
z7TestDefaultControllerPlugin.test_version_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)NzRestart the remote supervisord)rZhelp_reloadrrErFr3rÞr
r
rÚtest_reload_helpçsz,TestDefaultControllerPlugin.test_reload_helpcCsF| ¡}|jj}d|jj_| d¡}| |d¡| |jjjd¡dS)NFrN)	rrrrBrCZ_restartableÚ	do_reloadrÚ
_restarted©rrlrrr
r
rÚtest_reload_failís

z,TestDefaultControllerPlugin.test_reload_failcCs<| ¡}|jj}| d¡}| |d¡| |jjjd¡dS©NrNT)rrrrprrBrCrqrrr
r
rÚtest_reloadõs

z'TestDefaultControllerPlugin.test_reloadcCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)Nr{z"Error: reload accepts no arguments)rrprrrErFr3rjrUrrVrkr
r
rÚtest_reload_argüs
z+TestDefaultControllerPlugin.test_reload_argcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz Shut the remote supervisord down)rZ
help_shutdownrrErFr3rÞr
r
rÚtest_shutdown_helpsz.TestDefaultControllerPlugin.test_shutdown_helpcCs<| ¡}|jj}| d¡}| |d¡| |jjjd¡dSrt)rrrÚdo_shutdownrrBrCÚ	_shutdownrrr
r
rÚ
test_shutdown
s

z)TestDefaultControllerPlugin.test_shutdowncsn| ¡}ddlm‰‡fdd„}||jjjj_| d¡}| |d¡| |jj	 
¡d¡| |jjtj
¡dS)Nrrcst ˆjjd¡‚dS)NZbye©rrJrIÚSHUTDOWN_STATErPrr
rr_szbTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_state.<locals>.raise_faultrNzERROR: already shutting down
)rrCrrrrBÚshutdownrxrrErFrUrrþ)rrlr_rr
rrÚ1test_shutdown_catches_xmlrpc_fault_shutdown_states
ÿzMTestDefaultControllerPlugin.test_shutdown_catches_xmlrpc_fault_shutdown_statecsV| ¡}ddlm‰‡fdd„}||jjjj_| tj	|j
d¡| |jjt
j¡dS)Nrrcst ˆjjd¡‚dS)NZouch©rrJrIZCANT_REREADrPrr
rr_#sz[TestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faults.<locals>.raise_faultrN)rrCrrrrBr}rTrrJrxrrUrrV©rrlr_r
rrÚ*test_shutdown_reraises_other_xmlrpc_faultssÿzFTestDefaultControllerPlugin.test_shutdown_reraises_other_xmlrpc_faultscsz| ¡}ddl‰ddl‰‡‡fdd„}||jjjj_| d¡}| 	|d¡|jj
 ¡}| d|k¡| 	|jj
tj¡dS)Nrcsˆ ˆjd¡‚dSrYrZrPr\r
rr_0sz`TestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSED.<locals>.raise_faultrNz'refused connection (already shut down?)©rr^r]rrrBrCr}rxrrErFr3rUrrV©rrlr_rrar
r\rÚ/test_shutdown_catches_socket_error_ECONNREFUSED+s
zKTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ECONNREFUSEDcsz| ¡}ddl‰ddl‰‡‡fdd„}||jjjj_| d¡}| 	|d¡|jj
 ¡}| d|k¡| 	|jj
tj¡dS)Nrcsˆ ˆjd¡‚dS)Nzno filercrPr\r
rr_@szZTestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENT.<locals>.raise_faultrNz!no such file (already shut down?)r‚rƒr
r\rÚ)test_shutdown_catches_socket_error_ENOENT;s
zETestDefaultControllerPlugin.test_shutdown_catches_socket_error_ENOENTcs\| ¡}ddl‰ddl‰‡‡fdd„}||jjjj_| ˆj	|j
d¡| |jjt
j¡dS)Nrcsˆ ˆjd¡‚dS)NZdenied)r[ZEPERMrPr\r
rr_Psz[TestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errors.<locals>.raise_faultrN)rr^r]rrrBrCr}rTr[rxrrUrrVr€r
r\rÚ*test_shutdown_reraises_other_socket_errorsKsÿzFTestDefaultControllerPlugin.test_shutdown_reraises_other_socket_errorscCs2| ¡}| dgdgdgg¡| gggg¡dS)NÚaddedÚchangedÚremoved)rÚ_formatChangesrhr
r
rÚtest__formatChangesXsz/TestDefaultControllerPlugin.test__formatChangescCs@| ¡}| ¡|jj ¡}| d|k¡| |jjtj	¡dS)Nz'Reload the daemon's configuration files)
rZhelp_rereadrrErFr3rrUrrþrÞr
r
rÚtest_reread_help^s
z,TestDefaultControllerPlugin.test_reread_helpcsb| ¡}g‰‡fdd„|_| d¡}| |d¡| ˆddgdgdgg¡| |jjtj¡dS)Ncs
ˆ |¡SrrÙr>©Úcallsr
rr@hrAz9TestDefaultControllerPlugin.test_reread.<locals>.<lambda>rr‡rˆr‰)rrŠÚ	do_rereadrrrUrrþr¹r
rrÚtest_rereades
z'TestDefaultControllerPlugin.test_rereadcCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)Nr{z"Error: reread accepts no arguments)rrrrrErFr3rjrUrrVrkr
r
rÚtest_reread_argns
z+TestDefaultControllerPlugin.test_reread_argcsb| ¡}ddlm‰‡fdd„}||jjjj_| d¡| |jj	 
¡d¡| |jjtj
¡dS)Nrrcst ˆjjd¡‚dS)NZcantrrPrr
rÚreloadConfigyszITestDefaultControllerPlugin.test_reread_cant_reread.<locals>.reloadConfigzERROR: cant
©rrCrrrrBr’rrrErFrUrrV©rrlr’r
rrÚtest_reread_cant_rereadvs
ÿz3TestDefaultControllerPlugin.test_reread_cant_rereadcsb| ¡}ddlm‰‡fdd„}||jjjj_| d¡| |jj	 
¡d¡| |jjtj
¡dS)Nrrcst ˆjjd¡‚dSrMr{rPrr
rr’„szLTestDefaultControllerPlugin.test_reread_shutdown_state.<locals>.reloadConfigú ERROR: supervisor shutting down
r“r”r
rrÚtest_reread_shutdown_states
ÿz6TestDefaultControllerPlugin.test_reread_shutdown_statecsV| ¡}ddlm‰‡fdd„}||jjjj_| tj	|j
d¡| |jjt
j¡dS)Nrrcst ˆjjd¡‚dSrM)rrJrIrOrPrr
rr’szSTestDefaultControllerPlugin.test_reread_reraises_other_faults.<locals>.reloadConfigrN)rrCrrrrBr’rTrrJrrrUrrVr”r
rrÚ!test_reread_reraises_other_faultsŒsz=TestDefaultControllerPlugin.test_reread_reraises_other_faultscCs`dddddddœ}| ¡}| |¡}| d|k¡dddddddœ}| |¡}| d|k¡dS)	NÚgroup1Úprocess1Téç©rírìZinuseZ	autostartZprocess_prioZ
group_priozin useFZavail)rZ_formatConfigInfor3)rÚinforlrr
r
rÚtest__formatConfigInfo•s&û
û
z2TestDefaultControllerPlugin.test__formatConfigInfocCs.| ¡}| ¡|jj ¡}| d|k¡dS)NzDisplay all configured)rZ
help_availrrErFr3rÞr
r
rÚtest_avail_help¨sz+TestDefaultControllerPlugin.test_avail_helpcsPg}| ¡}Gdd„dtƒ‰‡fdd„|j_|j|j_| d¡}| |d¡dS)Nc@seZdZdd„ZdS)z>TestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisorcSsdddddddœgS)Nr™ršFr›rœr
r+r
r
rÚgetAllConfigInfo³sþzOTestDefaultControllerPlugin.test_avail.<locals>.FakeSupervisor.getAllConfigInfoN)r-r.r/r r
r
r
rÚFakeSupervisor²sr¡csˆƒSrr
r
©r¡r
rr@¸rAz8TestDefaultControllerPlugin.test_avail.<locals>.<lambda>rN)rr1rrrÚraÚdo_availr)rrŽrlrr
r¢rÚ
test_avail®s

z&TestDefaultControllerPlugin.test_availcCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)Nr{z!Error: avail accepts no arguments)rr£rrrErFr3rjrUrrVrkr
r
rÚtest_avail_arg½s
z*TestDefaultControllerPlugin.test_avail_argcCsb| ¡}|jjjj}dd„}||_| d¡}| |d¡| |jj 	¡d¡| |jj
tj¡dS)NcSs ddlm}t |jjd¡‚dS©NrrrN©rCrrrJrIr|rr
r
rr ÉszOTestDefaultControllerPlugin.test_avail_shutdown_state.<locals>.getAllConfigInforNr–)
rrrrBrCr r£rrErFrUrrV)rrlrCr rr
r
rÚtest_avail_shutdown_stateÅs
ÿz5TestDefaultControllerPlugin.test_avail_shutdown_statecCsJ| ¡}|jjjj}dd„}||_| tj|j	d¡| 
|jjtj
¡dS)NcSs ddlm}t |jjd¡‚dSr¦©rCrrrJrIrOrr
r
rr ØszVTestDefaultControllerPlugin.test_avail_reraises_other_faults.<locals>.getAllConfigInforN)rrrrBrCr rTrrJr£rrUrrV)rrlrCr r
r
rÚ test_avail_reraises_other_faultsÔsz<TestDefaultControllerPlugin.test_avail_reraises_other_faultscCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz
add <name>)rZhelp_addrrErFr3rÞr
r
rÚ
test_add_helpàsz)TestDefaultControllerPlugin.test_add_helpcCsP| ¡}| d¡}| |d¡|jjjj}| |jdg¡| |jjt	j
¡dS©Nr¸)rÚdo_addrrrrBrCÚ	processesrUrrþ)rrlrrCr
r
rÚtest_addæs
z$TestDefaultControllerPlugin.test_addcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NZ
ALREADY_ADDEDz$ERROR: process group already active
)	rr­rrrErFrUrrþr¹r
r
rÚtest_add_already_addedîs
ÿz2TestDefaultControllerPlugin.test_add_already_addedcCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)NrÐú'ERROR: no such process/group: BAD_NAME
©	rr­rrrErFrUrrVr¹r
r
rÚtest_add_bad_nameös
ÿz-TestDefaultControllerPlugin.test_add_bad_namecCsH| ¡}| d¡}| |d¡| |jj ¡d¡| |jjtj¡dS)Nr|zERROR: shutting down
r²r¹r
r
rÚtest_add_shutdown_stateþs
ÿz3TestDefaultControllerPlugin.test_add_shutdown_statecCs0| ¡}| tj|jd¡| |jjtj	¡dS©NrO)
rrTrrJr­rrrUrrVrhr
r
rÚtest_add_reraises_other_faultssz:TestDefaultControllerPlugin.test_add_reraises_other_faultscCs@| ¡}| ¡|jj ¡}| d|k¡| |jjtj	¡dS)Nz
remove <name>)
rZhelp_removerrErFr3rrUrrþrÞr
r
rÚtest_remove_helps
z,TestDefaultControllerPlugin.test_remove_helpcCsD| ¡}|jjjj}dg|_| d¡}| |d¡| |jg¡dSr¬)rrrrBrCr®Ú	do_remover©rrlrCrr
r
rÚtest_removes
z'TestDefaultControllerPlugin.test_removecCs\| ¡}|jjjj}dg|_| d¡}| |d¡| |jj 	¡d¡| |jj
tj¡dS)Nr¸rÐr±©
rrrrBrCr®r¸rrErFrUrrVr¹r
r
rÚtest_remove_bad_names
ÿz0TestDefaultControllerPlugin.test_remove_bad_namecCs\| ¡}|jjjj}dg|_| d¡}| |d¡| |jj 	¡d¡| |jj
tj¡dS)Nr¸Z
STILL_RUNNINGz2ERROR: process/group still running: STILL_RUNNING
r»r¹r
r
rÚtest_remove_still_running$s
ÿz5TestDefaultControllerPlugin.test_remove_still_runningcCs0| ¡}| tj|jd¡| |jjtj	¡dSrµ)
rrTrrJr¸rrrUrrVrhr
r
rÚ!test_remove_reraises_other_faults.sz=TestDefaultControllerPlugin.test_remove_reraises_other_faultscCs.| ¡}| ¡|jj ¡}| d|k¡dS)NzReload config and add/remove)rZhelp_updaterrErFr3rÞr
r
rÚtest_update_help3sz,TestDefaultControllerPlugin.test_update_helpcCsH| ¡}|jjjj}dd„}||_dg|_| d¡| |jdg¡dS)NcSs ddlm}t |jjd¡‚dS)NrrÚblahr§rr
r
rr’<szMTestDefaultControllerPlugin.test_update_not_on_shutdown.<locals>.reloadConfigr‰rN)	rrrrBrCr’r®Ú	do_updater©rrlrCr’r
r
rÚtest_update_not_on_shutdown9s
z7TestDefaultControllerPlugin.test_update_not_on_shutdowncCsL| ¡}|jjjj}dd„}||_| d¡}| |d¡| |jdg¡dS)NcSsdgggggS)NÚnew_procr
r
r
r
rr’HszITestDefaultControllerPlugin.test_update_added_procs.<locals>.reloadConfigrNrÄ)	rrrrBrCr’rÁrr®)rrlrCr’rr
r
rÚtest_update_added_procsDs
z3TestDefaultControllerPlugin.test_update_added_procscCs| ¡}|jjjj}dd„}||_ddg|_| d¡| t	|jƒt	ddgƒ¡| d¡| t	|jƒt	ddddgƒ¡| d¡| t	|jƒt	dddgƒ¡ddg|_| d¡| t	|jƒt	ddgƒ¡ddg|_| d	¡| t	|jƒt	dddgƒ¡dS)
NcSsddgdgdgggS)NÚadded1Úadded2rˆr‰r
r
r
r
rr’TszHTestDefaultControllerPlugin.test_update_with_gname.<locals>.reloadConfigrˆr‰z
added1 added2rÆrÇzremoved added1r)
rrrrBrCr’r®rÁrÚsortedrÂr
r
rÚ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_groupr
r
r
r
rr’wszKTestDefaultControllerPlugin.test_update_changed_procs.<locals>.reloadConfigcsˆ d|f¡S)NrrÙr>rr
rr@zrAzGTestDefaultControllerPlugin.test_update_changed_procs.<locals>.<lambda>rÊZchanged_processrÀ©rìríZstatusrñcsˆ d|f¡ˆS)NrðrÙ©rì©rŽršr
rr:szOTestDefaultControllerPlugin.test_update_changed_procs.<locals>.stopProcessGrouprN)rðrÊZchanged_process1Zchanged_process2)rCrrrrrBr’ZstartProcessZaddProcessGrouprIrþr:rÁrrdrO©rrrlrCr’r:r
rÍ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_groupr
r
r
r
rr’«szKTestDefaultControllerPlugin.test_update_removed_procs.<locals>.reloadConfigZremoved_processrÐrÀrËcsˆSrr
rÌ©ršr
rr:µszOTestDefaultControllerPlugin.test_update_removed_procs.<locals>.stopProcessGrouprN)rCrrrrrBr’rIrþr®r:rÁrrdrOrÎr
rÑrÚtest_update_removed_procs¥s>ý
ý
ý
z5TestDefaultControllerPlugin.test_update_removed_procscCsH| ¡}|jjjj}dd„}||_| tj|j	d¡| 
|jjd¡dS)NcSs ddlm}t |jjd¡‚dS)NrrrOr©rr
r
rr’ÒszSTestDefaultControllerPlugin.test_update_reraises_other_faults.<locals>.reloadConfigrNrs)rrrrBrCr’rTrrJrÁrrUrÂr
r
rÚ!test_update_reraises_other_faultsÎsz=TestDefaultControllerPlugin.test_update_reraises_other_faultscCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz
pid <name>)rZhelp_pidrrErFr3rÞr
r
rÚ
test_pid_helpÚsz)TestDefaultControllerPlugin.test_pid_helpcCsh| ¡}| d¡}| |d¡|jj}|jj ¡ d¡}| t|ƒd¡| |dt	|j
j ¡ƒ¡dS)NrNr²rr)
rÚdo_pidrrrrErFr¿r©ÚstrrBrCÚgetPID)rrlrrrÁr
r
rÚtest_pid_supervisordàs
z0TestDefaultControllerPlugin.test_pid_supervisordcCsZ| ¡}| d¡}| |d¡|jj ¡ ¡}| | ¡dddg¡| |jjt	j
¡dS)NrÚ11Z12Z13)rrÕrrrErFrÕr¿rUrrþrÖr
r
rÚtest_pid_allprocessesés
z1TestDefaultControllerPlugin.test_pid_allprocessescCsP| ¡}| d¡}| |d¡|jj ¡ ¡}| |d¡| |jjtj	¡dS)NrÐzNo such process BAD_NAME)
rrÕrrrErFrÕrUrrVrÖr
r
rÚtest_pid_badnameñs
z,TestDefaultControllerPlugin.test_pid_badnamecCsL| ¡}| d¡}| |d¡| |jj ¡ ¡d¡| |jjtj	¡dS)Nr¸rÙ)
rrÕrrrErFrÕrUrrþr¹r
r
rÚ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úrNrêrë)rôrèrúrör
r
rrSs÷zFTestDefaultControllerPlugin.test_pid_oneprocess_not_running.<locals>.fr¸Ú0)rrrrBrCÚgetProcessInforÕrrErFrÕrUrrd)rrlrrSrr
r
rÚtest_pid_oneprocess_not_runnings


ÿz;TestDefaultControllerPlugin.test_pid_oneprocess_not_runningcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@rAzETestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrSsz>TestDefaultControllerPlugin.test_pid_upcheck_failed.<locals>.frN)	rrr;rrBrCr×rÕrrÜr
rÛrÚtest_pid_upcheck_faileds
z3TestDefaultControllerPlugin.test_pid_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nz tail of supervisor main log file)rZ
help_maintailrrErFr3rÞr
r
rÚtest_maintail_help!sz.TestDefaultControllerPlugin.test_maintail_helpcCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)NrzError: too many©rÚdo_maintailrrrErFr3rjrUrrVrkr
r
rÚtest_maintail_toomanyargs's
z5TestDefaultControllerPlugin.test_maintail_toomanyargscCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)Nz-wrongzError: bad argument -wrongrârkr
r
rÚ test_maintail_minus_string_fails/s
z<TestDefaultControllerPlugin.test_maintail_minus_string_failscCsR| ¡}| d¡}| |d¡|jj ¡}| | d¡|¡| |jjt	j
¡dS)NZwrongzError: bad argument wrongrârkr
r
rÚtest_maintail_wrong7s
z/TestDefaultControllerPlugin.test_maintail_wrongcCs|| ¡}tƒ|_| d¡}| |d¡|jj}| t|ƒd¡|d}| |jjd¡| |dd¡| d|dk¡dS)NrÄrsrz"http://localhost:65532/mainlogtailzCannot connect)	rÚ
DummyListenerZlistenerrãrÚerrorsr©r*r3)rrlrrèr[r
r
rÚ_dont_test_maintail_dashf?s

ÿ
ÿz5TestDefaultControllerPlugin._dont_test_maintail_dashfcCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)Nz-zr²rrÆ)
rrãrrrErFr¿rUrrVrÀr
r
rÚtest_maintail_bad_modifierPs
z6TestDefaultControllerPlugin.test_maintail_bad_modifiercCs6| ¡}| d¡}| |d¡| |jj ¡d¡dS)NrNúmainlogdata
©rrãrrrErFr¹r
r
rÚtest_maintail_nobytesXs
z1TestDefaultControllerPlugin.test_maintail_nobytescCs6| ¡}| d¡}| |d¡| |jj ¡d¡dS)Nú-100rërìr¹r
r
rÚtest_maintail_dashbytes^s
z3TestDefaultControllerPlugin.test_maintail_dashbytescCsh| ¡}|j ¡}ddlm}|jj|_| d¡}| 	|d¡| 	|jj
 ¡d¡| 	|jjt
j¡dS)Nrrrîz!supervisord: ERROR (no log file)
)rrrrCrrIrÌÚ_readlog_errorrãrrErFrUrrV©rrlZsupervisor_rpcrrr
r
rÚ"test_maintail_readlog_error_nofileds


ÿz>TestDefaultControllerPlugin.test_maintail_readlog_error_nofilecCsh| ¡}|j ¡}ddlm}|jj|_| d¡}| 	|d¡| 	|jj
 ¡d¡| 	|jjt
j¡dS)Nrrrîz/supervisord: ERROR (unknown error reading log)
)rrrrCrrIrOrðrãrrErFrUrrVrñr
r
rÚ"test_maintail_readlog_error_failedos


ÿz>TestDefaultControllerPlugin.test_maintail_readlog_error_failedcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@|rAzJTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrS~szCTestDefaultControllerPlugin.test_maintail_upcheck_failed.<locals>.frN)	rrr;rrBrCZreadLogrãrrÜr
rÛrÚtest_maintail_upcheck_failedzs
z8TestDefaultControllerPlugin.test_maintail_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS)Nzfg <process>)rZhelp_fgrrErFr3rÞr
r
rÚtest_fg_help„sz(TestDefaultControllerPlugin.test_fg_helpcCsV| ¡}| d¡}| |d¡|jj ¡ d¡}| |dd¡| |jjtj	¡dS)NrNr²rzERROR: no process name supplied©
rÚdo_fgrrrErFr¿rUrrVrÀr
r
rÚtest_fg_too_few_argsŠs
z0TestDefaultControllerPlugin.test_fg_too_few_argscCsL| ¡}| d¡}| |d¡|jj ¡}| |d¡| |jjtj¡dS)Nrz'ERROR: too many process names supplied
©	rr÷rrrErFrUrrV©rrlrr"r
r
rÚtest_fg_too_many_args’s
z1TestDefaultControllerPlugin.test_fg_too_many_argscCsL| ¡}| d¡}| |d¡|jj ¡}| |d¡| |jjtj¡dS)NrÐz!ERROR: bad process name supplied
rùrúr
r
rÚtest_fg_badprocnamešs
z/TestDefaultControllerPlugin.test_fg_badprocnamecCs„| ¡}| d¡}| |d¡|jj ¡}| |d¡| d¡}|jj ¡ d¡}| |d¡| |dd¡| |jjtj	¡dS)NròzERROR: process not running
Zbaz_01r²éþÿÿÿzERROR: process not runningrö)rrlrr"rÁr
r
rÚtest_fg_procnotrunning¢s

z2TestDefaultControllerPlugin.test_fg_procnotrunningcsL| ¡}dd„|j_g‰‡fdd„}||jjjj_| d¡| ˆg¡dS)NcSsdSrr
r
r
r
rr@°rAzDTestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.<lambda>csˆ d¡dSr'rÙrPrÛr
rrS²sz=TestDefaultControllerPlugin.test_fg_upcheck_failed.<locals>.fr¸)	rrr;rrBrCrÞr÷rrÜr
rÛrÚtest_fg_upcheck_failed®s
z2TestDefaultControllerPlugin.test_fg_upcheck_failedcCs.| ¡}| ¡|jj ¡}| d|k¡dS©NzExit the supervisor shell)rZ	help_exitrrErFr3rÞr
r
rÚtest_exit_help¸sz*TestDefaultControllerPlugin.test_exit_helpcCs.| ¡}| ¡|jj ¡}| d|k¡dSr)rZ	help_quitrrErFr3rÞ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ÿrrrrrrr	r
rrrrrrrrrrr r!r$r%r'r(r*r,r/r1r3r4r5r6r7r8r;r<rBrCrErFrGrHrIrKrLrMrNrOrPrRrSrTrUrVrXrZr]r^r_r`rarbrdrerfrirmrnrorsrurvrwrzr~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ürþrÿrrr
r
r
rr»Ús:			

!	
			
		
		



		


 5)	


r»c@s$eZdZdd„Zdd„Zdd„ZdS)rçcCs
g|_dSr)rèr+r
r
rÚ__init__ÅszDummyListener.__init__cCs|j ||f¡dSr)rèrÚ)rÚurlrAr
r
rr[ÇszDummyListener.errorcCs
||_dSrr))rrr
r
rr,ÉszDummyListener.closeN)r-r.r/rr[r,r
r
r
rrçÄsrçc@seZdZdd„Zdd„ZdS)ÚDummyPluginFactorycKs
||_dSr©r)rrrRr
r
rrÍszDummyPluginFactory.__init__cCs|jj d¡dS)Nr—)rrEÚwrite©rrQr
r
rr˜ÐszDummyPluginFactory.do_helpN©r-r.r/rr˜r
r
r
rrÌsrc@seZdZdd„Zdd„ZdS)rcCsDd|_d|_d|_d|_d|_d|_tƒ|_d|_dt	ifg|_
dS)NrCzhttp://localhost:65532ZchrismZ123r
FZdummy)r8Z	serverurlZusernameZpasswordZhistory_filerirrBÚinteractiverZplugin_factoriesr+r
r
rrÔszDummyClientOptions.__init__cCs|jSr)rBr+r
r
rržßsz!DummyClientOptions.getServerProxyN)r-r.r/rržr
r
r
rrÓsrc@sLeZdZdZdd„Zdd„Zdd„Zdd	d
„Zdd„Zd
d„Z	ddd„Z
dS)rz
no help on %scCs ||_g|_tƒ|_tj|_dSr)rr¶rrErrþrUr7r
r
rräszDummyController.__init__cCsdSr'r
r+r
r
rr;êszDummyController.upcheckcCs
| d¡S)NrC)r£r+r
r
rríszDummyController.get_supervisorNcCs$|j ¡}|dkr|St||ƒSdSr)rržÚgetattr)rÚ	namespacer r
r
rr£ðs
z DummyController.get_server_proxycCs|j |d¡dS)Nr²)rEr)rÚdatar
r
rra÷szDummyController.outputcCs|j ||||f¡dSr)r¶rÚ)rZdoc_headersZcmds_docZrowsZcolsr
r
rÚprint_topicsúszDummyController.print_topicscCs<ddlm}||tjjfkrn||kr0tj|_ntj|_dS)Nr)ÚDEAD_PROGRAM_FAULTS)	rrrrIrþrrdrUrV)rZ	faultcodeZignored_faultcoderr
r
rÚ set_exitstatus_from_xmlrpc_faultýs
z0DummyController.set_exitstatus_from_xmlrpc_fault)N)N)r-r.r/r•rr;rr£rarrr
r
r
rrâs
rc@seZdZddd„Zdd„ZdS)rhNcCs
||_dSrr)rr:r
r
rrszDummyPlugin.__init__cCs
d|_dSr')rkrr
r
rr˜
szDummyPlugin.do_help)Nr	r
r
r
rrhs
rhcCst tjt¡Sr)ÚunittestZ
findTestCasesÚsysÚmodulesr-r
r
r
rÚ
test_suite
srÚ__main__)ZdefaultTest)rrrCrZsupervisor.compatrrrrrZsupervisor.tests.baserZTestCaser	r5r­r»rçrrrrhrr-Úmainr
r
r
rÚ<module>s>?uu$