+
    üÐjƒ  ã                  ó¦   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHt ^ RIHtHt  ! R	 R
]4      t ! R R]4      tR# )é    )ÚannotationsN)ÚskipIf)Úimplementer)ÚFailure)Ú	IReporterÚ	ITestCase)Úpyunitcases)ÚPyUnitResultAdapterÚSynchronousTestCasec                  ó.   € ] tR t^tR R ltR R ltRtR# )ÚPyUnitTestTestsc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "ÚF/usr/lib/python3/dist-packages/twisted/trial/test/test_pyunitcompat.pyÚ__annotate__ÚPyUnitTestTests.__annotate__   s   € ÷ -ñ -�tñ -ó    c                	óp   € \         P                  ! R 4      V n        \        V P                  4      V n        R# )Ú	test_passN)r	   Ú
PyUnitTestÚoriginalr   Útest©Úselfs   &r   ÚsetUpÚPyUnitTestTests.setUp   s$   € Ü#×.Ò.¨{Ó;ˆŒÜ˜dŸm™mÓ,ˆŽ	r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r      s   € ÷ Pñ P˜tñ Pr   c                ól   € V P                  \        V P                  4      V P                  : R24       R# )zG
Tests must be callable in order to be used with Python's unittest.py.
z is not callable.N)Ú
assertTrueÚcallabler   r   s   &r   Útest_callableÚPyUnitTestTests.test_callable   s'   € ð 	�‰œ §¡Ó+°·	±	©}Ð<MÐ-NÖOr   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    r&   Ú__static_attributes__r   r   r   r   r      s   † õ-÷Pñ Pr   r   c                  ó¨   € ] tR t^tRt ! R R]4      tR R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltRtR# )ÚPyUnitResultTestsz©
Tests to show that PyUnitResultAdapter wraps TestResult objects from the
standard library 'unittest' module in such a way as to make them usable and
useful from Trial.
c                  ó*   € ] tR t^'tRtRtR R ltRtR# )ÚPyUnitResultTests.ErrorTestz�
A test case which has a L{test_foo} which will raise an error.

@ivar ran: boolean indicating whether L{test_foo} has been run.
Fc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú(PyUnitResultTests.ErrorTest.__annotate__0   s   € ÷ 	ñ 	˜dñ 	r   c                ó&   € RV n         ^^ ,           R# )z:
Set C{self.ran} to True and raise a C{ZeroDivisionError}
TN©Úranr   s   &r   Útest_fooÚ$PyUnitResultTests.ErrorTest.test_foo0   s   € ð ˆDŒHØ��EˆEr   r4   N)r(   r)   r*   r+   Ú__doc__r5   r6   r,   r   r   r   Ú	ErrorTestr0   '   s   † ñ	ð ˆ÷	ñ 	r   r9   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   ÚPyUnitResultTests.__annotate__7   s   € ÷ &9ñ &9À$ñ &9r   c                óÞ   € \        \        4       ! R R4      4       pV P                  R4      pV! 4       pVP                  V4       V P	                  VP
                  ^ ,          \        4       R# )zk
The L{PyUnitResultAdapter} is only used when the result passed to
C{run} does *not* provide L{IReporter}.
c                  óJ   € ] tR t^=tRtR R ltR R ltR R ltR R	 ltR
t	R# )ÚXPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporterz–
A reporter which records data about calls made to it.

@ivar errors: Errors passed to L{addError}.
@ivar failures: Failures passed to L{addFailure}.
c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   ÚePyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporter.__annotate__F   s   € ÷ /ñ / $ñ /r   c                	ó"   € . V n         . V n        R # )N©ÚerrorsÚfailuresr   s   &r   Ú__init__ÚaPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporter.__init__F   s   € Ø-/�”Ø,.�–r   c               ó    € V ^8„  d   QhRRRR/# ©r   r   Úobjectr   r   r   )r   s   "r   r   r@   J   s   € ÷ ñ  fð °ñ r   c                ó   € R# ©z
Do nothing.
Nr   ©r   r   s   &&r   Ú	startTestÚbPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporter.startTestJ   ó   ‚ r   c               ó    € V ^8„  d   QhRRRR/# rH   r   )r   s   "r   r   r@   O   s   € ÷ ñ  Vð °ñ r   c                ó   € R# rK   r   rL   s   &&r   ÚstopTestÚaPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporter.stopTestO   rO   r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   rI   Úerrorr   r   r   r   )r   s   "r   r   r@   T   s!   € ÷ *ñ * Vð *°Gð *Àñ *r   c                ó<   € V P                   P                  V4       R# )z
Record the error.
N)rC   Úappend)r   r   rU   s   &&&r   ÚaddErrorÚaPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter.<locals>.StubReporter.addErrorT   s   € ð —‘×"Ñ" 5Ö)r   rB   N)
r(   r)   r*   r+   r8   rE   rM   rR   rX   r,   r   r   r   ÚStubReporterr>   =   s    † ñõ/õõ
÷
*ñ *r   rZ   r6   N)r   r   r9   ÚrunÚassertIsInstancerC   r   )r   rZ   r   Úresults   &   r   Ú0test_dontUseAdapterWhenReporterProvidesIReporterÚBPyUnitResultTests.test_dontUseAdapterWhenReporterProvidesIReporter7   s\   € ô 
”YÓ	÷	*ð 	*ó 
 ð	*ð8 �~‰~˜jÓ)ˆÙ“ˆØ�‰�ÔØ×Ñ˜fŸm™m¨AÕ.´Ö8r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   _   s   € ÷ 0ñ 0˜dñ 0r   c                	ó,  €  ! R  R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  4       V P                  ^VP                  4       V P	                  VP                  4       4       R# )c                  ó&   € ] tR t^`tRtR R ltRtR# )Ú3PyUnitResultTests.test_success.<locals>.SuccessTestFc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú@PyUnitResultTests.test_success.<locals>.SuccessTest.__annotate__c   ó   € ÷ ñ ˜tñ r   c                	ó   € R V n         R# ©TNr4   ©Úss   &r   r6   Ú<PyUnitResultTests.test_success.<locals>.SuccessTest.test_fooc   ó	   € Ø�–r   r   N©r(   r)   r*   r+   r5   r6   r,   r   r   r   ÚSuccessTestrc   `   s   † ØˆC÷ñ r   rn   r6   N)	r   ÚpyunitÚ
TestResultr[   r$   r5   ÚassertEqualÚtestsRunÚwasSuccessful)r   rn   r   r]   s   &   r   Útest_successÚPyUnitResultTests.test_success_   sn   € ô	Ô-ô 	ñ ˜:Ó&ˆÜ×"Ò"Ó$ˆØ�‰�Ôà�‰˜Ÿ™Ô!Ø×Ñ˜˜FŸO™OÔ,Ø�‰˜×,Ñ,Ó.Ö/r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   n   s   € ÷ 1ñ 1˜dñ 1r   c                	óv  €  ! R  R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  4       V P                  ^VP                  4       V P                  ^\        VP                  4      4       V P                  VP                  4       4       R# )c                  ó&   € ] tR t^otRtR R ltRtR# )Ú3PyUnitResultTests.test_failure.<locals>.FailureTestFc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú@PyUnitResultTests.test_failure.<locals>.FailureTest.__annotate__r   s   € ÷  ñ  ˜tñ  r   c                	ó6   € R V n         V P                  R4       R# )Tzboom!N)r5   Úfailri   s   &r   r6   Ú<PyUnitResultTests.test_failure.<locals>.FailureTest.test_foor   s   € Ø�”Ø—‘�w–r   r   Nrm   r   r   r   ÚFailureTestry   o   s   † ØˆC÷ ñ  r   r   r6   N)r   ro   rp   r[   r$   r5   rq   rr   ÚlenrD   ÚassertFalsers   )r   r   r   r]   s   &   r   Útest_failureÚPyUnitResultTests.test_failuren   s‰   € ô	 Ô-ô 	 ñ ˜:Ó&ˆÜ×"Ò"Ó$ˆØ�‰�Ôà�‰˜Ÿ™Ô!Ø×Ñ˜˜FŸO™OÔ,Ø×Ñ˜œC §¡Ó0Ô1Ø×Ñ˜×-Ñ-Ó/Ö0r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;      s   € ÷ 1ñ 1˜Dñ 1r   c                	ój  € V P                  R 4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  4       V P                  ^VP                  4       V P                  ^\        VP                  4      4       V P                  VP                  4       4       R# )r6   N)r9   ro   rp   r[   r$   r5   rq   rr   r€   rC   r�   rs   )r   r   r]   s   &  r   Ú
test_errorÚPyUnitResultTests.test_error   s~   € Ø�~‰~˜jÓ)ˆÜ×"Ò"Ó$ˆØ�‰�Ôà�‰˜Ÿ™Ô!Ø×Ñ˜˜FŸO™OÔ,Ø×Ñ˜œC §¡Ó.Ô/Ø×Ñ˜×-Ñ-Ó/Ö0r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   ‰   s   € ÷ 1ñ 1 ñ 1r   c                	óv  €  ! R  R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  4       V P                  ^VP                  4       V P                  ^\        VP                  4      4       V P	                  VP                  4       4       R# )c                  ó2   € ] tR t^ŠtRtR R ltR R ltRtR# )Ú4PyUnitResultTests.test_setUpError.<locals>.ErrorTestFc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   ÚAPyUnitResultTests.test_setUpError.<locals>.ErrorTest.__annotate__�   s   € ÷ ñ ˜tñ r   c                	ó   € ^^ ,           R# ©é   Nr   r   s   &r   r    Ú:PyUnitResultTests.test_setUpError.<locals>.ErrorTest.setUp�   s   € Ø�A—�r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r�   �   rf   r   c                	ó   € R V n         R# rh   r4   ri   s   &r   r6   Ú=PyUnitResultTests.test_setUpError.<locals>.ErrorTest.test_foo�   rl   r   r   N)r(   r)   r*   r+   r5   r    r6   r,   r   r   r   r9   r‹   Š   s   † ØˆCõ÷ñ r   r9   r6   N)r   ro   rp   r[   r�   r5   rq   rr   r€   rC   rs   )r   r9   r   r]   s   &   r   Útest_setUpErrorÚ!PyUnitResultTests.test_setUpError‰   s‹   € ô	Ô+ô 	ñ ˜Ó$ˆÜ×"Ò"Ó$ˆØ�‰�Ôà×Ñ˜Ÿ™Ô"Ø×Ñ˜˜FŸO™OÔ,Ø×Ñ˜œC §¡Ó.Ô/Ø×Ñ˜×-Ñ-Ó/Ö0r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   œ   s   € ÷ 
ñ 
¨4ñ 
r   c           	     ót  €  ^^ ,           \        P
                  ! 4       p\        V4      pVP                  V X4       V P                  VP                  ^ ,          ^,          RP                  \        P                  ! X!  4      4       R#   \          d#    \        P                  ! 4       p\        4       p L«i ; i)zy
Errors added through the L{PyUnitResultAdapter} have the same traceback
information as if there were no adapter at all.
Ú N)ÚZeroDivisionErrorÚsysÚexc_infor   ro   rp   r
   rX   rq   rC   ÚjoinÚ	tracebackÚformat_exception)r   rœ   ÚfÚpyresultr]   s   &    r   Útest_tracebackFromFailureÚ+PyUnitResultTests.test_tracebackFromFailureœ   sŽ   € ð
	Ø�ŽEô ×$Ò$Ó&ˆÜ$ XÓ.ˆØ�‰˜˜aÔ Ø×ÑØ�O‰O˜AÕ˜qÕ! 2§7¡7¬9×+EÒ+EÀxÑ+PÓ#Qö	
øô !ô 	Ü—|’|“~ˆHÜ“	ŠAð	ús   ‚	B
 Â
*B7Â6B7c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   ­   s   € ÷ 
ñ 
 ñ 
r   c                óö  €  ! R R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       VP                  f   Q hRP                  \        P                  ! VP                  ^,          4      4      pRP                  VP                  ^ ,          ^,          P                  4       RR 4      pV P                  VP                  4       V\        V4      ) R P                  4       4       R# )z7
As test_tracebackFromFailure, but covering more code.
c                  ó&   € ] tR t^²tRtR R ltRtR# )Ú3PyUnitResultTests.test_traceback.<locals>.ErrorTestNc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú@PyUnitResultTests.test_traceback.<locals>.ErrorTest.__annotate__µ   s   € ÷ ñ  $ñ r   c                	ón   €  ^^ ,           R#   \          d    \        P                  ! 4       T n        h i ; ir�   )rš   r›   rœ   r   s   &r   r6   Ú<PyUnitResultTests.test_traceback.<locals>.ErrorTest.test_fooµ   s/   € ðØ˜—E�EøÜ(ô Ü$'§L¢L£N�D”MØðús   ‚	 �'4)rœ   )r(   r)   r*   r+   rœ   r6   r,   r   r   r   r9   r§   ²   s   † ØˆH÷ñ r   r9   r6   Nr™   Ú
éÿÿÿÿ)r   ro   rp   r[   rœ   r�   rž   Ú	format_tbrC   Ú
splitlinesrq   Ústripr€   )r   r9   r   r]   Úexpected_stackÚobserved_stacks   &     r   Útest_tracebackÚ PyUnitResultTests.test_traceback­   sÊ   € ô
	Ô+ô 	ñ ˜Ó$ˆÜ×"Ò"Ó$ˆØ�‰�Ôð �}‰}Ò(Ð(Ð(ØŸ™¤×!4Ò!4°T·]±]À1Õ5EÓ!FÓGˆØŸ™ 6§=¡=°Õ#3°AÕ#6×#AÑ#AÓ#CÀCÀRÐ#HÓIˆà×ÑØ× Ñ Ó" N´C¸Ó4GÐ3GÐ3IÐ$J×$PÑ$PÓ$Rö	
r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   Î   s   € ÷ 
ñ 
°ñ 
r   c                óÒ  €  ^^ ,           XP	                  4        \
        P                  ! 4       p\        V4      pVP                  W4       RP                  \        P                  ! X!  4      pV P                  VP                  ^ ,          ^,          P                  R4      VP                  R4      4       R#   \          d#    \        P                  ! 4       p\        4       p LÚi ; i)z¹
Errors added through the L{PyUnitResultAdapter} have the same
traceback information as if there were no adapter at all, even
if the Failure that held the information has been cleaned.
r™   z$ZeroDivisionError: division by zero
N)rš   r›   rœ   r   ÚcleanFailurero   rp   r
   rX   r�   rž   rŸ   rq   rC   Úendswith)r   rœ   r    r¡   r]   Útbacks   &     r   Útest_tracebackFromCleanFailureÚ0PyUnitResultTests.test_tracebackFromCleanFailureÎ   s²   € ð	Ø�ŽEð 	
�‰ÔÜ×$Ò$Ó&ˆÜ$ XÓ.ˆØ�‰˜Ô Ø—‘œ	×2Ò2°HÑ=Ó>ˆØ×ÑØ�O‰O˜AÕ˜qÕ!×*Ñ*Ð+RÓSØ�N‰NÐBÓCö	
øô !ô 	Ü—|’|“~ˆHÜ“	ŠAð	ús   ‚	B9 Â9*C&Ã%C&c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   ã   s   € ÷ Bñ B ñ Br   c                ó¾   €  ! R R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  VR3.4       R# )z_
Skips using trial's skipping functionality are reported as skips in
the L{pyunit.TestResult}.
c                  ó:   € ] tR t^ét]! RR4      R R l4       tRtR# )Ú2PyUnitResultTests.test_trialSkip.<locals>.SkipTestTúLet's skip!c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú?PyUnitResultTests.test_trialSkip.<locals>.SkipTest.__annotate__ë   ó   € ÷ ñ  4ñ r   c                	ó   € ^^ ,           R# r�   r   r   s   &r   Ú	test_skipÚ<PyUnitResultTests.test_trialSkip.<locals>.SkipTest.test_skipê   ó   € à�A—�r   r   N)r(   r)   r*   r+   r   rÅ   r,   r   r   r   ÚSkipTestr¿   é   s   † Ù�D˜-Ó(ôó )ôr   rÈ   rÅ   rÀ   N©r   ro   rp   r[   rq   Úskipped©r   rÈ   r   r]   s   &   r   Útest_trialSkipÚ PyUnitResultTests.test_trialSkipã   sQ   € ô	Ô*ô 	ñ
 ˜Ó$ˆÜ×"Ò"Ó$ˆØ�‰�ÔØ×Ñ˜Ÿ™¨4°Ð*?Ð)@ÖAr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r;   ó   s   € ÷ =ñ = ñ =r   c                ó¾   €  ! R R\         4      pV! R4      p\        P                  ! 4       pVP                  V4       V P	                  VP
                  VR3.4       R# )z`
Skips using pyunit's skipping functionality are reported as skips in
the L{pyunit.TestResult}.
c                  óL   € ] tR t^ùt]P
                  ! R4      R R l4       tRtR# )Ú3PyUnitResultTests.test_pyunitSkip.<locals>.SkipTestÚskippyc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú@PyUnitResultTests.test_pyunitSkip.<locals>.SkipTest.__annotate__û   rÃ   r   c                	ó   € ^^ ,           R# r�   r   r   s   &r   rÅ   Ú=PyUnitResultTests.test_pyunitSkip.<locals>.SkipTest.test_skipú   rÇ   r   r   N)r(   r)   r*   r+   ro   ÚskiprÅ   r,   r   r   r   rÈ   rÑ   ù   s   † Ø�[Š[˜Ó"ôó #ôr   rÈ   rÅ   rÒ   NrÉ   rË   s   &   r   Útest_pyunitSkipÚ!PyUnitResultTests.test_pyunitSkipó   sQ   € ô	Ô*ô 	ñ
 ˜Ó$ˆÜ×"Ò"Ó$ˆØ�‰�ÔØ×Ñ˜Ÿ™¨4°Ð*:Ð);Ö<r   r   N)r(   r)   r*   r+   r8   r   r9   r^   rt   r‚   r†   r•   r¢   r³   rº   rÌ   rØ   r,   r   r   r   r.   r.      sN   † ñôÐ'ô õ &9õP0õ1õ"1õ1õ&
õ"
õB
õ*B÷ =ñ =r   r.   )Ú
__future__r   r›   rž   Úunittestro   r   Úzope.interfacer   Útwisted.python.failurer   Útwisted.trial.itrialr   r   Útwisted.trial.testr	   Útwisted.trial.unittestr
   r   r   r.   r   r   r   Ú<module>rá      sC   ðõ #ã 
Û Û Ý å &å *ß 5Ý *ß Kô	PÐ)ô 	Pôc=Ð+ö c=r   