HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/twisted/trial/_dist/__pycache__/workerreporter.cpython-38.pyc
U


W[��@sHdZddlmZddlmZddlmZddlmZGdd�de�Z	dS)	zZ
Test reporter forwarding test results over trial distributed AMP commands.

@since: 12.3
�)�Failure)�qual)�
TestResult)�managercommandscs�eZdZdZdZ�fdd�Zdd�Zdd�Z�fd	d
�Z�fdd�Z	�fd
d�Z
�fdd�Zdd�Zd�fdd�	Z
d�fdd�	Zdd�Z�ZS)�WorkerReportera
    Reporter for trial's distributed workers. We send things not through a
    stream, but through an C{AMP} protocol's C{callRemote} method.

    @ivar _DEFAULT_TODO: Default message for expected failures and
        unexpected successes, used only if a C{Todo} is not provided.
    zTest expected to failcstt|���||_dS)z�
        @param ampProtocol: The communication channel with the trial
            distributed manager which collects all test results.
        @type ampProtocol: C{AMP}
        N)�superr�__init__�ampProtocol)�selfr	��	__class__��D/usr/lib/python3/dist-packages/twisted/trial/_dist/workerreporter.pyrszWorkerReporter.__init__cCs&t|t�r"t|d|d|d�S|S)zX
        Convert a C{sys.exc_info()}-style tuple to a L{Failure}, if necessary.
        �r�)�
isinstance�tupler)r
�errorr
r
r�_getFailure(s
zWorkerReporter._getFailurecCs4g}|jD]$}|�|d|dt|d�g�q
|S)z<
        Extract frames from a C{Failure} instance.
        rrr)�frames�extend�str)r
�failurer�framer
r
r�
_getFrames1s
"zWorkerReporter._getFramescs.tt|��|�|��}|jjtj|d�dS)z&
        Send a success over.
        )�testNameN)rr�
addSuccess�idr	�
callRemoterZ
AddSuccess)r
�testrrr
rr;s

�zWorkerReporter.addSuccesscsftt|��||�|��}|�|�}|��}t|j�}dd�|�|�D�}|j	j
tj||||d�dS)z%
        Send an error over.
        cSsg|]}|�qSr
r
��.0rr
r
r�
<listcomp>Nsz+WorkerReporter.addError.<locals>.<listcomp>)rr�
errorClassrN)
rr�addErrorrr�getErrorMessager�typerr	rrZAddError)r
rrrrr#rrr
rr$Es


�zWorkerReporter.addErrorcsftt|��||�|��}|�|�}|��}t|j�}dd�|�|�D�}|j	j
tj||||d�dS)z&
        Send a Failure over.
        cSsg|]}|�qSr
r
r r
r
rr"_sz-WorkerReporter.addFailure.<locals>.<listcomp>)r�fail�	failClassrN)
rr�
addFailurerrr%rr&rr	rrZ
AddFailure)r
rr'rrr(rrr
rr)Vs


�zWorkerReporter.addFailurecs:tt|��||�t|�}|��}|jjtj||d�dS)z#
        Send a skip over.
        )r�reasonN)	rr�addSkiprrr	rrZAddSkip)r
rr*rrr
rr+gs
�zWorkerReporter.addSkipcCs|dkr|jS|jSdS)zj
        Get the reason for a C{Todo}.

        If C{todo} is L{None}, return a sensible default.
        N)�
_DEFAULT_TODOr*)r
�todor
r
r�_getTodoReasonsszWorkerReporter._getTodoReasonNcsDtt|��|||�|��}|��}|jjtj|||�	|�d�dS)z0
        Send an expected failure over.
        )rrr-N)
rr�addExpectedFailurer%rr	rrZAddExpectedFailurer.)r
rrr-ZerrorMessagerrr
rr/s
�z!WorkerReporter.addExpectedFailurecs8tt|��||�|��}|jjtj||�|�d�dS)z2
        Send an unexpected success over.
        )rr-N)	rr�addUnexpectedSuccessrr	rrZAddUnexpectedSuccessr.)r
rr-rrr
rr0�s
�z#WorkerReporter.addUnexpectedSuccesscCsdS)z*
        I{Don't} print a summary
        Nr
)r
r
r
r�printSummary�szWorkerReporter.printSummary)N)N)�__name__�
__module__�__qualname__�__doc__r,rrrrr$r)r+r.r/r0r1�
__classcell__r
r
rrrs
	


rN)
r5Ztwisted.python.failurerZtwisted.python.reflectrZtwisted.trial.reporterrZtwisted.trial._distrrr
r
r
r�<module>s