HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/twisted/trial/_dist/__pycache__/workertrial.cpython-310.pyc
o

�b�
�@s�dZddlZddlZddlZdd�Zeej�ddlmZddlm	Z	m
Z
ddlmZm
Z
ddlmZGd	d
�d
�Zejfdd�Zed
krJe�dSdS)zj
Implementation of C{AMP} worker commands, and main executable entry point for
the workers.

@since: 12.3
�NcCs*d|vr|d�tj�tjdd�<dSdS)z�
    Override C{sys.path} with what the parent passed in B{TRIAL_PYTHONPATH}.

    @see: twisted.trial._dist.disttrial.DistTrialRunner.launchWorkerProcesses
    �TRIAL_PYTHONPATHN)�split�os�pathsep�sys�path)�environ�r	�A/usr/lib/python3/dist-packages/twisted/trial/_dist/workertrial.py�
_setupPaths�r)�FileWrapper)�startLoggingWithObserver�textFromEventDict)�_WORKER_AMP_STDIN�_WORKER_AMP_STDOUT)�
WorkerOptionsc@s eZdZdZdd�Zdd�ZdS)�WorkerLogObserverzF
    A log observer that forward its output to a C{AMP} protocol.
    cCs
||_dS)zg
        @param protocol: a connected C{AMP} protocol instance.
        @type protocol: C{AMP}
        N)�protocol)�selfrr	r	r
�__init__*s
zWorkerLogObserver.__init__cCs6ddlm}t|�}|durdS|jj|j|d�dS)z'
        Produce a log output.
        r)�managercommandsN)�out)�twisted.trial._distrrr�
callRemote�	TestWrite)r�	eventDictr�textr	r	r
�emit1s
zWorkerLogObserver.emitN)�__name__�
__module__�__qualname__�__doc__rrr	r	r	r
r%src

Cst�}|��ddlm}||d�}|td�}|td�}|�t|��t|�}t	|j
d�	z|�d�}WntyQ}z|j
dtjkrLWYd	}~q.�d	}~ww|d
krWn|�|�|��tj��tj��q/|jr�t�d	�|j��}	|	jdd|��jd�d	Sd	S)z�
    Main function to be run if __name__ == "__main__".

    @param _fdopen: If specified, the function to use in place of C{os.fdopen}.
    @type _fdopen: C{callable}
    r)�WorkerProtocolzforce-gc�rb�wbFT�N�)�show_missing�summary�coverdir)r�parseOptions�twisted.trial._dist.workerr"rr�makeConnectionrrr
r�read�OSError�args�errno�EINTR�dataReceived�flushr�stdout�stderr�tracer�settrace�results�
write_resultsr)r)
�_fdopen�configr"�workerProtocol�
protocolIn�protocolOut�observer�r�er8r	r	r
�main=s@

��


�


��rB�__main__)r!r0rrrr�twisted.internet.protocolr�twisted.python.logr
rrrr�twisted.trial._dist.optionsrr�fdopenrBrr	r	r	r
�<module>s

-
�