+
    üÐjÊ_  ã                  óì  € R t ^ 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Ht ^ RIHtHtHt ^ RIHt ^ R	IHtHt ^ R
IHtHtHt ^ RIHt ^ RI H!t!H"t"Ht ^ RI#H$t$ ^ RI%H&t& ^ RI'H(t( ^RI)H*t* ]'       d   ^ RI+H,t, R R lt- ! R R](P\                  4      t/R R lt0 ! R R](P\                  4      t1 ! R R](P\                  4      t2 ! R R]24      t3 ! R R](P\                  4      t4R# ) z"
Tests for loading tests by name.
)ÚannotationsN)Úmd5)Ú
attrgetter)Ú
ModuleType)ÚTYPE_CHECKINGÚCallableÚ	Generator)Úassert_thatÚequal_toÚhas_properties)ÚMatcher)ÚfilepathÚutil)ÚPythonAttributeÚPythonModuleÚ	getModule)ÚModuleNotFound)ÚreporterÚrunnerÚunittest)Ú_iterateTests)Ú	ITestCase)Úpackages)Úafter)ÚSupportsRichComparisonc               ó    € V ^8„  d   QhRRRR/# )é   Útestsú"pyunit.TestCase | pyunit.TestSuiteÚreturnz	list[str]© )Úformats   "Ú@/usr/lib/python3/dist-packages/twisted/trial/test/test_loader.pyÚ__annotate__r#   !   s   € ÷ ñ Ð7ð ¸Iñ ó    c                ól   € . p\        V 4       F"  pVP                  VP                  4       4       K$  	  V# )zA
Return the id of each test within the given test suite or case.
)r   ÚappendÚid)r   ÚnamesÚtests   &  r"   Ú	testNamesr*   !   s/   € ð €EÜ˜eÖ$ˆØ�‰�T—W‘W“YÖñ %à€Lr$   c                  ó^   a € ] tR t^+tR V 3R lltR R ltR R ltR R ltR	 R
 ltRt	V ;t
# )ÚFinderPy3Testsc               ó   € V ^8„  d   QhRR/# ©r   r   ÚNoner    )r!   s   "r"   r#   ÚFinderPy3Tests.__annotate__,   s   € ÷ *ñ *�tñ *r$   c                	óX   <€ \         SV `  4        \        P                  ! 4       V n        R # ©N)ÚsuperÚsetUpr   Ú
TestLoaderÚloader)ÚselfÚ	__class__s   &€r"   r4   ÚFinderPy3Tests.setUp,   s   ø€ Ü‰‰ŒÜ×'Ò'Ó)ˆŽr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r0   0   s   € ÷ 
ñ 
 Dñ 
r$   c                ó\   € V P                  \        V P                  P                  R4       R# )z­
findByName, if given something findable up until the last entry, will
raise AttributeError (as it cannot tell if 'nonexistent' here is
supposed to be a module or a class).
ztwisted.trial.test.nonexistentN)ÚassertRaisesÚAttributeErrorr6   Ú
findByName©r7   s   &r"   Útest_findNonModuleÚ!FinderPy3Tests.test_findNonModule0   s$   € ð 	×ÑÜ˜DŸK™K×2Ñ2Ð4Tö	
r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r0   :   s   € ÷ Oñ O Tñ Or$   c                	ó\   € V P                  \        V P                  P                  R 4       R# )Ú	nonextantN)r<   r   r6   r>   r?   s   &r"   Útest_findNonPackageÚ"FinderPy3Tests.test_findNonPackage:   s   € Ø×Ñœ.¨$¯+©+×*@Ñ*@À+ÖNr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r0   =   s   € ÷ Dñ D $ñ Dr$   c                ó’   € \         P                  ! \        R4      pV P                  \        V P
                  P                  V4       R# )zp
findByName, given a file path that doesn't exist, will raise a
ValueError saying that it is not a Python file.
znonexistent.pyN)r   ÚsibpathÚ__file__r<   Ú
ValueErrorr6   r>   )r7   Úpaths   & r"   Útest_findNonFileÚFinderPy3Tests.test_findNonFile=   s1   € ô
 �|Š|œHÐ&6Ó7ˆØ×Ñœ* d§k¡k×&<Ñ&<¸dÖCr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r0   E   s   € ÷ 
ñ 
¨dñ 
r$   c                ó\   € V P                  \        V P                  P                  R4       R# )zV
findByName will re-raise ImportErrors inside modules that it has found
and imported.
zunimportablepackage.test_moduleN)r<   ÚImportErrorr6   r>   r?   s   &r"   Útest_findFileWithImportErrorÚ+FinderPy3Tests.test_findFileWithImportErrorE   s$   € ð
 	×ÑÜ˜Ÿ™×/Ñ/Ð1Rö	
r$   ©r6   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r4   r@   rE   rM   rR   Ú__static_attributes__Ú__classcell__)r8   s   @r"   r,   r,   +   s(   ø† ÷*ð *õ
õOõD÷
ó 
r$   r,   c               ó    € V ^8„  d   QhRRRR/# )r   Úmoduler   r   zMatcher[ModuleType]r    )r!   s   "r"   r#   r#   O   s   € ÷ 5ñ 5˜Zð 5Ð,?ñ 5r$   c                ó  € V P                   pVf   Q h\        R\        VP                  4      R\	        \
        P                  \        \
        P                  ! VP                  4      4      4      /4      p\	        \        R4      V4      # )a  
Match a module with a L{ModuleSpec} like that of the given module.

@return: A matcher for a module spec that has the same name and origin as
    the given module spec, though the origin may be structurally inequal
    as long as it is semantically equal.
ÚnameÚoriginÚ__spec__)	r`   r   r
   r^   r   r   ÚFilePathr_   r   )r\   ÚexpectedÚ
match_specs   &  r"   ÚlooselyResemblesrd   O   sv   € ð �‰€Hð ÒÐÐÜà”H˜XŸ]™]Ó+Ø”eÜ×!Ñ!Üœ×*Ò*¨8¯?©?Ó;Ó<óð	
ó€Jô ”˜JÓ'¨Ó4Ð4r$   c                  ó†   € ] tR t^gtR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# )Ú	FileTestsz'
Tests for L{runner.filenameToModule}.
c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   ÚFileTests.__annotate__l   s   € ÷ 9ñ 9˜dñ 9r$   c                ó†   € V P                  \        \        P                  R4      pV P	                  \        V4      R4       R# )zW
L{runner.filenameToModule} raises a C{ValueError} when a non-existing
file is passed.
Úitz'it' doesn't existN)r<   rK   r   ÚfilenameToModuleÚassertEqualÚstr)r7   Úerrs   & r"   Útest_notFileÚFileTests.test_notFilel   s3   € ð
 ×Ñ¤
¬F×,CÑ,CÀTÓJˆØ×Ñœ˜S›Ð#7Ö8r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   t   s   € ÷ +ñ + 4ñ +r$   c                ó’   € \         P                  ! \        P                  ! \        R4      4      p^ RIHp V P                  W!4       R# )zp
If the file in question is a module on the Python path, then it should
properly import and return that module.
z	sample.py©ÚsampleN)r   rk   r   rI   rJ   Útwisted.trial.testrt   rl   ©r7   Úsample1Úsample2s   &  r"   Útest_moduleInPathÚFileTests.test_moduleInPatht   s0   € ô
 ×)Ò)¬$¯,ª,´xÀÓ*MÓNˆÝ8à×Ñ˜Ö*r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   ~   s   € ÷ 8ñ 8 dñ 8r$   c                ó   € V P                  V P                  4       \        P                  ! \        P
                  P                  V P                  RR4      4      pV P                  VP                  R4       V P                  4        V P                  V P                  4       ^ RIHp V P                  W4       \        V\!        V4      4       R# )zè
If passed the path to a file containing the implementation of a
module within a package which is not on the import path,
L{runner.filenameToModule} returns a module object loosely
resembling the module defined by that file anyway.
Úgoodpackageztest_sample.pyzgoodpackage.test_sample)Útest_sampleN)ÚmangleSysPathÚoldPathr   rk   ÚosrL   ÚjoinÚparentrl   rU   ÚcleanUpModulesÚnewPathr}   r~   ÚassertIsNotr	   rd   rv   s   &  r"   Útest_moduleNotInPathÚFileTests.test_moduleNotInPath~   s—   € ð 	×Ñ˜4Ÿ<™<Ô(Ü×)Ò)Ü�G‰G�L‰L˜Ÿ™ mÐ5EÓFó
ˆð 	×Ñ˜×)Ñ)Ð+DÔEà×ÑÔØ×Ñ˜4Ÿ<™<Ô(Ý6à×Ñ˜Ô*Ü�GÔ-¨gÓ6Ö7r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   “   s   € ÷ <ñ < Dñ <r$   c                óÐ   € \         P                  ! \        P                  P	                  V P
                  R4      4      pV P                  V\        P                  R,          4       R# )zr
If the file in question is a package on the Python path, then it should
properly import and return that package.
r}   N)	r   rk   r�   rL   r‚   rƒ   ÚassertIsÚsysÚmodules)r7   Úpackage1s   & r"   Útest_packageInPathÚFileTests.test_packageInPath“   s>   € ô
 ×*Ò*¬2¯7©7¯<©<¸¿¹À]Ó+SÓTˆà�‰�h¤§¡¨MÕ :Ö;r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   œ   s   € ÷ =ñ = tñ =r$   c                óš  € V P                  V P                  4       \        P                  ! \        P
                  P                  V P                  R4      4      pV P                  VP                  R4       V P                  4        V P                  V P                  4       ^ RIpV P                  W4       \        V\        V4      4       R# )zÓ
If passed the path to a directory which represents a package which
is not on the import path, L{runner.filenameToModule} returns a
module object loosely resembling the package defined by that
directory anyway.
r}   N)r   r€   r   rk   r�   rL   r‚   rƒ   rl   rU   r„   r…   r}   r†   r	   rd   )r7   rŽ   r}   s   &  r"   Útest_packageNotInPathÚFileTests.test_packageNotInPathœ   sŽ   € ð 	×Ñ˜4Ÿ<™<Ô(Ü×*Ò*¬2¯7©7¯<©<¸¿¹À]Ó+SÓTˆØ×Ñ˜×*Ñ*¨MÔ:à×ÑÔØ×Ñ˜4Ÿ<™<Ô(Ûà×Ñ˜Ô/Ü�HÔ.¨{Ó;Ö<r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   ®   s   € ÷ 
Tñ 
T¨$ñ 
Tr$   c                ó4  € \         P                  ! V P                  4      P                  R4      pVP	                  4        V P                  \        \        P                  VP                  4      pV P                  \        V4      VP                  : R24       R# )zÀ
L{runner.filenameToModule} raises a C{ValueError} when the name of an
empty directory is passed that isn't considered a valid Python package
because it doesn't contain a C{__init__.py} file.
ÚemptyDirectoryz is not a package directoryN)r   ra   rƒ   ÚchildÚcreateDirectoryr<   rK   r   rk   rL   rl   rm   )r7   ÚemptyDirrn   s   &  r"   Útest_directoryNotPackageÚ"FileTests.test_directoryNotPackage®   so   € ô ×$Ò$ T§[¡[Ó1×7Ñ7Ð8HÓIˆØ× Ñ Ô"à×Ñ¤
¬F×,CÑ,CÀXÇ]Á]ÓSˆØ×Ñœ˜S› h§m¡mÑ%6Ð6QÐ#RÖSr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   º   s   € ÷ Oñ O¨ñ Or$   c                óä   € \         P                  ! V P                  4      P                  R4      pVP	                  R4       V P                  \        \        P                  VP                  4       R# )zV
L{runner.filenameToModule} raises a C{SyntaxError} when a non-Python
file is passed.
Ú	notpythons   This isn't pythonN)
r   ra   rƒ   r˜   Ú
setContentr<   ÚSyntaxErrorr   rk   rL   )r7   Úfilenames   & r"   Útest_filenameNotPythonÚ FileTests.test_filenameNotPythonº   sN   € ô
 ×$Ò$ T§[¡[Ó1×7Ñ7¸ÓDˆØ×ÑÐ0Ô1Ø×Ñœ+¤v×'>Ñ'>ÀÇÁÖNr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   Ã   s   € ÷ ñ ¨Tñ r$   c                ó˜  € \         P                  ! V P                  4      P                  R4      pVP	                  \
        P                  P                  R4      4        \        P                  ! VP                  4      pV P                  VP                  VP                  4       VP                  4        R#   TP                  4        i ; i)zH
The C{__file__} attribute of the module should match the package name.
zgoodpackage.pyÚutf8N)r   ra   rƒ   r˜   r    r   Ú
testModuleÚencoder   rk   rL   rl   rJ   Úremove)r7   r¢   r\   s   &  r"   Útest_filenameMatchesPackageÚ%FileTests.test_filenameMatchesPackageÃ   s‰   € ô ×$Ò$ T§[¡[Ó1×7Ñ7Ð8HÓIˆØ×ÑœH×/Ñ/×6Ñ6°vÓ>Ô?ð	Ü×,Ò,¨X¯]©]Ó;ˆFØ×Ñ˜XŸ]™]¨F¯O©OÔ<à�O‰OÖøˆH�O‰OÕús   ÁAB7 Â7C	c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rh   Ð   s   € ÷ ñ  ñ r$   c                óv  € \         P                  ! V P                  4      P                  R4      pVP	                  4        VP                  R4      P                  R4        \        P                  ! VP                  4      pV P                  VP                  P                  R4      4       \        P                  ! VP                  \        P                  P                  ,           4      pV P                  VP                  P                  R4      4       VP                  4        R#   TP                  4        i ; i)z‡
Test loader against a filesystem directory containing an empty
C{__init__.py} file. It should handle 'path' and 'path/' the same way.
ÚgoodDirectoryú__init__.pyr$   N)r   ra   rƒ   r˜   r™   r    r   rk   rL   Ú
assertTruerU   Úendswithr�   Úseprª   )r7   ÚgoodDirr\   s   &  r"   Útest_directoryÚFileTests.test_directoryÐ   sË   € ô
 ×#Ò# D§K¡KÓ0×6Ñ6°ÓGˆØ×ÑÔ!Ø�‰�mÓ$×/Ñ/°Ô4ð	Ü×,Ò,¨W¯\©\Ó:ˆFØ�O‰O˜FŸO™O×4Ñ4°_ÓEÔFÜ×,Ò,¨W¯\©\¼B¿G¹G¿K¹KÕ-GÓHˆFØ�O‰O˜FŸO™O×4Ñ4°_ÓEÔFà�N‰NÖøˆG�N‰NÕús   Á!B3D& Ä&D8r    N)rU   rV   rW   rX   Ú__doc__ro   ry   r‡   r�   r“   r›   r£   r«   rµ   rY   r    r$   r"   rf   rf   g   s;   † ñõ9õ+õ8õ*<õ=õ$
TõOõ÷ñ r$   rf   c                  óŽ  € ] tR t^âtR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 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* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 lt R: R; lt!R< R= lt"R> R? lt#R@t$RA# )BÚLoaderTestsz 
Tests for L{trial.TestLoader}.
c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   ÚLoaderTests.__annotate__ç   s   € ÷ 1ñ 1�tñ 1r$   c                	óx   € \         P                  ! 4       V n        \        P                  P                  V 4       R # r2   )r   r5   r6   r   ÚSysPathManglingTestr4   r?   s   &r"   r4   ÚLoaderTests.setUpç   s&   € Ü×'Ò'Ó)ˆŒÜ×$Ñ$×*Ñ*¨4Ö0r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ë   s   € ÷ Tñ T ñ Tr$   c                	ó   a€ ^ RI Hp V P                  P                  VP                  4      pT P                  . ROVP                   Uu. uF  q3P                  NK  	  up4       . ROp\        \        V\        ^4      4      4      oV3R lV P                  n        V P                  P                  VP                  4      pT P                  YBP                   Uu. uF  q3P                  NK  	  up4       R# u upi u upi )é    rs   c                óD   <€ SP                  V P                  4       R4      # )é   éÿÿÿÿ)ÚgetÚshortDescription)ÚxÚsortDicts   &€r"   Ú<lambda>Ú,LoaderTests.test_sortCases.<locals>.<lambda>õ   s   ø€  x§|¡|°A×4FÑ4FÓ4HÈ"Ô'Mr$   N)Útest_aÚtest_bÚtest_c)rÌ   rÍ   rË   )ru   rt   r6   Ú	loadClassÚAlphabetTestrl   Ú_testsÚ_testMethodNameÚdictÚzipÚrangeÚsorter)r7   rt   Úsuiter)   ÚnewOrderrÈ   s   &    @r"   Útest_sortCasesÚLoaderTests.test_sortCasesë   s½   ø€ Ý-à—‘×%Ñ% f×&9Ñ&9Ó:ˆØ×ÑÚ*Ø.3¯lªlÓ;©l d×!Ô!©lÑ;ô	
ò 2ˆÜœ˜H¤e¨A£hÓ/Ó0ˆÜMˆ�‰ÔØ—‘×%Ñ% f×&9Ñ&9Ó:ˆØ×Ñ˜Ç\Â\Ó#RÁ\¸T×$8Ô$8Á\Ñ#RÖSùò <ùò $Ss   Á	C6
ÃC;
c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ù   s   € ÷ 2ñ 2 $ñ 2r$   c                ó
  € V P                   P                  R4      p\        P                  ! 4       pVP	                  V4       V P                  VP                  ^4       V P                  \        VP                  4      ^4       R# )zc
Loading a test that fails and getting the result of it ends up with one
test ran and one failure.
z6twisted.trial.test.erroneous.TestRegularFail.test_failN)	r6   Ú
loadByNamer   Ú
TestResultÚrunrl   ÚtestsRunÚlenÚfailures)r7   rÖ   Úresults   &  r"   Útest_loadFailureÚLoaderTests.test_loadFailureù   sd   € ð
 —‘×&Ñ&ØDó
ˆô ×$Ò$Ó&ˆØ�	‰	�&ÔØ×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÖ1r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»     s   € ÷ Eñ E tñ Er$   c                ó  € ^ RI Hp V P                  P                  VP                  P
                  VP                  . ROR7      pV P                  ^VP                  4       4       V P                  RVP                  4       R# )z™
A decorated test method for which the decorator has failed to set the
method's __name__ correctly is loaded and its name in the class scope
discovered.
rs   Útest_badDecorator©rƒ   ÚqualNameN)rt   ÚDecorationTestrç   )	ru   rt   r6   ÚloadAnythingrê   rç   rl   ÚcountTestCasesrÑ   ©r7   rt   rÖ   s   &  r"   Útest_loadBadDecoratorÚ!LoaderTests.test_loadBadDecorator  sm   € õ 	.à—‘×(Ñ(Ø×!Ñ!×3Ñ3Ø×(Ñ(ÚFð )ó 
ˆð
 	×Ñ˜˜E×0Ñ0Ó2Ô3Ø×ÑÐ,¨e×.CÑ.CÖDr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»     s   € ÷ Fñ F¨ñ Fr$   c                ó  € ^ RI Hp V P                  P                  VP                  P
                  VP                  . ROR7      pV P                  ^VP                  4       4       V P                  RVP                  4       R# )z�
A decorated test method for which the decorator has set the method's
__name__ correctly is loaded and the only name by which it goes is used.
rs   Útest_goodDecoratorrè   N)rt   rê   rò   )	ru   rt   r6   rë   rê   rò   rl   rì   rÑ   rí   s   &  r"   Útest_loadGoodDecoratorÚ"LoaderTests.test_loadGoodDecorator  sm   € õ
 	.à—‘×(Ñ(Ø×!Ñ!×4Ñ4Ø×(Ñ(ÚGð )ó 
ˆð
 	×Ñ˜˜E×0Ñ0Ó2Ô3Ø×ÑÐ-¨u×/DÑ/DÖEr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   %  s   € ÷ Iñ I¨4ñ Ir$   c                ó  € ^ RI Hp V P                  P                  VP                  P
                  VP                  . ROR7      pV P                  ^VP                  4       4       V P                  RVP                  4       R# )z—
Load a decorated method which has been copied to a new name inside the
class.  Thus its __name__ and its key in the class's __dict__ no
longer match.
rs   Útest_renamedDecoratorrè   N)rt   rê   r÷   )	ru   rt   r6   rë   rê   r÷   rl   rì   rÑ   rí   s   &  r"   Útest_loadRenamedDecoratorÚ%LoaderTests.test_loadRenamedDecorator%  sm   € õ 	.à—‘×(Ñ(Ø×!Ñ!×7Ñ7Ø×(Ñ(ÚJð )ó 
ˆð
 	×Ñ˜˜E×0Ñ0Ó2Ô3Ø×ÑÐ0°%×2GÑ2GÖHr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   5  s   € ÷ 
ñ 
 ñ 
r$   c                	ó  € ^ RI Hp V P                  P                  VP                  4      pV P                  ^VP                  4       4       T P                  RR.VP                   Uu. uF  q3P                  NK  	  up4       R# u upi )rÁ   rs   Útest_barÚtest_fooN)	ru   rt   r6   rÎ   ÚFooTestrl   rì   rÐ   rÑ   )r7   rt   rÖ   r)   s   &   r"   Útest_loadClassÚLoaderTests.test_loadClass5  sh   € Ý-à—‘×%Ñ% f§n¡nÓ5ˆØ×Ñ˜˜E×0Ñ0Ó2Ô3Ø×ÑØ˜Ð$ÈÏÊÓ&UÉÀ×';Ô';ÉÑ&Uö	
ùÚ&Us   Á(B
c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   >  s   € ÷ Lñ L 4ñ Lr$   c                	ó’  € ^ RI Hp V P                  \        V P                  P
                  V4       V P                  \        V P                  P
                  VP                  P                  4       V P                  \        V P                  P
                  R4       V P                  \        V P                  P
                  R4       R# ©rÁ   rs   ÚstringN)ÚfooÚbar)ru   rt   r<   Ú	TypeErrorr6   rÎ   rþ   rý   ©r7   rt   s   & r"   Útest_loadNonClassÚLoaderTests.test_loadNonClass>  s   € Ý-à×Ñœ) T§[¡[×%:Ñ%:¸FÔCØ×Ñœ) T§[¡[×%:Ñ%:¸F¿N¹N×<SÑ<SÔTØ×Ñœ) T§[¡[×%:Ñ%:¸HÔEØ×Ñœ) T§[¡[×%:Ñ%:¸NÖKr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   F  s   € ÷ Nñ N dñ Nr$   c                	ó|   € ^ RI Hp V P                  \        V P                  P
                  VP                  4       R# ©rÁ   rs   N)ru   rt   r<   rK   r6   rÎ   ÚNotATestr  s   & r"   Útest_loadNonTestCaseÚ LoaderTests.test_loadNonTestCaseF  s%   € Ý-à×Ñœ* d§k¡k×&;Ñ&;¸V¿_¹_ÖMr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   K  s   € ÷ 5ñ 5 ñ 5r$   c                	óˆ   € ^ RI Hp V P                  P                  V4      pV P	                  ^
VP                  4       4       R# r  )ru   rt   r6   Ú
loadModulerl   rì   rí   s   &  r"   Útest_loadModuleÚLoaderTests.test_loadModuleK  s2   € Ý-à—‘×&Ñ& vÓ.ˆØ×Ñ˜˜U×1Ñ1Ó3Ö4r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   Q  s   € ÷ Mñ M Dñ Mr$   c                	ó¦  € ^ RI Hp V P                  \        V P                  P
                  VP                  4       V P                  \        V P                  P
                  VP                  P                  4       V P                  \        V P                  P
                  R4       V P                  \        V P                  P
                  R4       R# r  )ru   rt   r<   r  r6   r  rþ   rý   r  s   & r"   Útest_loadNonModuleÚLoaderTests.test_loadNonModuleQ  sƒ   € Ý-à×Ñœ) T§[¡[×%;Ñ%;¸V¿^¹^ÔLØ×Ñœ) T§[¡[×%;Ñ%;¸V¿^¹^×=TÑ=TÔUØ×Ñœ) T§[¡[×%;Ñ%;¸XÔFØ×Ñœ) T§[¡[×%;Ñ%;¸^ÖLr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   Y  s   € ÷ 4ñ 4 $ñ 4r$   c                	ó„   € ^ RI pV P                  P                  V4      pV P                  ^VP	                  4       4       R# ©rÁ   N©r}   r6   ÚloadPackagerl   rì   ©r7   r}   rÖ   s   &  r"   Útest_loadPackageÚLoaderTests.test_loadPackageY  s2   € Ûà—‘×'Ñ'¨Ó4ˆØ×Ñ˜˜E×0Ñ0Ó2Ö3r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   _  s   € ÷ Nñ N Tñ Nr$   c                	ó¦  € ^ RI Hp V P                  \        V P                  P
                  VP                  4       V P                  \        V P                  P
                  VP                  P                  4       V P                  \        V P                  P
                  R4       V P                  \        V P                  P
                  R4       R# r  )ru   rt   r<   r  r6   r  rþ   rý   r  s   & r"   Útest_loadNonPackageÚLoaderTests.test_loadNonPackage_  sƒ   € Ý-à×Ñœ) T§[¡[×%<Ñ%<¸f¿n¹nÔMØ×Ñœ) T§[¡[×%<Ñ%<¸f¿n¹n×>UÑ>UÔVØ×Ñœ) T§[¡[×%<Ñ%<¸hÔGØ×Ñœ) T§[¡[×%<Ñ%<¸nÖMr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   g  s   € ÷ Fñ F¨$ñ Fr$   c                	óh   € ^ RI Hp V P                  \        V P                  P
                  V4       R# r  )ru   rt   r<   r  r6   r  r  s   & r"   Útest_loadModuleAsPackageÚ$LoaderTests.test_loadModuleAsPackageg  s#   € Ý-ð 	×Ñœ) T§[¡[×%<Ñ%<¸fÖEr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   m  s   € ÷ 5ñ 5¨4ñ 5r$   c                	óˆ   € ^ RI pV P                  P                  VRR7      pV P                  ^VP	                  4       4       R# ©rÁ   NT©Úrecurser  r  s   &  r"   Útest_loadPackageRecursiveÚ%LoaderTests.test_loadPackageRecursivem  s7   € Ûà—‘×'Ñ'¨¸TÐ'ÓBˆØ×Ñ˜˜U×1Ñ1Ó3Ö4r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   s  s   € ÷ 
ñ 
¨4ñ 
r$   c                	óì   € ^ RI Hp V P                  P                  V4      pV P	                  VP
                  VP                  ^ ,          P                  ^ ,          P                  P                  4       R# r  )	ru   rt   r6   rë   rl   rU   rÐ   r8   rV   rí   s   &  r"   Útest_loadAnythingOnModuleÚ%LoaderTests.test_loadAnythingOnModules  sO   € Ý-à—‘×(Ñ(¨Ó0ˆØ×ÑØ�O‰O˜UŸ\™\¨!�_×3Ñ3°AÕ6×@Ñ@×KÑKö	
r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   {  s   € ÷ 4ñ 4¨$ñ 4r$   c                	óœ   € ^ RI Hp V P                  P                  VP                  4      pV P                  ^VP                  4       4       R# r  )ru   rt   r6   rë   rþ   rl   rì   rí   s   &  r"   Útest_loadAnythingOnClassÚ$LoaderTests.test_loadAnythingOnClass{  s6   € Ý-à—‘×(Ñ(¨¯©Ó8ˆØ×Ñ˜˜E×0Ñ0Ó2Ö3r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   �  s   € ÷ 4ñ 4¨Dñ 4r$   c                	óà   € ^ RI pV P                  P                  V4      pV P                  \	        W P                  P
                  4      4       V P                  ^VP                  4       4       R# r  ©r}   r6   rë   r±   Ú
isinstanceÚsuiteFactoryrl   rì   r  s   &  r"   Útest_loadAnythingOnPackageÚ&LoaderTests.test_loadAnythingOnPackage�  sM   € Ûà—‘×(Ñ(¨Ó5ˆØ�‰œ
 5¯+©+×*BÑ*BÓCÔDØ×Ñ˜˜E×0Ñ0Ó2Ö3r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ˆ  s   € ÷ 5ñ 5°Tñ 5r$   c                	óä   € ^ RI pV P                  P                  VRR7      pV P                  \	        W P                  P
                  4      4       V P                  ^VP                  4       4       R# r,  r;  r  s   &  r"   Ú#test_loadAnythingOnPackageRecursiveÚ/LoaderTests.test_loadAnythingOnPackageRecursiveˆ  sR   € Ûà—‘×(Ñ(¨¸dÐ(ÓCˆØ�‰œ
 5¯+©+×*BÑ*BÓCÔDØ×Ñ˜˜U×1Ñ1Ó3Ö4r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   �  s   € ÷ Nñ N¨4ñ Nr$   c                	ó\   € V P                  \        V P                  P                  R 4       R# )r}   N)r<   r  r6   rë   r?   s   &r"   Útest_loadAnythingOnStringÚ%LoaderTests.test_loadAnythingOnString�  s    € ð 	×Ñœ) T§[¡[×%=Ñ%=¸}ÖMr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ”  s   € ÷ 
ñ 
 4ñ 
r$   c                	óÌ  € ^ RI pV P                  P                  VRR7      p\        P                  ! 4       pVP                  V4       V P                  RVP                  4       4       V P                  ^\        VP                  4      4       VP                   UUu. uF  w  rEVP                  4       NK  	  pppVP                  4        V P                  VRR.4       R# u uppi )rÁ   NTr-  Fzpackage.test_bad_modulezpackage.test_import_module)Úpackager6   r  r   ÚReporterrÞ   rl   ÚwasSuccessfulrà   Úerrorsr'   Úsort)r7   rJ  rÖ   râ   r)   ÚerrorrM  s   &      r"   Útest_importErrorsÚLoaderTests.test_importErrors”  s²   € Ûà—‘×'Ñ'¨¸Ð'Ó>ˆÜ×"Ò"Ó$ˆØ�	‰	�&ÔØ×Ñ˜ × 4Ñ 4Ó 6Ô7Ø×Ñ˜œC §¡Ó.Ô/Ø/5¯}ª}Ô=©}¡ �$—'‘'–)©}ˆÑ=Ø�‰ŒØ×ÑØÐ.Ð0LÐMö	
ùó >s   ÂC c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ¢  s   € ÷ 0ñ 0¨ñ 0r$   c                óø   €  ! R R\         P                  4      pV P                  P                  V4      p\        P
                  ! 4       pVP                  V4       V P                  VP                  4       4       R# )zŒ
L{TestLoader.loadClass} returns a suite with each test method
represented by a different instances of the L{TestCase} they are
defined on.
c                  ó.   € ] tR tRtR R ltR R ltRtR# )Ú>LoaderTests.test_differentInstances.<locals>.DistinctInstancesi©  c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   ÚKLoaderTests.test_differentInstances.<locals>.DistinctInstances.__annotate__ª  s   € ÷ (ñ ( ñ (r$   c                	ó   € R V n         R# )Útest1RunN©Úfirstr?   s   &r"   Útest_1ÚELoaderTests.test_differentInstances.<locals>.DistinctInstances.test_1ª  s	   € Ø'�–
r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   rW  ­  s   € ÷ 9ñ 9 ñ 9r$   c                	ó<   € V P                  \        V R 4      4       R# )r[  N)ÚassertFalseÚhasattrr?   s   &r"   Útest_2ÚELoaderTests.test_differentInstances.<locals>.DistinctInstances.test_2­  s   € Ø× Ñ ¤¨¨wÓ!7Ö8r$   rZ  N)rU   rV   rW   rX   r\  rb  rY   r    r$   r"   ÚDistinctInstancesrU  ©  s   † õ(÷9ñ 9r$   rd  N)	ÚpyunitÚTestCaser6   rÎ   r   rK  rÞ   r±   rL  )r7   rd  rÖ   râ   s   &   r"   Útest_differentInstancesÚ#LoaderTests.test_differentInstances¢  sX   € ô	9¤§¡ô 	9ð —‘×%Ñ%Ð&7Ó8ˆÜ×"Ò"Ó$ˆØ�	‰	�&ÔØ�‰˜×,Ñ,Ó.Ö/r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   µ  s   € ÷ 	Hñ 	H°ñ 	Hr$   c                óÂ   € ^ RI Hp V P                  P                  V4      pV P	                  ^ VP                  4       4       V P	                  R\        VRR4      4       R# )zX
Check that C{test_suite} is used when present and other L{TestCase}s are
not included.
)ÚmockcustomsuiteÚMyCustomSuiter^   N)ru   rk  r6   r  rl   rì   Úgetattr)r7   rk  rÖ   s   &  r"   Útest_loadModuleWith_test_suiteÚ*LoaderTests.test_loadModuleWith_test_suiteµ  sM   € õ
 	7à—‘×&Ñ& Ó7ˆØ×Ñ˜˜E×0Ñ0Ó2Ô3Ø×Ñ˜¬'°%¸ÀÓ*FÖGr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   À  s   € ÷ 	Hñ 	H¨tñ 	Hr$   c                óÂ   € ^ RI Hp V P                  P                  V4      pV P	                  ^ VP                  4       4       V P	                  R\        VRR4      4       R# )zW
Check that C{testSuite} is used when present and other L{TestCase}s are
not included.
©Úmockcustomsuite2rl  r^   N)ru   rs  r6   r  rl   rì   rm  )r7   rs  rÖ   s   &  r"   Útest_loadModuleWith_testSuiteÚ)LoaderTests.test_loadModuleWith_testSuiteÀ  sN   € õ
 	8à—‘×&Ñ&Ð'7Ó8ˆØ×Ñ˜˜E×0Ñ0Ó2Ô3Ø×Ñ˜¬'°%¸ÀÓ*FÖGr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   Ë  s   € ÷ Dñ D¨tñ Dr$   c                ó‚   € ^ RI Hp V P                  P                  V4      pV P	                  R\        VRR4      4       R# )zl
Check that if C{testSuite} and C{test_suite} are both present in a
module then C{testSuite} gets priority.
)Úmockcustomsuite3Ú	testSuiter^   N)ru   rx  r6   r  rl   rm  )r7   rx  rÖ   s   &  r"   Útest_loadModuleWithBothCustomÚ)LoaderTests.test_loadModuleWithBothCustomË  s5   € õ
 	8à—‘×&Ñ&Ð'7Ó8ˆØ×Ñ˜¤g¨e°V¸TÓ&BÖCr$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   Õ  s   € ÷ 2ñ 2°Tñ 2r$   c                ó¾   € R R lp^ RI Hp WP                  uVn        p V P                  \        V P
                  P                  V4       W2n        R#   Y2n        i ; i)zb
Make sure that any C{AttributeError}s raised by C{testSuite} are not
swallowed by L{TestLoader}.
c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   ÚELoaderTests.test_customLoadRaisesAttributeError.<locals>.__annotate__Û  s   € ÷ 	7ñ 	7˜4ñ 	7r$   c                 ó   € \        R 4      h)zshould be reraised)r=   r    r$   r"   ry  ÚBLoaderTests.test_customLoadRaisesAttributeError.<locals>.testSuiteÛ  s   € Ü Ð!5Ó6Ð6r$   rr  N)ru   rs  ry  r<   r=   r6   r  )r7   ry  rs  Úoriginals   &   r"   Ú#test_customLoadRaisesAttributeErrorÚ/LoaderTests.test_customLoadRaisesAttributeErrorÕ  sO   € õ	7õ 	8à09×;UÑ;UÐ,ÐÔ" Hð	2Ø×Ñœn¨d¯k©k×.DÑ.DÐFVÔWà)1Ö&ø¨Õ&ús   ¡+A ÁAc               ó$   € V ^8„  d   QhRRRRRR/# )r   Útest1r   Útest2r   r/   r    )r!   s   "r"   r#   r»   ç  s(   € ÷ 	)ñ 	)à1ð	)ð 2ð	)ð 
ñ		)r$   c                	ó”   € \        V4      p\        V4      pVP                  4        VP                  4        V P                  W44       R # r2   )r*   rN  rl   )r7   r†  r‡  Únames1Únames2s   &&&  r"   ÚassertSuitesEqualÚLoaderTests.assertSuitesEqualç  s8   € ô
 ˜5Ó!ˆÜ˜5Ó!ˆØ�‰ŒØ�‰ŒØ×Ñ˜Ö(r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   ò  s   € ÷ /ñ /¨4ñ /r$   c                óž   € RpV P                   P                  W.R4      pV P                   P                  VR4      pV P                  W#4       R# )z0
Check that loadByNames ignores duplicate names
útwisted.trial.test.test_logTN)r6   ÚloadByNamesrÜ   r‹  )r7   r\   Úsuite1Úsuite2s   &   r"   Útest_loadByNamesDuplicateÚ%LoaderTests.test_loadByNamesDuplicateò  sF   € ð /ˆØ—‘×(Ñ(¨&Ð)9¸4Ó@ˆØ—‘×'Ñ'¨°Ó5ˆØ×Ñ˜vÖ.r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»   û  s   € ÷ ?ñ ?°ñ ?r$   c                óô   € . ROpV P                   P                  V4      p\        P                  ! \	        V P                   P
                  V4      4      pV P                  \        V4      \        V4      4       R# )zH
L{TestLoader.loadByNames} preserves the order of tests provided to it.
N)ú$inheritancepackage.test_x.A.test_fooztwisted.trial.test.sampler}   r�  z!twisted.trial.test.sample.FooTestúpackage.test_module)r6   r�  r   Ú	TestSuiteÚmaprÜ   rl   r*   ©r7   r�   r‘  r’  s   &   r"   Útest_loadByNamesPreservesOrderÚ*LoaderTests.test_loadByNamesPreservesOrderû  sZ   € ò
ˆð —‘×(Ñ(¨Ó1ˆÜ×!Ò!¤# d§k¡k×&<Ñ&<¸gÓ"FÓGˆØ×Ñœ 6Ó*¬I°fÓ,=Ö>r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»     s   € ÷ /ñ /¨ñ /r$   c                óÎ   € RR.pV P                   P                  V4      p\        P                  ! \	        V P                   P
                  V4      4      pV P                  W#4       R# )z=
Check that loadByNames loads all the names that it is given
r}   r˜  N©r6   r�  r   r™  rš  rÜ   r‹  r›  s   &   r"   Útest_loadDifferentNamesÚ#LoaderTests.test_loadDifferentNames  sR   € ð !Ð"7Ð8ˆØ—‘×(Ñ(¨Ó1ˆÜ×!Ò!¤# d§k¡k×&<Ñ&<¸gÓ"FÓGˆØ×Ñ˜vÖ.r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r»     s   € ÷ /ñ /¨4ñ /r$   c                óÎ   € RR.pV P                   P                  V4      p\        P                  ! \	        V P                   P
                  V4      4      pV P                  W#4       R# )z]
Check that test methods names which are inherited from are all
loaded rather than just one.
r—  z$inheritancepackage.test_x.B.test_fooNr   )r7   Úmethodsr‘  r’  s   &   r"   Útest_loadInheritedMethodsÚ%LoaderTests.test_loadInheritedMethods  sV   € ð 3Ø2ð
ˆð —‘×(Ñ(¨Ó1ˆÜ×!Ò!¤# d§k¡k×&<Ñ&<¸gÓ"FÓGˆØ×Ñ˜vÖ.r$   rT   N)%rU   rV   rW   rX   r·   r4   rØ   rã   rî   ró   rø   rÿ   r	  r  r  r  r   r$  r(  r/  r3  r7  r>  rB  rF  rP  rg  rn  rt  rz  rƒ  r‹  r“  rœ  r¡  r¦  rY   r    r$   r"   r¹   r¹   â   s´   † ñõ1õTõ2õEõ FõIõ 
õLõNõ
5õMõ4õNõFõ5õ
õ4õ4õ5õNõ

õ0õ&	Hõ	HõDõ2õ$	)õ/õ?õ /÷/ñ /r$   r¹   c                  ó"   € ] tR tRtR R ltRtR# )ÚZipLoadingTestsi"  c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   ÚZipLoadingTests.__annotate__#  s   € ÷ 9ñ 9�tñ 9r$   c                	ó  € ^ RI Hp \        P                  V 4       V! V P                  V P                  R,           4       V ;P                  R,          un        V P                  V P                  V P                  .,           4       R# )rÁ   )Úzipitz.zipN)Ú twisted.python.test.test_zippathr­  r¹   r4   rƒ   r   r€   )r7   r­  s   & r"   r4   ÚZipLoadingTests.setUp#  sU   € Ý:ä×Ñ˜$ÔÙˆd�k‰k˜4Ÿ;™;¨Õ/Ô0Ø�Š�vÕ�Ø×Ñ˜4Ÿ<™<¨4¯;©;¨-Õ7Ö8r$   r    N)rU   rV   rW   rX   r4   rY   r    r$   r"   r©  r©  "  s   † ÷9ñ 9r$   r©  c                  ól   € ] tR tRtR R ltR R lt]P                  3R R lltR R	 lt	R
 R lt
RtR# )ÚPackageOrderingTestsi,  c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   Ú!PackageOrderingTests.__annotate__-  s   € ÷ 9ñ 9�tñ 9r$   c                	óì  € \         P                  ! 4       V n        V P                  4       V n        \
        P                  P                  V P                  R 4      p\
        P                  ! V4       \        \
        P                  P                  VR4      R4      P                  4        \        P                  P                  W4       V P                  V P                  V P                  .,           4       R# )Úuberpackager°   ÚwbN)r   r5   r6   ÚmktempÚtopDirr�   rL   r‚   ÚmakedirsÚopenÚcloser   r½   r4   r   r€   )r7   rƒ   s   & r"   r4   ÚPackageOrderingTests.setUp-  s–   € Ü×'Ò'Ó)ˆŒØ—k‘k“mˆŒÜ—‘—‘˜dŸk™k¨=Ó9ˆÜ
�Š�FÔÜŒR�W‰W�\‰\˜& -Ó0°$Ó7×=Ñ=Ô?Ü×$Ñ$×*Ñ*¨4Ô8Ø×Ñ˜4Ÿ<™<¨4¯;©;¨-Õ7Ö8r$   c               ó    € V ^8„  d   QhRRRR/# )r   rÕ   zBCallable[[PythonModule | PythonAttribute], SupportsRichComparison]r   z5Generator[PythonModule | PythonAttribute, None, None]r    )r!   s   "r"   r#   r³  6  s   € ÷ +-ñ +-ØXð+-à	>ñ+-r$   c              #  ó  "  € \        R4      p. pVP                  4        FM  pVP                  P                  R4      R,          P	                  R4      '       g   K<  VP                  V4       KO  	  \        W1R7      pV EF  pVP                  R4      pVf   Vx € K  . pVP                  4        F@  p	\        P                  ! V	P                  4       4      '       g   K/  VP                  V	4       KB  	  \        W�R7      p
V
 F|  p. pVP                  4        FM  pVP                  P                  R4      R,          P	                  R4      '       g   K<  VP                  V4       KO  	  \        WÁR7      pT Rj  x€L
  K~  	  EK  	  R#  L5i)aF  
Right now, halfway by accident, trial sorts like this:

    1. all modules are grouped together in one list and sorted.

    2. within each module, the classes are grouped together in one list
       and sorted.

    3. finally within each class, each test method is grouped together
       in a list and sorted.

This attempts to return a sorted list of testable thingies following
those rules, so that we can compare the behavior of loadPackage.

The things that show as 'cases' are errors from modules which failed to
import, and test methods.  Let's gather all those together.
rµ  Ú.Útest_)ÚkeyNr)   rÄ   )r   ÚwalkModulesr^   ÚsplitÚ
startswithr&   ÚsortedÚloadÚiterAttributesr   Ú
isTestCase)r7   rÕ   ÚpkgÚtestModulesr¨   ÚsortedModulesÚmodinfor\   ÚtestClassesÚattribÚsortedClassesÚclsinfoÚtestMethodsÚattrÚsortedMethodss   &&             r"   Ú_trialSortAlgorithmÚ(PackageOrderingTests._trialSortAlgorithm6  s>  é € ô( ˜Ó&ˆØˆØŸ/™/Ö+ˆJØ�‰×$Ñ$ SÓ)¨"Õ-×8Ñ8¸×AÔAØ×"Ñ" :Ö.ñ ,ô ˜{Ô7ˆÜ$ˆGà—\‘\ $Ó'ˆFØŠ~Ø”à �Ø%×4Ñ4Ö6�FÜ×(Ò(¨¯©«×7Ô7Ø#×*Ñ*¨6Ö2ñ 7ô !' {Ô ?�Û,�GØ"$�KØ '× 6Ñ 6Ö 8˜ØŸ9™9Ÿ?™?¨3Ó/°Õ3×>Ñ>¸v×FÔFØ'×.Ñ.¨tÖ4ñ !9ô %+¨;Ô$C�MØ,×,Ò,ô  -ó %ñ" -ùs&   ‚AFÁA>FÃA/FÅ&FÅ9F	Å:Fc               ó    € V ^8„  d   QhRRRR/# )r   rÕ   z4Callable[[runner._Loadable], SupportsRichComparison]r   r/   r    )r!   s   "r"   r#   r³  c  s   € ÷ =ñ =ØJð=à	ñ=r$   c           
     ó  € ^ RI pWP                  n        V P                  P                  VRR7      p\        P
                  ! V\        4      p\        \        V4      4      p\        V P                  V4      4      p\        \        WT4      4       FT  w  pw  rxV P                  VP                  VP                  4       RWgP                  VP                  4       3,          4       KV  	  V P                  \        V4      \        V4      4       R# )z7
Verify that packages are loaded in the correct order.
NTr-  z#%d: %s != %s)rµ  r6   rÕ   r  r   Údecorater   Úlistr   rÔ  Ú	enumeraterÓ   rl   r^   r'   rà   )	r7   rÕ   rµ  rÖ   ÚresultingTestsÚmanifestÚnumberÚmanifestTestÚ
actualTests	   &&       r"   ÚloadSortedPackagesÚ'PackageOrderingTests.loadSortedPackagesc  s×   € ó 	à#�‰ÔØ—‘×'Ñ'¨¸TÐ'ÓBˆô ×!Ò! %¬Ó3ˆÜœm¨EÓ2Ó3ˆÜ˜×0Ñ0°Ó8Ó9ˆÜ2;Ü�Ó)ö3
Ñ.ˆFÑ.�\ð ×ÑØ×!Ñ!Ø—‘“Ø 6×+<Ñ+<¸j¿m¹m»oÐ"NÕNöñ3
ð 	×Ñœ˜X›¬¨NÓ(;Ö<r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r³  |  s   € ÷ "ñ "¨tñ "r$   c                	ó&   € V P                  4        R # r2   ©rà  r?   s   &r"   Útest_sortPackagesDefaultOrderÚ2PackageOrderingTests.test_sortPackagesDefaultOrder|  s   € Ø×ÑÖ!r$   c               ó   € V ^8„  d   QhRR/# r.   r    )r!   s   "r"   r#   r³    s   € ÷ 
-ñ 
-¨Tñ 
-r$   c                	ó4   € R  R lpV P                  V4       R# )c               ó    € V ^8„  d   QhRRRR/# )r   Úszrunner._Loadabler   rm   r    )r!   s   "r"   r#   ÚFPackageOrderingTests.test_sortPackagesSillyOrder.<locals>.__annotate__€  s   € ÷ 	ñ 	Ð+ð 	°ñ 	r$   c                ó‚   € \         P                  ! V 4      p\        VP                  R 4      4      P	                  4       pV# )r§   )r   r^   r   r©   Ú	hexdigest)rê  ÚnÚds   &  r"   ÚsillySorterÚEPackageOrderingTests.test_sortPackagesSillyOrder.<locals>.sillySorter€  s2   € ô
 —’˜A“ˆAÜ�A—H‘H˜VÓ$Ó%×/Ñ/Ó1ˆAØˆHr$   Nrä  )r7   rð  s   & r"   Útest_sortPackagesSillyOrderÚ0PackageOrderingTests.test_sortPackagesSillyOrder  s   € õ	ð 	×Ñ Ö,r$   )r6   r¸  N)rU   rV   rW   rX   r4   rÔ  r   r^   rà  rå  rò  rY   r    r$   r"   r±  r±  ,  s,   † õ9õ+-ð\ NTÏ[É[÷=õ2"÷
-ñ 
-r$   r±  )5r·   Ú
__future__r   r�   rŒ   r   re  Úhashlibr   Úoperatorr   Útypesr   Útypingr   r   r   Úhamcrestr	   r
   r   Úhamcrest.core.matcherr   Útwisted.pythonr   r   Útwisted.python.modulesr   r   r   Útwisted.python.reflectr   Útwisted.trialr   r   Útwisted.trial._asyncrunnerr   Útwisted.trial.itrialr   ru   r   Úmatchersr   Ú	_typeshedr   r*   r½   r,   rd   rf   r¹   r©  r±  r    r$   r"   Ú<module>r     s»   ðñõ #ã 	Û 
Û Ý Ý Ý ß 5Ñ 5ç :Ñ :Ý )ç )ß KÑ KÝ 1ß 4Ñ 4Ý 4Ý *Ý 'Ý çÝ0õô!
�X×1Ñ1ô !
õH5ô0x�×,Ñ,ô xôv}/�(×.Ñ.ô }/ô@
9�kô 9ô]-˜8×7Ñ7ö ]-r$   