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__/base.cpython-36.opt-1.pyc
3

�k�`%��@sTdZdZddlZddlZddlZddlmZddlmZyddlm	Z	m
Z
mZWn(ek
rxddl
m	Z	m
Z
mZYnXyddlj
Z
Wnek
r�ddl
Z
YnXGdd�d�ZGd	d
�d
�ZGdd�d�ZGd
d�d�ZGdd�d�ZGdd�d�ZejGdd�de��ZGdd�d�ZdFdd�ZdGdd�ZGdd�d�ZGdd�d�ZGd d!�d!�ZGd"d#�d#e�ZGd$d%�d%�ZGd&d'�d'�ZGd(d)�d)�Z Gd*d+�d+�Z!Gd,d-�d-�Z"Gd.d/�d/e"�Z#ejGd0d1�d1e��Z$Gd2d3�d3e$�Z%Gd4d5�d5e�Z&Gd6d7�d7�Z'Gd8d9�d9�Z(Gd:d;�d;�Z)Gd<d=�d=�Z*d>d?�Z+d@dA�Z,dBdC�Z-dDdE�Z.dS)Hi�p�Dz%b %d %I:%M %p�N)�Fault)�as_bytes)�Mock�patch�sentinelc@s�eZdZdZdZdZdZdZdZdZ	dZ
dZdd�Zdd�Z
dd	�ZdZdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z d/d0�Z!d1d2�Z"d[d3d4�Z#d5d6�Z$d7d8�Z%d9d:�Z&d;d<�Z'd=d>�Z(d?d@�Z)dAdB�Z*dCdD�Z+dEdF�Z,dGdH�Z-dIdJ�Z.dKdL�Z/dMdN�Z0dOdP�Z1dQdR�Z2d\dTdU�Z3dVdW�Z4dXdY�Z5dS)]�DummyOptions��NcCs\d|_d|_d|_|j�|_d|_d|_d|_d|_i|_	g|_
d|_i|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_i|_d|_d|_d|_d|_ d|_!i|_"i|_#g|_$d|_%d|_&d|_'d|_(d|_)d|_*d|_+d	|_,g|_-g|_.d|_/d
|_0g|_1g|_2g|_3d|_4d|_5d|_6t7|�|_8d|_9dS)
N�
supervisorz/tmpi��
z/tmp/logfileF�rz/foo/bar�zhttp://localhost:9001)NN):Z
identifierZchildlogdir�uid�	getLogger�loggerZbackofflimitZlogfileZ	nocleanupZ
strip_ansiZ
pidhistoryZprocess_group_configsZnodaemon�
socket_map�moodZ
mustreopen�realizeargs�fds_cleaned_upZ
rlimit_set�
setuid_called�httpservers_opened�signals_set�
daemonizedZmake_logger_messages�autochildlogdir_cleared�
cleaned_up�pidfile_written�	directory�waitpid_return�kills�_signal�parent_pipes_closed�child_pipes_closed�forkpid�pgrp_set�duped�written�
fds_closed�	_exitcode�
execve_called�
execv_args�
setuid_msg�privsdropped�
logs_reopened�write_accept�
tempfile_name�removed�existing�
openreturn�
readfd_result�parse_criticalsZparse_warnings�parse_infos�	serverurl�changed_directory�umaskset�DummyPollerZpollerZsilent)�self�r:�/usr/lib/python3.6/base.py�__init__%sp

zDummyOptions.__init__cOst�}t�g|_||f|_|S)N)�DummyLoggerZhandlers�args)r9r>�kwrr:r:r;r_s

zDummyOptions.getLoggercKs||_||_dS)N)rZ	realizekw)r9r>r?r:r:r;�realizeeszDummyOptions.realizeTcCsdS)Nr:)r9Zdo_usager:r:r;�process_configiszDummyOptions.process_configcCs
d|_dS)NT)r)r9r:r:r;�cleanup_fdslszDummyOptions.cleanup_fdscCsd|_|jjd�dS)NT�rlimits_set)rCr4�append)r9r:r:r;�set_rlimits_or_exitosz DummyOptions.set_rlimits_or_exitcCsd|_|jjd�dS)NTr)rr3rD)r9r:r:r;�set_uid_or_exitsszDummyOptions.set_uid_or_exitcCs
d|_dS)NT)r)r9�supervisordr:r:r;�openhttpserverswszDummyOptions.openhttpserverscCs
d|_dS)NT)r)r9r:r:r;�	daemonizezszDummyOptions.daemonizecCs
d|_dS)NT)r)r9r:r:r;�
setsignals}szDummyOptions.setsignalscCs|jS)N)r)r9r:r:r;�
get_signal�szDummyOptions.get_signalcCs|jS)N)r)r9r:r:r;�get_socket_map�szDummyOptions.get_socket_mapcCsdS)Nr:)r9r:r:r;�make_logger�szDummyOptions.make_loggercCs
d|_dS)NT)r)r9r:r:r;�clear_autochildlogdir�sz"DummyOptions.clear_autochildlogdircGs|jS)N)r.)r9Zignoredr:r:r;�get_autochildlog_name�sz"DummyOptions.get_autochildlog_namecCs
d|_dS)NT)r)r9r:r:r;�cleanup�szDummyOptions.cleanupcCs
d|_dS)NT)r)r9r:r:r;�
write_pidfile�szDummyOptions.write_pidfilecCs|jS)N)r)r9r:r:r;�waitpid�szDummyOptions.waitpidcCs|jdk	r|j�||j|<dS)N)�kill_exceptionr)r9�pidZsigr:r:r;�kill�s
zDummyOptions.killcCsddl}|j|�S)Nr)�os�stat)r9�filenamerVr:r:r;rW�szDummyOptions.statcCs
dddgS)Nz/binz/usr/binz/usr/local/binr:)r9r:r:r;�get_path�szDummyOptions.get_pathcCsddl}|j�S)Nr)rV�getpid)r9rVr:r:r;�get_pid�szDummyOptions.get_pidcCs |dkrddlm}|d��dS)Nz
/bad/filenamer)�NotFoundzbad filename)Zsupervisor.optionsr\)r9rX�argv�str\r:r:r;�check_execv_args�szDummyOptions.check_execv_argscCsH|jdk	r|j�ddddd�}|r4d
\|d<|d	<nd\|d<|d	<|S)N��r	�)Zchild_stdin�stdin�stdoutZchild_stdout���stderrZchild_stderr)rerf)NN)�make_pipes_exception)r9rg�pipesr:r:r;�
make_pipes�s
zDummyOptions.make_pipescCsH|jdk	r|j�|jr ||j}|jj|d�}||7}||j|<t|�S)Nr
)�write_exceptionr-r%�
setdefault�len)r9�fd�chars�datar:r:r;�write�s


zDummyOptions.writecCs|jdk	r|j�|jS)N)�fork_exceptionr")r9r:r:r;�fork�s
zDummyOptions.forkcCs|jj|�dS)N)r&rD)r9rnr:r:r;�close_fd�szDummyOptions.close_fdcCs
||_dS)N)r )r9rir:r:r;�close_parent_pipes�szDummyOptions.close_parent_pipescCs
||_dS)N)r!)r9rir:r:r;�close_child_pipes�szDummyOptions.close_child_pipescCs
d|_dS)NT)r#)r9r:r:r;�setpgrp�szDummyOptions.setpgrpcCs||j|<dS)N)r$)r9ZfrmZtor:r:r;�dup2�szDummyOptions.dup2cCs
||_dS)N)r')r9�coder:r:r;�_exit�szDummyOptions._exitcCs*d|_|jdk	r|j�||f|_||_dS)NT)r(�execv_exceptionr)Zexecv_environment)r9rXr]�environmentr:r:r;�execve�s


zDummyOptions.execvecCs|jr|jS||_dS)N)r*r+)r9rr:r:r;�drop_privileges�szDummyOptions.drop_privilegescCs|jS)N)r2)r9rnr:r:r;�readfd�szDummyOptions.readfdcCs
d|_dS)NT)r,)r9r:r:r;�
reopenlogs�szDummyOptions.reopenlogscCs|jS)N)r.)r9�prefix�suffix�dirr:r:r;�
mktempfile�szDummyOptions.mktempfilecCs(ddl}|jdk	r|j�|jj|�dS)Nr)rV�remove_exceptionr/rD)r9�pathrVr:r:r;�remove�s
zDummyOptions.removecCs||jkrdSdS)NTF)r0)r9r�r:r:r;�exists�s
zDummyOptions.exists�rcCs|jr|jSt||�S)N)r1�open)r9�name�moder:r:r;r��szDummyOptions.opencCs|jdk	r|j�d|_dS)NT)�chdir_exceptionr6)r9r�r:r:r;�chdir�s
zDummyOptions.chdircCs
||_dS)N)r7)r9�maskr:r:r;�setumaskszDummyOptions.setumask)T)T)r�)6�__name__�
__module__�__qualname__ZloglevelZminfdsr�rrr{rSrhr�rkr<rr@rArBrErFrHrIrJrKrLrMrNrOrPrQrRrUrWrYr[r_rjrqrsrtrurvrwrxrzr}r~rr�r�r�r�r�r�r�r:r:r:r;rsf:




rc@speZdZdZdd�Zdd�ZeZZZZ	Z
Zdd�Zdd	�Z
d
d�Zdd
�Zdd�Zdd�Zdd�ZdS)r=NcCsd|_d|_d|_g|_dS)NF)�reopenedr/�closedrp)r9r:r:r;r<szDummyLogger.__init__cKs|r||}|jj|�dS)N)rprD)r9�msgr?r:r:r;�infoszDummyLogger.infocKs|r||}|jj|�dS)N)rprD)r9�levelr�r?r:r:r;�logszDummyLogger.logcCs|j�dS)N)�close)r9Zhandlerr:r:r;�
addHandlerszDummyLogger.addHandlercCs
d|_dS)NT)r�)r9r:r:r;�reopenszDummyLogger.reopencCs
d|_dS)NT)r�)r9r:r:r;r�szDummyLogger.closecCs
d|_dS)NT)r/)r9r:r:r;r� szDummyLogger.removecCs
d|_dS)NT)�flushed)r9r:r:r;�flush"szDummyLogger.flushcCsdj|j�S)Nr
)�joinrp)r9r:r:r;�getvalue$szDummyLogger.getvalue)r�r�r�r�r<r��warn�debugZcriticalZtrace�errorZblatherr�r�r�r�r�r�r�r:r:r:r;r=sr=c@seZdZddd�Zdd�ZdS)�DummySupervisorNcCsZ|dkrt�|_n||_|dkr8ddlm}|j|j_n||j_|dkrPi|_n||_dS)Nr)�SupervisorStates)r�optionsZsupervisor.supervisordr��RUNNINGr�process_groups)r9r��stater�r�r:r:r;r<(s
zDummySupervisor.__init__cCs|jjS)N)r�r)r9r:r:r;�	get_state7szDummySupervisor.get_state)NNN)r�r�r�r<r�r:r:r:r;r�'s
r�c@sPeZdZdZdZdZdZdZdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dS)�DummySocketFNcCs
||_dS)N)rn)r9rnr:r:r;r<AszDummySocket.__init__cCs|jS)N)rn)r9r:r:r;�filenoDszDummySocket.filenocCsd|_||_dS)NT)�bind_called�	bind_addr)r9�addrr:r:r;�bindGszDummySocket.bindcCsd|_||_dS)NT)�
listen_called�listen_backlog)r9�backlogr:r:r;�listenKszDummySocket.listencCs
d|_dS)NT)�close_called)r9r:r:r;r�OszDummySocket.closecCsdS)Nzdummy socketr:)r9r:r:r;�__str__RszDummySocket.__str__)r�r�r�r�r�r�r�r�r<r�r�r�r�r�r:r:r:r;r�:sr�c@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�DummySocketConfig�cCs||_||_d|_dS)Nzunix:///sock)rnr�Zurl)r9rnr�r:r:r;r<VszDummySocketConfig.__init__cCsdS)Nz
dummy addrr:)r9r:r:r;r�[szDummySocketConfig.addrcCs|j|jkS)N)rn)r9�otherr:r:r;�__eq__^szDummySocketConfig.__eq__cCs|j|�S)N)r�)r9r�r:r:r;�__ne__aszDummySocketConfig.__ne__cCs|jS)N)r�)r9r:r:r;�get_backlogdszDummySocketConfig.get_backlogcCs
t|j�S)N)r�rn)r9r:r:r;�create_and_bindgsz!DummySocketConfig.create_and_bindN)r�)	r�r�r�r<r�r�r�r�r�r:r:r:r;r�Us
r�c@s$eZdZdd�Zdd�Zdd�ZdS)�DummySocketManagercKs
||_dS)N)�_config)r9�config�kwargsr:r:r;r<kszDummySocketManager.__init__cCs|jS)N)r�)r9r:r:r;r�nszDummySocketManager.configcCst|jj�S)N)r�r�rn)r9r:r:r;�
get_socketqszDummySocketManager.get_socketN)r�r�r�r<r�r�r:r:r:r;r�jsr�c@seZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
dZdZdZdZdZdZdZdZdZdZdZdZd/dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$dd�Z%dd�Z&dd �Z'd!d"�Z(d#d$�Z)d%d&�Z*d'd(�Z+d)d*�Z,d+d,�Z-d-d.�Z.dS)0�DummyProcessNrFr
cCs�||_d|_d|_d|_d|_d|_|dkr>ddlm}|j}||_	d|_
d|_d|_t
d�|_t
d�|_t
d�|_t
d�|_t
d�|_i|_i|_i|_d|_d|_d|_d|_d|_d|_dS)NFTr)�
ProcessStatesr
)r��logsremoved�stop_called�stop_report_calledZbackoff_secs�spawned�supervisor.processr�r�r��error_at_clear�killed_with�drainedr�
stdout_buffer�
stderr_buffer�
stdout_logged�
stderr_logged�stdin_bufferri�rpipes�dispatchers�finishedr,�execv_arg_exception�input_fd_drained�output_fd_drained�transitioned)r9r�r�r�r:r:r;r<�s6




zDummyProcess.__init__cCs
d|_dS)NT)r,)r9r:r:r;r��szDummyProcess.reopenlogscCs|jrtd��d|_dS)N�whateverT)r��IOErrorr�)r9r:r:r;�
removelogs�szDummyProcess.removelogscCs|jS)N)r�)r9r:r:r;r��szDummyProcess.get_statecCs$d|_d|_ddlm}|j|_dS)NTFr)r�)r��killingr�r��STOPPEDr�)r9r�r:r:r;�stop�szDummyProcess.stopcCs
d|_dS)NT)r�)r9r:r:r;�stop_report�szDummyProcess.stop_reportcCs
||_dS)N)r�)r9�signalr:r:r;rU�szDummyProcess.killcCs
||_dS)N)�sent_signal)r9r�r:r:r;r��szDummyProcess.signalcCsd|_ddlm}|j|_dS)NTr)r�)r�r�r�r�r�)r9r�r:r:r;�spawn�szDummyProcess.spawncCs
d|_dS)NT)r�)r9r:r:r;�drain�szDummyProcess.draincCsgS)Nr:)r9r:r:r;�readable_fds�szDummyProcess.readable_fdscCs0|j|j7_d|_|j|j7_d|_dS)Nr
)r�r�r�r�)r9r:r:r;�
record_output�szDummyProcess.record_outputcCs||f|_dS)N)r�)r9rT�stsr:r:r;�finish�szDummyProcess.finishcCsddlm}|j|_dS)Nr)r�)r�r��FATALr�)r9r�r:r:r;�give_up�szDummyProcess.give_upcCs6|jr|jd��ddl}|j|jj�}|d}||fS)Nr�r)r��shlex�splitr��command)r9r�ZcommandargsZprogramr:r:r;�get_execv_args�s
zDummyProcess.get_execv_argscCs
||_dS)N)r�)r9rnr:r:r;�drain_output_fd�szDummyProcess.drain_output_fdcCs
||_dS)N)r�)r9rnr:r:r;�drain_input_fd�szDummyProcess.drain_input_fdcCs"|jdk	r|j�|j|7_dS)N)rkr�)r9ror:r:r;rq�s
zDummyProcess.writecCs
d|_dS)NT)r�)r9r:r:r;�
transition�szDummyProcess.transitioncCs|jj|jjkS)N)r��priority)r9r�r:r:r;r��szDummyProcess.__eq__cCs|jj|jjkS)N)r�r�)r9r�r:r:r;�__lt__�szDummyProcess.__lt__)N)/r�r�r�rkrTZ	laststartZlaststopZdelayZadministrative_stopZsystem_stopr�ZbackoffZ
waitstatusZ
exitstatusrir�r�r�r��spawnerrr�r�r�Zlistener_state�groupr�r<r�r�r�r�r�rUr�r�r�r�r�r�r�r�r�r�rqr�r�r�r:r:r:r;r�tsX
r�c@s8eZdZddd�Zd	d
�Zdd�Zdd
d�Zdd�ZdS)�DummyPConfigN��TrrFc !Cs�||_||_||_||_||_||_|	|_|
|_||_||_	|
|_
||_||_||_
||_||_||_||_||_||_||_||_|dkr�ddl} | j}||_||_||_||_||_||_||_||_d|_ ||_!dS)NrF)"r�r�r�r��	autostart�autorestart�	startsecs�startretriesr�stdout_logfile�stdout_capture_maxbytes�stdout_events_enabled�stdout_logfile_backups�stdout_logfile_maxbytes�
stdout_syslog�stderr_logfile�stderr_capture_maxbytes�stderr_events_enabled�stderr_logfile_backups�stderr_logfile_maxbytes�
stderr_syslog�redirect_stderrr��SIGTERM�
stopsignal�stopwaitsecs�stopasgroup�killasgroup�	exitcodesr|r�umask�autochildlogs_createdr5)!r9r�r�r�rrr�r�r�r�r�rr�r�r�r�r�rrrrrrrrr	r
rrr
r|r5r�r:r:r;r<�sFzDummyPConfig.__init__cCs
dddgS)Nz/binz/usr/binz/usr/local/binr:)r9r:r:r;rY0szDummyPConfig.get_pathcCs
d|_dS)NT)r)r9r:r:r;�create_autochildlogs3sz!DummyPConfig.create_autochildlogscCst|�}||_|S)N)r�r�)r9r��processr:r:r;�make_process6szDummyPConfig.make_processcCs~|j}|jj|�}|d|d|d}}}i}|dk	rJtdd�||<|dk	r`tdd�||<|dk	rvtdd�||<||fS)NrdrgrcT)�readable)�writable)rr�rj�DummyDispatcher)r9�procZ
use_stderrriZ	stdout_fdZ	stderr_fdZstdin_fdr�r:r:r;�make_dispatchers;szDummyPConfig.make_dispatchers�r)NNr�TTrr�NNrFrrFNrFrrFFNrFFrNN)N)r�r�r�r<rYrrrr:r:r:r;r��s$
%
r�c

Cs�ddl}ddl}ddl}|dkr$i}t|�j�}|jj|�d}|j|d<x(|j�D]}|j	d|j
�||�}qTW|j|d�}t|d��}	|	j|�WdQRX|j
|d�|S)Nrr�PYTHONz<<%s>>)r��wi�)rV�sys�tempfiler��readr�r��
executable�keys�replace�upperZmktemprq�chmod)
�fileZ
substitutionsrVrrrpZlast�keyZtmpnam�fr:r:r;�makeExecutableIs
r&FcCs<ddl}|jjt�}|s*t|jj|d��St|jj|d��S)Nrzfixtures/spew.pyzfixtures/unkillable_spew.py)rVr��dirname�__file__r&r�)Z
unkillablerV�herer:r:r;�makeSpew]s
r*c@seZdZdd�Zdd�ZdS)�DummyMedusaServerLoggercCs
g|_dS)N)�logged)r9r:r:r;r<esz DummyMedusaServerLogger.__init__cCs|jj||f�dS)N)r,rD)r9�categoryr�r:r:r;r�gszDummyMedusaServerLogger.logN)r�r�r�r<r�r:r:r:r;r+dsr+c@seZdZdd�ZdS)�DummyMedusaServercCst�|_dS)N)r+r)r9r:r:r;r<kszDummyMedusaServer.__init__N)r�r�r�r<r:r:r:r;r.jsr.c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�DummyMedusaChannelcCst�|_d|_dS)N)r.Zserver�producer)r9r:r:r;r<oszDummyMedusaChannel.__init__cCs
||_dS)N)r0)r9r0r:r:r;�push_with_producerssz%DummyMedusaChannel.push_with_producercCsdS)Nr:)r9r:r:r;�close_when_donevsz"DummyMedusaChannel.close_when_donecCsdS)Nr:)r9�
terminatorr:r:r;�set_terminatorysz!DummyMedusaChannel.set_terminatorN)r�r�r�r<r1r2r4r:r:r:r;r/nsr/c@s�eZdZdZdZdZdZd!dd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �ZdS)"�DummyRequestZGETNFz1.0cCsH||||f|_g|_i|_g|_g|_t�|_|dkr>i|_n||_dS)N)r>�	producers�headers�headerZoutgoingr/�channel�env)r9r�ZparamsZqueryZfragmentr:r:r:r;r<�szDummyRequest.__init__cCs|jS)N)r>)r9r:r:r;�	split_uri�szDummyRequest.split_uricCs
||_dS)N)�_error)r9ryr:r:r;r��szDummyRequest.errorcCs|jj|�dS)N)r6rD)r9r0r:r:r;�push�szDummyRequest.pushcCs||j|<dS)N)r7)r9r8�valuer:r:r;�__setitem__�szDummyRequest.__setitem__cCs
|j|S)N)r7)r9r8r:r:r;�__getitem__�szDummyRequest.__getitem__cCs|j|=dS)N)r7)r9r8r:r:r;�__delitem__�szDummyRequest.__delitem__cCs
||jkS)N)r7)r9r8r:r:r;�has_key�szDummyRequest.has_keycCs
||jkS)N)r7)r9�itemr:r:r;�__contains__�szDummyRequest.__contains__cCs
d|_dS)NT)�_done)r9r:r:r;�done�szDummyRequest.donecCsdS)Nr
r:)r9r:r:r;�build_reply_header�szDummyRequest.build_reply_headercOsdS)Nr:)r9�argr?r:r:r;r��szDummyRequest.logcCs|jS)N)r:)r9r:r:r;�cgi_environment�szDummyRequest.cgi_environmentcCsdS)Nzhttp://example.comr:)r9r:r:r;�get_server_url�szDummyRequest.get_server_url)N)r�r�r�r�r<rE�versionr<r;r�r=r?r@rArBrDrFrGr�rIrJr:r:r:r;r5|s$
r5c@seZdZdd�ZdS)�DummyRPCInterfaceFactorycKs||_||_dS)N)rGr�)r9rGr�r:r:r;r<�sz!DummyRPCInterfaceFactory.__init__N)r�r�r�r<r:r:r:r;rL�srLc@seZdZdd�ZdS)�DummyRPCServercCst�|_t�|_dS)N)�DummySupervisorRPCNamespacer
�DummySystemRPCNamespace�system)r9r:r:r;r<�szDummyRPCServer.__init__N)r�r�r�r<r:r:r:r;rM�srMc@seZdZdS)rON)r�r�r�r:r:r:r;rO�srOc
@szeZdZdZdZdZdZddlmZdddej	de
ddd	e
d
d�
ddd
ejde
de
dde
dd�
dddejde
de
dd	e
dd�
gZ
dd�ZeZdd�Zdd�Zdd�ZeZd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Z d:d;�Z!d<d=�Z"e"Z#e"Z$e"Z%d>d?�Z&d@dA�Z'dBdC�Z(dDdE�Z)dFdG�Z*dHdI�Z+dJdK�Z,dLdM�Z-dNS)OrNTFr)r��foo�r��dr
zfoo description)
r�r�rTr�Z	statename�startr�r�Znow�descriptionZbar�r��2Zscrewedzbar descriptionZbaz_01Zbaz�
r��zbaz descriptioncCsdS)Nz3.0r:)r9r:r:r;�
getAPIVersion�sz)DummySupervisorRPCNamespace.getAPIVersioncCsdS)N�*r:)r9r:r:r;�getPID�sz"DummySupervisorRPCNamespace.getPIDcCsjddlm}|dkr$t|jjd��n.|dkr<t|jjd��n|dkrRt|jjd��|dd}||d�S)Nr)�xmlrpc�BAD_NAME�FAILED�NO_FILEz line
r)r
r]r�Faultsr^r_r`)r9r9r��offset�lengthr]�ar:r:r;�	_read_log�sz%DummySupervisorRPCNamespace._read_logcCs|jd|||�S)Nrd)re)r9r�rbrcr:r:r;�readProcessStdoutLogsz0DummySupervisorRPCNamespace.readProcessStdoutLogcCs|jd|||�S)Nrg)re)r9r�rbrcr:r:r;�readProcessStderrLogsz0DummySupervisorRPCNamespace.readProcessStderrLogcCs|jS)N)�all_process_info)r9r:r:r;�getAllProcessInfosz-DummySupervisorRPCNamespace.getAllProcessInfocCsvddlm}x"|jD]}|d|kr|}|SqW|dkrFt|jjd��|dkr\t|jjd��|dkrrt|jjd��dS)Nr)r]r�r^r_r`)r
r]rhrrar^r_r`)r9r�r]�ir�r:r:r;�getProcessInfosz*DummySupervisorRPCNamespace.getProcessInfocCs�ddlm}|dkr"t|jjd��|dkr8t|jjd��|dkrNt|jjd��|dkrdt|jjd��|dkrzt|jjd��|dkr�t|jjd��|d	kr�t|jj	d	��d
S)Nr)r]zBAD_NAME:BAD_NAMEr^r`�NOT_EXECUTABLE�ALREADY_STARTED�SPAWN_ERROR�ABNORMAL_TERMINATIONT)
r
r]rrar^r`rlrmrnro)r9r�r]r:r:r;�startProcesss"z(DummySupervisorRPCNamespace.startProcesscCsRddlm}ddlm}|dkr.||jjd��dd|jjdd�d	d|jjdd�gS)
Nr)r])rr^�foo_00rQ�OK)r�r��statusrU�foo_01)r
r]�supervisor.compatrrar^�SUCCESS)r9r�r]rr:r:r;�startProcessGroup.sz-DummySupervisorRPCNamespace.startProcessGroupcCs@ddlm}dd|jjdd�dd|jjdd�dd|jjd	d�gS)
Nr)r]rQrr)r�r�rsrU�foo2�failed�failed_grouprn)r
r]rarvrn)r9r]r:r:r;�startAllProcesses<sz-DummySupervisorRPCNamespace.startAllProcessescCsRddlm}ddlm}|dkr.||jjd��dd|jjdd�d	d|jjdd�gS)
Nr)r])rr^rqrQrr)r�r�rsrUrt)r
r]rurrar^rv)r9r�r]rr:r:r;�stopProcessGroupJsz,DummySupervisorRPCNamespace.stopProcessGroupcCshddlm}|dkr"t|jjd��|dkr8t|jjd��|dkrNt|jjd��|dkrdt|jjd��dS)Nr)r]zBAD_NAME:BAD_NAMEr^�NOT_RUNNINGr_T)r
r]rrar^r}r_)r9r�r]r:r:r;�stopProcessXsz'DummySupervisorRPCNamespace.stopProcesscCs@ddlm}dd|jjdd�dd|jjdd�dd|jjd	d�gS)
Nr)r]rQrr)r�r�rsrUrxryrzr_)r
r]rarvr^)r9r]r:r:r;�stopAllProcessesesz,DummySupervisorRPCNamespace.stopAllProcessescCs.|jrd|_dSddlm}t|jjd��dS)NTr)r]r
)�_restartable�
_restartedr
r]rra�SHUTDOWN_STATE)r9r]r:r:r;�restartrs
z#DummySupervisorRPCNamespace.restartcCs.|jrd|_dSddlm}t|jjd��dS)NTr)r]r
)r��	_shutdownr
r]rrar�)r9r]r:r:r;�shutdownys
z$DummySupervisorRPCNamespace.shutdowncCsdgdgdgggS)NZaddedZchangedr/r:)r9r:r:r;�reloadConfig�sz(DummySupervisorRPCNamespace.reloadConfigcCs�ddlm}|dkr"t|jjd��|dkr8t|jjd��|dkrNt|jjd��|dkrdt|jjd��t|d�r||j	j
|�n|g|_	dS)	Nr)r]�
ALREADY_ADDEDr
r^r_r��	processes)r
r]rrar�r^r_r��hasattrr�rD)r9r�r]r:r:r;�addProcessGroup�s
z+DummySupervisorRPCNamespace.addProcessGroupcCs^ddlm}|dkr"t|jjd��|dkr8t|jjd��|dkrNt|jjd��|jj|�dS)Nr)r]�
STILL_RUNNINGr
r^r_)	r
r]rrar�r^r_r�r�)r9r�r]r:r:r;�removeProcessGroup�sz.DummySupervisorRPCNamespace.removeProcessGroupcCs&ddlm}|dkr"t|jjd��dS)Nr)r]r^T)r
r]rrar^)r9r�r]r:r:r;�clearProcessStdoutLog�sz1DummySupervisorRPCNamespace.clearProcessStdoutLogcCs@ddlm}dd|jjdd�dd|jjdd�dd|jjd	d�gS)
Nr)r]rQrr)r�r�rsrUrxryrzr_)r
r]rarvr_)r9r]r:r:r;�clearAllProcessLogs�sz/DummySupervisorRPCNamespace.clearAllProcessLogscCstd��dS)Nr�)�
ValueError)r9r:r:r;�
raiseError�sz&DummySupervisorRPCNamespace.raiseErrorcCsddiS)Nr�r:)r9r:r:r;�getXmlRpcUnmarshallable�sz3DummySupervisorRPCNamespace.getXmlRpcUnmarshallablecCsdS)NZ3000r:)r9r:r:r;�getSupervisorVersion�sz0DummySupervisorRPCNamespace.getSupervisorVersioncCs|jrt|jd��dS)Nr
Zmainlogdata)�_readlog_errorr)r9�whencerbr:r:r;�readLog�sz#DummySupervisorRPCNamespace.readLogcCsFddlm}|dkr"t|jjd��dd|jjdd�dd|jjdd�gS)	Nr)r]r^rqrQrr)r�r�rsrUrt)r
r]rrar^rv)r9r�r�r]r:r:r;�signalProcessGroup�sz.DummySupervisorRPCNamespace.signalProcessGroupcCs~ddlm}|dkr"t|jjd��|dkr8t|jjd��|dkrNt|jjd��|dkrdt|jjd��|dkrzt|jjd��dS)	Nr)r]�
BAD_SIGNALzBAD_NAME:BAD_NAMEr^r}r_T)r
r]rrar�r^r}r_)r9r�r�r]r:r:r;�
signalProcess�sz)DummySupervisorRPCNamespace.signalProcesscCs@ddlm}dd|jjdd�dd|jjdd�dd|jjd	d�gS)
Nr)r]rQrr)r�r�rsrUrxryrzr_)r
r]rarvr^)r9r�r]r:r:r;�signalAllProcesses�sz.DummySupervisorRPCNamespace.signalAllProcessesN).r�r�r�r�r�r�r�r�r�r��_NOWr�r�rhrZZ
getVersionr\rerfZreadProcessLogrgrirkrprwr{r|r~rr�r�r�r�r�r�ZclearProcessLogZclearProcessStderrLogZclearProcessLogsr�r�r�r�r�r�r�r�r:r:r:r;rN�s�




rNc@s.eZdZddd�Zdd�Zdd	�Zd
d�ZdS)
�DummyPGroupConfigr���NcCs:||_||_||_|dkrg}||_d|_g|_d|_dS)NFr)r�r�r�Zprocess_configs�after_setuid_calledZpool_events�buffer_size)r9r�r�r��pconfigsr:r:r;r<�szDummyPGroupConfig.__init__cCs
d|_dS)NT)r�)r9r:r:r;�after_setuidszDummyPGroupConfig.after_setuidcCst|�S)N)�DummyProcessGroup)r9r:r:r;�
make_groupszDummyPGroupConfig.make_groupcCsd|jt|�|jfS)Nz<%s instance at %s named %s>)�	__class__�idr�)r9r:r:r;�__repr__szDummyPGroupConfig.__repr__)r�r�N)r�r�r�r<r�r�r�r:r:r:r;r��s
r�c@s"eZdZddded�fdd�ZdS)�DummyFCGIGroupConfigr�i�NrcCstj|||||�||_dS)N)r�r<�
socket_config)r9r�r�r�r�r�r:r:r;r<szDummyFCGIGroupConfig.__init__)r�r�r�r�r<r:r:r:r;r�
sr�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)r�cCs(||_d|_d|_i|_g|_d|_dS)NF)r�r��all_stoppedr��unstopped_processes�before_remove_called)r9r�r:r:r;r<szDummyProcessGroup.__init__cCs
d|_dS)NT)r�)r9r:r:r;r�szDummyProcessGroup.transitioncCs
d|_dS)NT)r�)r9r:r:r;�
before_removeszDummyProcessGroup.before_removecCs
d|_dS)NT)r�)r9r:r:r;�stop_allszDummyProcessGroup.stop_allcCs|jS)N)r�)r9r:r:r;�get_unstopped_processes"sz)DummyProcessGroup.get_unstopped_processescCs|jS)N)r�)r9r:r:r;�get_dispatchers%sz!DummyProcessGroup.get_dispatcherscCs|jj|jjkS)N)r�r�)r9r�r:r:r;r�(szDummyProcessGroup.__lt__cCs|jj|jjkS)N)r�r�)r9r�r:r:r;r�+szDummyProcessGroup.__eq__cCs
d|_dS)NT)r,)r9r:r:r;r�.szDummyProcessGroup.reopenlogsN)r�r�r�r<r�r�r�r�r�r�r�r�r:r:r:r;r�sr�c@seZdZdd�ZdS)�DummyFCGIProcessGroupcCstj||�t|j�|_dS)N)r�r<r�r�Zsocket_manager)r9r�r:r:r;r<3szDummyFCGIProcessGroup.__init__N)r�r�r�r<r:r:r:r;r�1sr�c@s&eZdZdd�Zddd�Zdd�ZdS)	�PopulatedDummySupervisorc	Gsftj||�i|_i}||_t|||d�}t|�}||j|<x|D]}t|�}|||j<qBW||_dS)N)r�)	r�r<r��
group_namer�r�r�r�r�)	r9r�r�r�r�ZgconfigZpgroupZpconfigrr:r:r;r<8s

z!PopulatedDummySupervisor.__init__NcCs.|dkr|j}|j|j|}t|||�dS)N)r�r�r��setattr)r9Zprocess_nameZ	attr_name�valr�rr:r:r;�set_procattrEsz%PopulatedDummySupervisor.set_procattrcCs
d|_dS)NT)Zreaped)r9r:r:r;�reapKszPopulatedDummySupervisor.reap)N)r�r�r�r<r�r�r:r:r:r;r�7s
r�c@sneZdZdZdZdZdZdZdZdZ	dZ
ddd�Zdd�Zdd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�ZdS)rNFcsD|�_|�_|�_d�_|r@�fdd�}|�_�fdd�}|�_dS)Nr
cs
d�_dS)NT)r,r:)r9r:r;r�`sz,DummyDispatcher.__init__.<locals>.reopenlogscs
d�_dS)NT)�logs_removedr:)r9r:r;r�csz,DummyDispatcher.__init__.<locals>.removelogs)�	_readable�	_writabler<Zinput_bufferr�r�)r9rrr�r�r�r:)r9r;r<YszDummyDispatcher.__init__cCs|jS)N)r�)r9r:r:r;rgszDummyDispatcher.readablecCs|jS)N)r�)r9r:r:r;riszDummyDispatcher.writablecCs|jr|j�d|_dS)NT)r<�write_event_handled)r9r:r:r;�handle_write_eventksz"DummyDispatcher.handle_write_eventcCs|jr|j�d|_dS)NT)r<�read_event_handled)r9r:r:r;�handle_read_eventosz!DummyDispatcher.handle_read_eventcCs
d|_dS)NT)�
error_handled)r9r:r:r;�handle_errorsszDummyDispatcher.handle_errorcCs
d|_dS)NT)r�)r9r:r:r;r�uszDummyDispatcher.closecCs|jr|j�d|_dS)NT)�flush_exceptionr�)r9r:r:r;r�wszDummyDispatcher.flush)FFF)r�r�r�r�r�r�r�r,r�r�r�r<rrr�r�r�r�r�r:r:r:r;rNs 
rc@sHeZdZddd�Zdd�Zdd�Zd	d
�Zddd
�Zdd�Zdd�Z	dS)�DummyStreamNrcCs"||_d|_d|_d|_||_dS)NF�)r�r�r�r%�_fileno)r9r�r�r:r:r;r<}s
zDummyStream.__init__cCs|jr|j�d|_dS)NT)r�r�)r9r:r:r;r��szDummyStream.closecCs|jr|j�d|_dS)NT)r�r�)r9r:r:r;r��szDummyStream.flushcCs,|jr|j}d|_|�|jt|�7_dS)N)r�r%r)r9r�r�r:r:r;rq�s
zDummyStream.writercCsdS)Nr:)r9Znumr�r:r:r;�seek�szDummyStream.seekcCs
t|j�S)N)rmr%)r9r:r:r;�tell�szDummyStream.tellcCs|jS)N)r�)r9r:r:r;r��szDummyStream.fileno)Nr)r)
r�r�r�r<r�r�rqr�r�r�r:r:r:r;r�|s

r�c@seZdZddd�Zdd�ZdS)�
DummyEvent�abccCs|dk	r||_dS)N)�serial)r9r�r:r:r;r<�szDummyEvent.__init__cCsdS)Nzdummy eventr:)r9r:r:r;�payload�szDummyEvent.payloadN)r�)r�r�r�r<r�r:r:r:r;r��s
r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)r8cCsggf|_d|_dS)NF)�resultr�)r9r�r:r:r;r<�s
zDummyPoller.__init__cCsdS)Nr:)r9rnr:r:r;�register_readable�szDummyPoller.register_readablecCsdS)Nr:)r9rnr:r:r;�register_writable�szDummyPoller.register_writablecCs|jS)N)r�)r9Ztimeoutr:r:r;�poll�szDummyPoller.pollcCs
d|_dS)NT)r�)r9r:r:r;r��szDummyPoller.closeN)r�r�r�r<r�r�r�r�r:r:r:r;r8�s
r8cCsdS)Nr:)�eventr�r:r:r;�
dummy_handler�sr�cCsddlm}||��dS)Nr)�RejectEvent)Zsupervisor.dispatchersr�)r�r�r�r:r:r;�rejecting_handler�sr�cCst|��dS)N)r�)r�r�r:r:r;�exception_handler�sr�cCsdd�|jd�D�}dj|�S)NcSsg|]}|j��qSr:)�strip)�.0�xr:r:r;�
<listcomp>�szlstrip.<locals>.<listcomp>�
)r�r�)�sZstringsr:r:r;�lstrip�sr�)N)F)/r�Z_TIMEFORMAT�errno�	functoolsrVrurrZ
unittest.mockrrr�ImportErrorZmockrr=r�r�r�r��total_ordering�objectr�r�r&r*r+r.r/r5rLrMrOrNr�r�r�r�r�rr�r�r8r�r�r�r�r:r:r:r;�<module>sfm"
	L

94!.