ó
    ×›‘h¥  ã                  ó  • S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  SSKJr  \R                  r " S S	5      q " S
 S[        5      r " S S5      r " S S\\5      q " S S5      rSq " S S\
5      r " S S\
5      rg)é    )ÚannotationsN)ÚNoReturn©Úrebuild)ÚTestCaseé   )Úcrash_test_dummyc                  ó   • \ rS rSrSrg)ÚFooé   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Ú]C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/test/test_rebuild.pyr   r      ó   † Úr   r   c                  ó   • \ rS rSrSrg)ÚBaré   r   Nr   r   r   r   r   r      r   r   r   c                  ó   • \ rS rSrSrg)ÚBazé   r   Nr   r   r   r   r   r      r   r   r   c                  ó   • \ rS rSrSrg)ÚBuzé   r   Nr   r   r   r   r   r      r   r   r   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚHashRaisesRuntimeErroré#   z‘
Things that don't hash (raise an Exception) should be ignored by the
rebuilder.

@ivar hashCalled: C{bool} set to True when __hash__ is called.
c                ó   • SU l         g )NF©Ú
hashCalled©Úselfs    r   Ú__init__ÚHashRaisesRuntimeError.__init__+   s	   € Øˆ�r   c                ó&   • SU l         [        S5      e)NTznot a TypeError!)r%   ÚRuntimeErrorr&   s    r   Ú__hash__ÚHashRaisesRuntimeError.__hash__.   s   € ØˆŒÜÐ-Ó.Ð.r   r$   N©ÚreturnÚNone)r/   r   )r   r   r   r   Ú__doc__r(   r,   r   r   r   r   r!   r!   #   s   † ñô ÷/r   r!   c                  ór   • \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSS jrSrg)ÚRebuildTestsé7   z@
Simple testcase for rebuilding, to at least exercise the code.
c                óä  • U R                  5       U l        [        R                  " U R                  5        [        R                  R                  U R                  S5      U l        [        R                  " U R                  5        [        [        R                  R                  U R                  S5      S5      R                  5         [        R                  R                  SU R                  5        g )NÚtwisted_rebuild_fakelibz__init__.pyÚwr   )ÚmktempÚlibPathÚosÚmkdirÚpathÚjoinÚfakelibPathÚopenÚcloseÚsysÚinsertr&   s    r   ÚsetUpÚRebuildTests.setUp<   s‹   € Ø—{‘{“}ˆŒÜ
�Š�—‘ÔÜŸ7™7Ÿ<™<¨¯©Ð6OÓPˆÔÜ
�Š�×!Ñ!Ô"ÜŒR�W‰W�\‰\˜$×*Ñ*¨MÓ:¸CÓ@×FÑFÔHÜ�‰�‰˜˜4Ÿ<™<Õ(r   c                óV   • [         R                  R                  U R                  5        g ©N)rA   r<   Úremover9   r&   s    r   ÚtearDownÚRebuildTests.tearDownD   s   € Ü�‰�‰˜Ÿ™Õ%r   c                óN  • SS K nSS KnSSKJn  UR	                  U" [
        S5      [        R                  R                  U R                  S5      5        SSK
Jn  UR                  5       nUR                  5       nUR                  5       nU R                  UR!                  5       S5        UR#                  S5        UR	                  U" [
        S5      [        R                  R                  U R                  S5      5        [$        R$                  " U5        UR                  5       nU R                  UR'                  5       S	5        U R                  UR'                  5       S	5        U R                  UR!                  5       S
5        U R                  UR!                  5       S5        g )Nr   )Úsibpathzmyrebuilder1.pyzmyrebuilder.py)ÚmyrebuilderÚagš™™™™™ñ?zmyrebuilder2.pyÚcÚdÚb)ÚshutilÚtimeÚtwisted.python.utilrK   ÚcopyfileÚ__file__r:   r<   r=   r>   r6   rL   ÚAÚBÚInheritÚassertEqualrM   Úsleepr   rP   )	r'   rQ   rR   rK   rL   rM   rP   ÚiÚb2s	            r   Útest_FileRebuildÚRebuildTests.test_FileRebuildG   s*  € ÛÛå/à�‰Ù”HÐ/Ó0Ü�G‰G�L‰L˜×)Ñ)Ð+;Ó<ô	
õ	
ð �M‰M‹OˆØ�M‰M‹OˆØ×ÑÓ!ˆØ×Ñ˜Ÿ™› Ô$ð 	�
‰
�3ŒØ�‰Ù”HÐ/Ó0Ü�G‰G�L‰L˜×)Ñ)Ð+;Ó<ô	
ô 	�Š˜Ô$Ø�]‰]‹_ˆØ×Ñ˜Ÿ™› Ô%Ø×Ñ˜Ÿ™› Ô$Ø×Ñ˜Ÿ™› Ô$Ø×Ñ˜Ÿ™› Õ$r   c                ó  • [         R                  " S5      n[        R                  " [         SS9  UR                  5         U R	                  UR
                  [         R                  5        U R	                  [        [         R                  5        g)z!
Rebuilding an unchanged module.
rM   F)ÚdoLogN)r	   ÚXr   ÚdorY   Ú	__class__ÚfÚfoo)r'   Úxs     r   Útest_RebuildÚRebuildTests.test_Rebuildh   s^   € ô ×Ò˜sÓ#ˆä�ŠÔ(°Ò6à	�‰ŒØ×Ñ˜Ÿ™Ô&6×&8Ñ&8Ô9à×ÑœÔ,×0Ñ0Õ1r   c                óV  • [         R                  " 5       nUR                  [         R                  [         R                  5        UR                  [         R                  5        [        R                  " [         S5        UR                  [         R                  5      nUR                  5         U R                  UR                  [         R                  5        SSK
Jn  U R                  [        UR                  [         R                  [         R                  [         R                  5        g )Nr   )Ú
components)r	   Ú
XComponentÚ
setAdapterÚIXÚXAÚgetComponentr   ÚmethodrY   rc   Útwisted.pythonrj   ÚassertRaisesÚ
ValueErrorÚregisterAdapterra   )r'   rf   ÚnewComponentrj   s       r   Útest_ComponentInteractionÚ&RebuildTests.test_ComponentInteractiony   sÆ   € Ü×'Ò'Ó)ˆØ	�‰Ô%×(Ñ(Ô*:×*=Ñ*=Ô>Ø	�‰Ô'×*Ñ*Ô+Ü�ŠÔ(¨!Ô,Ø—~‘~Ô&6×&9Ñ&9Ó:ˆà×ÑÔà×Ñ˜×/Ñ/Ô1A×1DÑ1DÔEõ 	.à×ÑÜØ×&Ñ&Ü×ÑÜ×ÑÜ×Ñõ	
r   c                óà   • [        5       n " S S5      q " S S[        [        5      q [        R
                  " U5        [        US5      (       d   S5       e[        US5      (       d   S5       eg )	Nc                  ó   • \ rS rSrSS jrSrg)r   é”   c                ó   • g©z
Dummy method
Nr   r&   s    r   re   ÚFoo.foo•   ó   � r   r   Nr.   )r   r   r   r   re   r   r   r   r   r   r   ”   ó   † ÷r   r   c                  ó   • \ rS rSrSrSrg)r   éš   é
   r   N)r   r   r   r   rf   r   r   r   r   r   r   š   s   † Ø‹Ar   r   re   z"Missing method on rebuilt instancerf   z+Missing class attribute on rebuilt instance)r   r   r   r   r   ÚupdateInstanceÚhasattr)r'   rP   s     r   Útest_UpdateInstanceÚ RebuildTests.test_UpdateInstance�   sb   € ô ‹Eˆ÷	ñ 	ô	”#”sô 	ô 	×Ò˜qÔ!Ü�q˜%× Ñ ÐFÐ"FÓFÐ Ü�q˜#�‰ÐMÐ MÓM‰r   c                óT   • SSK Jn  SSKJn  UR                  " UR
                  5        g )Nr   r   )Úbanana)rq   r   Útwisted.spreadrˆ   ÚlatestClassÚBanana)r'   r   rˆ   s      r   Útest_BananaInteractionÚ#RebuildTests.test_BananaInteraction¡   s   € Ý*Ý)à×Ò˜FŸM™MÕ*r   c                ó¶   • [        5       qSS jnU R                  U5        [        R                  " [        5        U R	                  [        R
                  5        g)zf
Rebuilding something that has a __hash__ that raises a non-TypeError
shouldn't cause rebuild to die.
c                 ó   • S q g rF   )ÚunhashableObjectr   r   r   Ú_cleanupÚ1RebuildTests.test_hashException.<locals>._cleanup¯   s   € à#Ñr   Nr.   )r!   r�   Ú
addCleanupr   Ú
assertTruer%   )r'   r‘   s     r   Útest_hashExceptionÚRebuildTests.test_hashException§   s?   € ô 2Ó3Ðô	$ð 	�‰˜Ô!Ü�ŠœÔ Ø�‰Ô(×3Ñ3Õ4r   c                ó¸  • SSK Jn  SSKJn   " S SU5      nU" 5       nUR	                  5         U R                  UR                  5       5        UR                  " [        5      nU R                  [        [        5      [        U5      5        U R                  XTR                  U5      5        U R                  UR                  UR                  UR                  5      5        U R                  UR                  UR                  UR                  5      5        U R                  X4R                  U5      5        SS jnU R                  XdR                  U5      5        g)	z%
L{twisted.python.rebuild.Sensitive}
r   r   )Ú	Sensitivec                  ó   • \ rS rSrSS jrSrg)Ú2RebuildTests.test_Sensitive.<locals>.TestSensitiveé¾   c                ó   • gr|   r   r&   s    r   Útest_methodÚ>RebuildTests.test_Sensitive.<locals>.TestSensitive.test_method¿   r~   r   r   Nr.   )r   r   r   r   r�   r   r   r   r   ÚTestSensitiverš   ¾   r   r   rŸ   c                 ó   • gr|   r   r   r   r   Ú
myFunctionÚ/RebuildTests.test_Sensitive.<locals>.myFunctionÚ   r~   r   Nr.   )rq   r   Útwisted.python.rebuildr˜   ÚrebuildUpToDateÚassertFalseÚneedRebuildUpdaterŠ   Ú	ExceptionrY   ÚreprÚlatestVersionOfr�   )r'   r   r˜   rŸ   ÚtestSensitiveÚnewExceptionr¡   s          r   Útest_SensitiveÚRebuildTests.test_Sensitive·   s  € õ 	+Ý4ô	˜Iô 	ñ &›ˆØ×%Ñ%Ô'Ø×Ñ˜×8Ñ8Ó:Ô;ð ×*Ò*¬9Ó5ˆØ×Ñœœi›¬$¨|Ó*<Ô=Ø×Ñ˜×'DÑ'DÀ\Ó'RÔSð 	×ÑØ×%Ñ%Ø×)Ñ)¨-×*CÑ*CÓDô	
ð
 	×ÑØ×%Ñ%Ø×)Ñ)¨-×*CÑ*CÓDô	
ð
 	×Ñ˜×(EÑ(EÀmÓ(TÔUô	ð 	×Ñ˜×%BÑ%BÀ:Ó%NÕOr   )r>   r9   Nr.   )r   r   r   r   r1   rC   rH   r]   rg   rv   r…   rŒ   r•   r¬   r   r   r   r   r3   r3   7   s7   † ñô)ô&ô%ôB2ô"
ô,Nô$+ô5÷ )Pr   r3   c                  ó@   • \ rS rSrSrS	S jrS	S jrS	S jrS	S jrSr	g)
ÚNewStyleTestséã   z:
Tests for rebuilding new-style classes of various sorts.
c                ót   • [         R                  " S5      U l        U R                  [        R                  S'   g ©NÚwhipping)ÚtypesÚ
ModuleTypeÚmrA   Úmodulesr&   s    r   rC   ÚNewStyleTests.setUpè   s&   € Ü×!Ò! *Ó-ˆŒØ"&§&¡&Œ�‰�JÒr   c                ó*   • [         R                  S	 U ?g r²   )rA   r·   r¶   r&   s    r   rH   ÚNewStyleTests.tearDownì   s   € Ü�K‰K˜
Ð#Ø‰Fr   c                óˆ  • Sn[        XR                  R                  5        U R                  R                  5       nSUl        [        XR                  R                  5        [
        R                  " U5        U R                  UR                  S5        U R                  [        U5      U R                  R                  5        g)z6
Try to rebuild a new style class with slots defined.
z*class SlottedClass:
    __slots__ = ['a']
é   N)
Úexecr¶   Ú__dict__ÚSlottedClassrM   r   rƒ   rY   ÚassertIsÚtype©r'   ÚclassDefinitionÚinsts      r   Ú
test_slotsÚNewStyleTests.test_slotsð   s�   € ð Lˆäˆ_Ÿf™fŸo™oÔ.Ø�v‰v×"Ñ"Ó$ˆØˆŒÜˆ_Ÿf™fŸo™oÔ.Ü×Ò˜tÔ$Ø×Ñ˜Ÿ™ Ô#Ø�‰”d˜4“j $§&¡&×"5Ñ"5Õ6r   c                óŽ  • Sn[        XR                  R                  5        U R                  R                  5       nUR	                  S5        [        XR                  R                  5        [
        R                  " U5        U R                  US   S5        U R                  [        U5      U R                  R                  5        g)z&
Try to rebuild a base type subclass.
z#class ListSubclass(list):
    pass
é   r   N)
r½   r¶   r¾   ÚListSubclassÚappendr   rƒ   rY   rÀ   rÁ   rÂ   s      r   Útest_typeSubclassÚNewStyleTests.test_typeSubclassþ   s…   € ð Eˆäˆ_Ÿf™fŸo™oÔ.Ø�v‰v×"Ñ"Ó$ˆØ�‰�AŒÜˆ_Ÿf™fŸo™oÔ.Ü×Ò˜tÔ$Ø×Ñ˜˜a™ !Ô$Ø�‰”d˜4“j $§&¡&×"5Ñ"5Õ6r   )r¶   Nr.   )
r   r   r   r   r1   rC   rH   rÅ   rË   r   r   r   r   r¯   r¯   ã   s   † ñô)ôô7÷7r   r¯   )Ú
__future__r   r:   rA   r´   Útyping_extensionsr   rq   r   Útwisted.trial.unittestr   Ú r	   re   rd   r   r   r   r   r!   r�   r3   r¯   r   r   r   Ú<module>rÑ      s‡   ðõ #ã 	Û 
Û å &å "Ý +Ý à×Ñ€÷	ñ 	ô	Œ#ô 	÷	ñ 	ô	ˆ#ˆsô 	÷/ñ /ð" Ð ôiP�8ô iPôX'7�Hõ '7r   