+
    üÐjÍ  ã            	       ó`  € R t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt  ! R R]P"                  4      t]	! ]P$                  4       ! R	 R
]P&                  ! ]P$                  R4      4      4       tR tR t ! R R]4      t ! R R]4      t ! R R]4      t]P4                  ! ]]P6                  ]P$                  4       ]P4                  ! ]]P8                  ]P$                  4       ]! ]RR4      t]'       d   ]P4                  ! ]]]P$                  4       R R ltR# )z-
Infrastructure for test running and suites.
N)ÚIteratorÚUnion)Úimplementer)Ú
components)ÚitrialÚreporter)Ú_logObserverc                   ó*   a € ] tR t^t o RtR tRtV tR# )Ú	TestSuitez\
Extend the standard library's C{TestSuite} with a consistently overrideable
C{run} method.
c                óf   € V P                    F   pVP                  '       d    V# V! V4       K"  	  V# )z+
Call C{run} on every member of the suite.
)Ú_testsÚ
shouldStop)ÚselfÚresultÚtests   && Ú</usr/lib/python3/dist-packages/twisted/trial/_asyncrunner.pyÚrunÚTestSuite.run   s6   € ð —K”KˆDØ× × Ð Øàˆñ �ŽLñ  ð ˆó    © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r
   r
      s   ø‡ € ñ÷
ð r   r
   c                   ó0   a € ] tR t^'t o RtR tR tRtV tR# )ÚTestDecoratorz‡
Decorator for test cases.

@param _originalTest: The wrapped instance of test.
@type _originalTest: A provider of L{itrial.ITestCase}
c                ó$   € V P                  V4      # ©z9
Run the unit test.

@param result: A TestResult object.
)r   ©r   r   s   &&r   Ú__call__ÚTestDecorator.__call__4   s   € ð �x‰x˜ÓÐr   c                ót   € V P                   P                  \        P                  ! WP                  4      4      # r#   )Ú_originalTestr   r   Ú_AdaptedReporterÚ	__class__r$   s   &&r   r   ÚTestDecorator.run<   s*   € ð ×!Ñ!×%Ñ%¤h×&?Ò&?ÀÏÉÓ&WÓXÐXr   r   N)	r   r   r   r   r   r%   r   r   r   r   s   @r   r!   r!   '   s   ø‡ € ñò ÷Yð Yr   r!   r(   c                ó   € . V n         R# )zÁ
Clear all tests from C{suite}.

This messes with the internals of C{suite}. In particular, it assumes that
the suite keeps all of its tests in a list in an instance variable called
C{_tests}.
N)r   )Úsuites   &r   Ú_clearSuiter.   E   s   € ð €E†Lr   c                ó¬   €  \        V 4      p\        T 4       T F  pT P                  \	        Y14      4       K  	  T #   \         d    T! T 4      u # i ; i)a
  
Decorate all test cases in C{test} with C{decorator}.

C{test} can be a test case or a test suite. If it is a test suite, then the
structure of the suite is preserved.

L{decorate} tries to preserve the class of the test suites it finds, but
assumes the presence of the C{_tests} attribute on the suite.

@param test: The C{TestCase} or C{TestSuite} to decorate.

@param decorator: A unary callable used to decorate C{TestCase}s.

@return: A decorated C{TestCase} or a C{TestSuite} containing decorated
    C{TestCase}s.
)ÚiterÚ	TypeErrorr.   ÚaddTestÚdecorate)r   Ú	decoratorÚtestsÚcases   &&  r   r3   r3   P   sU   € ð$Ü�T“
ˆô
 �ÔãˆØ�‰”X˜dÓ.Ö/ñ à€Køô ô Ù˜‹Òðús   ‚= ½AÁAc                   ó   € ] tR t^otRtRtR# )Ú_PyUnitTestCaseAdapterz*
Adapt from pyunit.TestCase to ITestCase.
r   N)r   r   r   r   r   r   r   r   r   r8   r8   o   s   † õr   r8   c                   ó*   a € ] tR t^ut o RtR tRtV tR# )Ú_BrokenIDTestCaseAdapterz—
Adapter for pyunit-style C{TestCase} subclasses that have undesirable id()
methods. That is C{unittest.FunctionTestCase} and C{unittest.DocTestCase}.
c                óv   € V P                   P                  4       pVe   V# V P                   P                  4       # )z8
Return the fully-qualified Python name of the doctest.
)r(   ÚshortDescriptionÚid)r   ÚtestIDs   & r   r=   Ú_BrokenIDTestCaseAdapter.id{   s8   € ð ×#Ñ#×4Ñ4Ó6ˆØÒØˆMØ×!Ñ!×$Ñ$Ó&Ð&r   r   N)r   r   r   r   r   r=   r   r   r   s   @r   r:   r:   u   s   ø‡ € ñ÷
'ð 'r   r:   c                   ó*   a € ] tR t^…t o RtR tRtV tR# )Ú _ForceGarbageCollectionDecoratorzš
Forces garbage collection to be run before and after the test. Any errors
logged during the post-test collection are added to the test result as
errors.
c                ó\  € \         P                  ! 4        \        P                  W4       \        P
                  ! 4        \         P                  ! 4        \        P                  ! 4        F  pVP                  W4       K  	  \        P                  ! 4        \        P                  ! 4        R # )N)
ÚgcÚcollectr!   r   r   Ú_addÚ	getErrorsÚaddErrorÚflushErrorsÚ_remove)r   r   Úerrors   && r   r   Ú$_ForceGarbageCollectionDecorator.runŒ   se   € Ü
�
Š
ŒÜ×Ñ˜$Ô'Ü×ÒÔÜ
�
Š
ŒÜ!×+Ò+Ö-ˆEØ�O‰O˜DÖ(ñ .ä× Ò Ô"Ü×ÒÖr   r   Nr   r   s   @r   rA   rA   …   s   ø‡ € ñ÷ð r   rA   ÚDocTestCasec                ó¤   € V ^8„  d   QhR\         \        P                  \        P                  3,          R\        \
        P                  ,          /# )é   ÚtestSuiteOrCaseÚreturn)r   ÚpyunitÚTestCaser
   r   r   Ú	ITestCase)Úformats   "r   Ú__annotate__rU   ¤   s;   € ÷ +ñ +Üœ6Ÿ?™?¬F×,<Ñ,<Ð<Õ=ð+äŒf×ÑÕñ+r   c              #  óŽ   "  €  \        V 4      pV F  p\        V4       Rj  x€L
  K  	  R#  L
  \         d	    T x €  R# i ; i5i)z>
Iterate through all of the test cases in C{testSuiteOrCase}.
N)r0   Ú_iterateTestsr1   )rO   r-   r   s   &  r   rW   rW   ¤   sG   é € ð+Ü�_Ó%ˆó ˆDÜ$ TÓ*×*Ò*ó Ù*øô	 ô ØÕðüs-   ‚A„/ �A¢-£A¯A¾AÁAÁA) r   ÚdoctestrC   ÚunittestrQ   Útypingr   r   Úzope.interfacer   Útwisted.pythonr   Útwisted.trialr   r   Útwisted.trial._synctestr   r
   rS   ÚproxyForInterfacer!   r.   r3   r8   r:   rA   ÚregisterAdapterrR   ÚFunctionTestCaseÚgetattrÚ_docTestCaserW   r   r   r   Ú<module>rd      s  ðñ
ó
 Û 	Û ß "å &å %ß *Ý 0ô�× Ñ ô ñ" ˆV×ÑÓôYØ× Ò Ø×Ñ˜/óóYó ðYò:òô>˜]ô ô'Ð5ô 'ô  }ô ð$ × Ò Ð1°6·?±?ÀF×DTÑDTÔ Uð × Ò Ø˜f×5Ñ5°v×7GÑ7Gôñ
 �w ¨tÓ4€ßØ×ÒÐ7¸Àv×GWÑGWÔX÷+r   