§
    Ètºf  ã                   óx   — d Z ddlZddlmZ ddlmZ ddlmZ  G d„ d¦  «        Z G d„ d	eej	        ¦  «        Z
dS )
z2
Tests for warning suppression features of Trial.
é    N)ÚnamedAny)Úunittest)Úsuppressionc                   óH   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚSuppressionMixinzj
    Tests for the warning suppression features of
    L{twisted.trial.unittest.SynchronousTestCase}.
    c                 óR   — |                      t          j        ¦   «         ¦  «         d S )N)ÚrunÚpyunitÚ
TestResult)ÚselfÚsuites     úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/trial/test/test_suppression.pyÚrunTestszSuppressionMixin.runTests   s#   € Ø�	Š	•&Ô#Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&ó    c                 ó>   — t          j         ||¦  «        g¦  «        S )zÞ
        Return a new L{unittest.TestSuite} with a single test method in it.

        @param cls: A L{TestCase} subclass defining a test method.

        @param methodName: The name of the test method from C{cls}.
        )r
   Ú	TestSuite)r   ÚclsÚ
methodNames      r   Ú_loadzSuppressionMixin._load   s    € õ Ô   Z¡¤Ð 1Ñ2Ô2Ð2r   c                 óF   — |                       d„ |D ¦   «         |¦  «         dS )a&  
        Assert that a certain number of warnings with certain messages were
        emitted in a certain order.

        @param warnings: A list of emitted warnings, as returned by
            C{flushWarnings}.

        @param which: A list of strings giving warning messages that should
            appear in C{warnings}.

        @raise self.failureException: If the warning messages given by C{which}
            do not match the messages in the warning information in C{warnings},
            or if they do not appear in the same order.
        c                 ó   — g | ]
}|d          ‘ŒS )Úmessage© )Ú.0Úwarnings     r   ú
<listcomp>z4SuppressionMixin._assertWarnings.<locals>.<listcomp>2   s   € ÐEÐEÐE°˜' )Ô,ÐEÐEÐEr   N)ÚassertEqual)r   ÚwarningsÚwhichs      r   Ú_assertWarningsz SuppressionMixin._assertWarnings#   s/   € ð 	×ÒÐEÐE¸HÐEÑEÔEÀuÑMÔMÐMÐMÐMr   c                 ó&  — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |t          j        t          j        t          j        t          j        g¦  «         dS )z“
        Suppressions defined by the test method being run are applied to any
        warnings emitted while running the C{setUp} fixture.
        ÚtestSuppressMethodN)	r   r   ÚTestSetUpSuppressionÚflushWarningsÚ_emitr    r   ÚCLASS_WARNING_MSGÚMODULE_WARNING_MSG©r   ÚwarningsShowns     r   Útest_setUpSuppressionz&SuppressionMixin.test_setUpSuppression4   s†   € ð
 	�Š�d—j’j Ô!:Ð<PÑQÔQÑRÔRÐRØ×*Ò*¨DÔ,EÔ,KÐ+LÑMÔMˆØ×ÒØåÔ-ÝÔ.ÝÔ-ÝÔ.ð	ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó&  — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |t          j        t          j        t          j        t          j        g¦  «         dS )z–
        Suppressions defined by the test method being run are applied to any
        warnings emitted while running the C{tearDown} fixture.
        r"   N)	r   r   ÚTestTearDownSuppressionr$   r%   r    r   r&   r'   r(   s     r   Útest_tearDownSuppressionz)SuppressionMixin.test_tearDownSuppressionE   s†   € ð
 	�Š�d—j’j Ô!=Ð?SÑTÔTÑUÔUÐUØ×*Ò*¨DÔ,HÔ,NÐ+OÑPÔPˆØ×ÒØåÔ-ÝÔ.ÝÔ-ÝÔ.ð	ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óú   — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |t          j        t          j        g¦  «         dS )zœ
        A suppression set on a test method prevents warnings emitted by that
        test method which the suppression matches from being emitted.
        r"   N)	r   r   ÚTestSuppressionr$   r%   r    r   r&   r'   r(   s     r   Útest_suppressMethodz$SuppressionMixin.test_suppressMethodV   sw   € ð
 	�Š�d—j’j Ô!5Ð7KÑLÔLÑMÔMÐMØ×*Ò*¨DÔ,@Ô,FÐ+GÑHÔHˆØ×ÒØÝÔ*­KÔ,JÐKñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó˜  — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |d         d         t          j        ¦  «         |                      |d         d         t          j        ¦  «         |                      t          |¦  «        d¦  «         dS )zÌ
        A suppression set on a L{SynchronousTestCase} subclass prevents warnings
        emitted by any test methods defined on that class which match the
        suppression from being emitted.
        ÚtestSuppressClassr   r   é   é   N)
r   r   r/   r$   r%   r   r   ÚMETHOD_WARNING_MSGr'   Úlenr(   s     r   Útest_suppressClassz#SuppressionMixin.test_suppressClassb   s®   € ð 	�Š�d—j’j Ô!5Ð7JÑKÔKÑLÔLÐLØ×*Ò*¨DÔ,@Ô,FÐ+GÑHÔHˆØ×Ò˜ qÔ)¨)Ô4µkÔ6TÑUÔUÐUØ×Ò˜ qÔ)¨)Ô4µkÔ6TÑUÔUÐUØ×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ð/Ð/r   c                 ó˜  — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |d         d         t          j        ¦  «         |                      |d         d         t          j	        ¦  «         |                      t          |¦  «        d¦  «         dS )zµ
        A suppression set on a module prevents warnings emitted by any test
        mewthods defined in that module which match the suppression from being
        emitted.
        ÚtestSuppressModuler   r   r3   r4   N)r   r   ÚTestSuppression2r$   r/   r%   r   r   r5   r&   r6   r(   s     r   Útest_suppressModulez$SuppressionMixin.test_suppressModulen   s®   € ð 	�Š�d—j’j Ô!6Ð8LÑMÔMÑNÔNÐNØ×*Ò*¨DÔ,@Ô,FÐ+GÑHÔHˆØ×Ò˜ qÔ)¨)Ô4µkÔ6TÑUÔUÐUØ×Ò˜ qÔ)¨)Ô4µkÔ6SÑTÔTÐTØ×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ð/Ð/r   c                 óð  — |                       |                      | j        d¦  «        ¦  «         |                      | j        j        g¦  «        }|                      |d         d         t          j        ¦  «         |                      |d         d         t          j        ¦  «         |                      |d         d         t          j	        ¦  «         |                      t          |¦  «        d¦  «         dS )zô
        The suppression set on a test method completely overrides a suppression
        with wider scope; if it does not match a warning emitted by that test
        method, the warning is emitted, even if a wider suppression matches.
        ÚtestOverrideSuppressClassr   r   r3   r4   é   N)r   r   r/   r$   r%   r   r   r5   r&   r'   r6   r(   s     r   Útest_overrideSuppressClassz+SuppressionMixin.test_overrideSuppressClassz   sÑ   € ð 	�Š�d—j’j Ô!5Ð7RÑSÔSÑTÔTÐTØ×*Ò*¨DÔ,@Ô,FÐ+GÑHÔHˆØ×Ò˜ qÔ)¨)Ô4µkÔ6TÑUÔUÐUØ×Ò˜ qÔ)¨)Ô4µkÔ6SÑTÔTÐTØ×Ò˜ qÔ)¨)Ô4µkÔ6TÑUÔUÐUØ×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ð/Ð/r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r*   r-   r0   r7   r;   r?   r   r   r   r   r      s¨   € € € € € ðð ð
'ð 'ð 'ð3ð 3ð 3ðNð Nð Nð"
ð 
ð 
ð"
ð 
ð 
ð"

ð 

ð 

ð
0ð 
0ð 
0ð
0ð 
0ð 
0ð0ð 0ð 0ð 0ð 0r   r   c                   ój   — e Zd ZdZ ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        ZdS )ÚSynchronousSuppressionTestsz0
    @see: L{twisted.trial.test.test_tests}
    z>twisted.trial.test.suppression.SynchronousTestSetUpSuppressionzAtwisted.trial.test.suppression.SynchronousTestTearDownSuppressionz9twisted.trial.test.suppression.SynchronousTestSuppressionz:twisted.trial.test.suppression.SynchronousTestSuppression2N)	r@   rA   rB   rC   r   r#   r,   r/   r:   r   r   r   rE   rE   ˆ   su   € € € € € ðð ð $˜8ØHñô Ðð '˜hØKñô Ðð �hØCñô €Oð  �xØDñô ÐÐÐr   rE   )rC   r   r
   Útwisted.python.reflectr   Útwisted.trialÚtwisted.trial.testr   r   ÚSynchronousTestCaserE   r   r   r   ú<module>rJ      s¾   ððð ð
 Ð Ð Ð à +Ð +Ð +Ð +Ð +Ð +Ø "Ð "Ð "Ð "Ð "Ð "Ø *Ð *Ð *Ð *Ð *Ð *ðu0ð u0ð u0ð u0ð u0ñ u0ô u0ð u0ðpð ð ð ð Ð"2°HÔ4Pñ ô ð ð ð r   