
    VhP
                         d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ eeeeeef   f   Z ee       G d	 d
 e
e                   Zy)z
The reporter is not made to support concurrent test running, so we will
hold test results in here and only send them to the reporter once the
test is over.

@since: 12.3
    )TracebackType)OptionalTupleUnion)implementer)proxyForInterface)Failure   )	IReporter	ITestCasec            	            e Zd ZdZ fdZd ZdededdfdZded	eddfd
Z	d Z
ddZ	 dded	edee   ddfdZd Zd Z xZS )DistReporterz
    See module docstring.
    c                 2    t         |   |       i | _        y N)super__init__running)selforiginal	__class__s     P/home/dcms/DCMS/lib/python3.12/site-packages/twisted/trial/_dist/distreporter.pyr   zDistReporter.__init__    s    "    c                     g | j                   |j                         <   | j                   |j                            j                  | j                  j                  |f       y)z&
        Queue test starting.
        N)r   idappendr   	startTestr   tests     r   r   zDistReporter.startTest$   sD     #%TWWYTWWY&&(?(?'FGr   r   failreturnNc                     | j                   |j                            j                  | j                  j                  ||f       y)z)
        Queue adding a failure.
        N)r   r   r   r   
addFailure)r   r   r   s      r   r"   zDistReporter.addFailure+   s2     	TWWY&&(@(@$'MNr   errorc                     | j                   |j                            j                  | j                  j                  ||f       y)z%
        Queue error adding.
        N)r   r   r   r   addError)r   r   r#   s      r   r%   zDistReporter.addError1   s2     	TWWY&&(>(>e'LMr   c                     | j                   |j                            j                  | j                  j                  ||f       y)z&
        Queue adding a skip.
        N)r   r   r   r   addSkip)r   r   reasons      r   r'   zDistReporter.addSkip7   s2     	TWWY&&(=(=tV'LMr   c                     | j                   |j                            j                  | j                  j                  ||f       y)z5
        Queue adding an unexpected success.
        N)r   r   r   r   addUnexpectedSuccess)r   r   todos      r   r*   z!DistReporter.addUnexpectedSuccess=   s3     	TWWY&&(J(JDRV'WXr   r+   c                     | j                   |j                            j                  | j                  j                  |||f       y)z3
        Queue adding an expected failure.
        N)r   r   r   r   addExpectedFailure)r   r   r#   r+   s       r   r-   zDistReporter.addExpectedFailureC   s7     	TWWY&&]]--tUDA	
r   c                     | j                   |j                            j                  | j                  j                  |f       y)z)
        Queue adding a success.
        N)r   r   r   r   
addSuccessr   s     r   r/   zDistReporter.addSuccessM   s0     	TWWY&&(@(@$'GHr   c                    | j                   |j                            j                  | j                  j                  |f       | j                   |j                            D ]  } |d   |dd    | j                   |j                         = y)zA
        Queue stopping the test, then unroll the queue.
        r      N)r   r   r   r   stopTest)r   r   steps      r   r2   zDistReporter.stopTestS   st     	TWWY&&(>(>'EFLL+ 	DDGT!"X	LL#r   r   )__name__
__module____qualname____doc__r   r   r   ReporterFailurer"   r%   r'   r*   r   strr-   r/   r2   __classcell__)r   s   @r   r   r      s    HOy O OD ONY N N4 NNY NR

&5
=Ec]
	
I$r   r   N)r7   typesr   typingr   r   r   zope.interfacer   twisted.python.componentsr   twisted.python.failurer	   itrialr   r   type	Exceptionr8   r    r   r   <module>rD      sb      ) ) & 7 * )tY'E!FFG Y?$$Y/ ?$ ?$r   