+
    Bi}                        ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIHt ^ RI	t	^ RI
Ht ]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t ! R	 R
4      t ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  t t! ! R R]4      t"]P&                  ! ]"]R7      w  t#t$ ! R R]4      t%]P&                  ! ]%]R7      w  t&t'RUR lt( ! R R4      t) ! R R4      t ! R R])4      t*]P&                  ! ]*4      w  t+t, ! R  R4      t ! R! R"])4      t-]P&                  ! ]-4      w  t.t/ ! R# R$4      t0 ! R% R&])4      t1]P&                  ! ]14      w  t2t3 ! R' R]04      t ! R( R)])4      t4]P&                  ! ]44      w  t5t6 ! R* R]04      t](! ]4      t7 ! R+ R,])4      t8]P&                  ! ]84      w  t9t: ! R- R]4      t](! ]4      t; ! R. R/])4      t<]P&                  ! ]84      w  t=t> ! R0 R14      t? ! R2 R34      t@]P&                  ! ]@]]R47      w  tAtB ! R5 R64      tC]P&                  ! ]C]]R47      w  tDtE ! R7 R84      tF]P&                  ! ]F]7R97      w  tGtH ! R: R;4      tI]P&                  ! ]I]7R97      w  tJtK ! R< R=4      tL]P&                  ! ]L]7]]R>7      w  tMtN ! R? R@4      tO]P&                  ! ]O];RA7      w  tPtQ ! RB RC4      tR](! ]RR4      tS ! RD R]R4      t%](! ]%]]RE7      tT ! RF RG4      tU ! RH RI]U4      tV]P&                  ! ]V]]SRJ7      w  tWtX]P                  ! ]P                  RK4       ! RL RM]U4      4       t[]P&                  ! ][]]]TRN7      w  t\t] ! RO RP4      t^]P&                  ! ]^]SRQ7      w  t_t` ! RR RS]P                  4      tb]cRT8X  d   ]P                  ! 4        R# R# )V    N)import_helper)mock)util	importlibzimportlib.abczimportlib.machineryzimportlib.utilc                   >   a  ] tR t^t o Rt. t. tR tR tR t	Rt
V tR# )InheritanceTestszOTest that the specified class is a subclass/superclass of the expected
classes.c                   V P                    Uu. uF  p\        V P                  V4      NK  	  upV n        \	        V R 4      '       dA   V P                  P
                  pV P                   Uu. uF  p\        W!4      NK  	  upV n        V P                  '       g$   V P                  '       g   Q V P                  4       h\        V P                  V P                  4      V n
        R# u upi u upi )subclass_namesN)superclass_namesgetattrabcsuperclasseshasattr	machineryr
   
subclasses	__class___NAME_InheritanceTests__test)self
class_namer   s   &  3/usr/lib/python3.14/test/test_importlib/test_abc.pysetUpInheritanceTests.setUp   s    /3/D/DF/D %TXXz:/DF4)** **I151D1DF1D:  'y=1DFDO$"3"3"3CT^^C3dhh

3FFs   C$,C)c                b    V P                    F  pV P                  WP                  4       K   	  R # N)r   assertIsSubclassr   )r   subclasss   & r   test_subclasses InheritanceTests.test_subclasses+   s"    H!!(KK8 (    c                d    V P                    F  pV P                  V P                  V4       K!  	  R # r   )r   r   r   )r   
superclasss   & r   test_superclasses"InheritanceTests.test_superclasses0   s&    ++J!!$++z: ,r    )__testr   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r#   __static_attributes____classdictcell____classdict__s   @r   r   r      s*      JL49
; ;r    r   c                   "    ] tR t^6t. t. ROtRtR# )MetaPathFinder N)BuiltinImporterFrozenImporter
PathFinderWindowsRegistryFinderr&   r'   r(   r)   r   r
   r+   r1   r    r   r0   r0   6   s    /Nr    r0   )r   c                        ] tR t^At. tR.tRtR# )PathEntryFinder
FileFinderr1   Nr6   r1   r    r   r8   r8   A   s    "^Nr    r8   c                       ] tR t^KtR.tRtR# )ResourceLoaderLoaderr1   N)r&   r'   r(   r)   r   r+   r1   r    r   r;   r;   K   s
     zr    r;   c                   $    ] tR t^TtR.t. ROtRtR# )InspectLoaderr<   r1   N)r2   r3   ExtensionFileLoaderr6   r1   r    r   r>   r>   T   s     zQNr    r>   c                   "    ] tR t^^tR.tR.tRtR# )ExecutionLoaderr>   r?   r1   Nr6   r1   r    r   rA   rA   ^   s    '(+,Nr    rA   c                   &    ] tR t^htRR.tRR.tRtR# )
FileLoaderr;   rA   SourceFileLoaderSourcelessFileLoaderr1   Nr6   r1   r    r   rC   rC   h   s    (*;<(*@ANr    rC   c                   $    ] tR t^rtRR.tR.tRtR# )SourceLoaderr;   rA   rD   r1   Nr6   r1   r    r   rG   rG   r   s    (*;<()Nr    rG   c           	         Vf   V P                   p\        P                  4        UUu/ uF  w  rEV\        WQ4      bK  	  ppp\        P
                  ! W3/ VB  Uu/ uF  pVP                  V'       d   V! 4       MTbK!  	  up# u uppi u upi r   )r&   r   itemsr   	test_utilsplit_frozen_KIND)
base_classnameinstkwargskindsplitabcbaseclss   &&&,    r   make_abc_subclassesrU   ~   s    |"""%))+/"- '())"- 	 / !--jI&IKI IIsu#-IK K/Ks   BB	3B	c                   0   a  ] tR t^t o ]R 4       tRtV tR# )ABCTestHarnessc                n    V P                   V P                  ,          pV! 4       pW P                  n        V# r   )SPLITrL   r   ins)r   rT   rZ   s   &  r   rZ   ABCTestHarness.ins   s,     jj$e 
r    r1   N)r&   r'   r(   r)   propertyrZ   r+   r,   r-   s   @r   rW   rW      s      r    rW   c                       ] tR t^tRtR# )r0   r1   Nr&   r'   r(   r)   r+   r1   r    r   r0   r0          r    c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )MetaPathFinderDefaultsTestsc                :    V P                   P                  4        R # r   rZ   invalidate_cachesr   s   &r   test_invalidate_caches2MetaPathFinderDefaultsTests.test_invalidate_caches       ""$r    r1   N)
r&   r'   r(   r)   rU   r0   rY   rf   r+   r,   r-   s   @r   ra   ra      s     /E% %r    ra   c                       ] tR t^tRtR# )r8   r1   Nr^   r1   r    r   r8   r8      r_   r    c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )PathEntryFinderDefaultsTestsc                :    V P                   P                  4        R # r   rc   re   s   &r   rf   3PathEntryFinderDefaultsTests.test_invalidate_caches   rh   r    r1   N)
r&   r'   r(   r)   rU   r8   rY   rf   r+   r,   r-   s   @r   rk   rk      s     0E% %r    rk   c                       ] tR t^tRtR# )r<   r1   Nr^   r1   r    r   r<   r<      r_   r    r<   c                   B   a  ] tR t^t o ]! ]4      tR tR tR t	Rt
V tR# )LoaderDefaultsTestsc                ^    R pV P                  V P                  P                  V4      4       R# )za specN)assertIsNonerZ   create_module)r   specs   & r   test_create_module&LoaderDefaultsTests.test_create_module   s$    $((0067r    c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)	somethingN)assertRaisesImportErrorrZ   load_modulere   s   &r   test_load_module$LoaderDefaultsTests.test_load_module   s4    {++HH  - ,+++   AA	c                H   \         P                  ! R 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\
        4       \        V4      pV P                  Vn        V P                  \        V4      4       RRR4       R#   + '       g   i     R# ; i)blahignoreN)
types
ModuleTypewarningscatch_warningssimplefilterDeprecationWarningreprrZ   
__loader__
assertTrue)r   modoriginal_reprs   &  r   test_module_repr$LoaderDefaultsTests.test_module_repr   se    v&$$&&!!(,>? IM!XXCNOODI& '&&&s   ABB!	r1   N)r&   r'   r(   r)   rU   r<   rY   ru   r|   r   r+   r,   r-   s   @r   rp   rp      s#     'E8.' 'r    rp   c                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )r;   c                "   < \         SV `  V4      # r   )superget_datar   pathr   s   &&r   r   ResourceLoader.get_data   s    w%%r    r1   )r&   r'   r(   r)   r   r+   r,   __classcell__r   r.   s   @@r   r;   r;      s     & &r    c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )ResourceLoaderDefaultsTestsc                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)z
/some/pathN)ry   IOErrorrZ   r   re   s   &r   test_get_data)ResourceLoaderDefaultsTests.test_get_data   s4    w''HHl+ ('''r~   r1   N)
r&   r'   r(   r)   rU   r;   rY   r   r+   r,   r-   s   @r   r   r      s     /E, ,r    r   c                   >   a a ] tR t^t oV 3R ltV 3R ltRtVtV ;t# )r>   c                "   < \         SV `  V4      # r   )r   
is_packager   fullnamer   s   &&r   r   InspectLoader.is_package       w!(++r    c                "   < \         SV `  V4      # r   )r   
get_sourcer   s   &&r   r   InspectLoader.get_source   r   r    r1   )	r&   r'   r(   r)   r   r   r+   r,   r   r   s   @@r   r>   r>      s     ,, ,r    c                   0   a  ] tR t^t o ]tR tR tRtV t	R# )InspectLoaderDefaultsTestsc                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   N)ry   rz   rZ   r   re   s   &r   test_is_package*InspectLoaderDefaultsTests.test_is_package   4    {++HH' ,+++r~   c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   )ry   rz   rZ   r   re   s   &r   test_get_source*InspectLoaderDefaultsTests.test_get_source   r   r~   r1   N)
r&   r'   r(   r)   SPLIT_ILrY   r   r   r+   r,   r-   s   @r   r   r      s     E(( (r    r   c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )rA   i
  c                "   < \         SV `  V4      # r   )r   get_filenamer   s   &&r   r   ExecutionLoader.get_filename  s    w#H--r    r1   )r&   r'   r(   r)   r   r+   r,   r   r   s   @@r   rA   rA   
  s     . .r    c                   *   a  ] tR tRt o ]tR tRtV tR# )ExecutionLoaderDefaultsTestsi  c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   )ry   rz   rZ   r   re   s   &r   test_get_filename.ExecutionLoaderDefaultsTests.test_get_filename  s4    {++HH!!&) ,+++r~   r1   N)	r&   r'   r(   r)   SPLIT_ELrY   r   r+   r,   r-   s   @r   r   r     s     E* *r    r   c                   V   a a ] tR tRt oV 3R ltV 3R ltV 3R ltV 3R ltRtVt	V ;t
# )ResourceReaderi!  c                $   < \         SV `  ! V/ VB # r   )r   open_resourcer   argsrP   r   s   &*,r   r   ResourceReader.open_resource#      w$d5f55r    c                $   < \         SV `  ! V/ VB # r   )r   resource_pathr   s   &*,r   r   ResourceReader.resource_path&  r   r    c                $   < \         SV `  ! V/ VB # r   )r   is_resourcer   s   &*,r   r   ResourceReader.is_resource)  s    w"D3F33r    c                $   < \         SV `  ! V/ VB # r   )r   contentsr   s   &*,r   r   ResourceReader.contents,  s    w000r    r1   )r&   r'   r(   r)   r   r   r   r   r+   r,   r   r   s   @@r   r   r   !  s     6641 1r    r   c                   B   a  ] tR tRt o ]R 4       tR tR tR tRt	V t
R# )MetaPathFinderFindModuleTestsi1  c                V   a  ! V3R  lRV P                   P                  4      pV! 4       # )c                   2   <a  ] tR tRt o RV3R lltRtV tR# )@MetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinderi5  Nc                   < W3V n         S# r   
called_for)r   r   r   targetrt   s   &&&&r   	find_specJMetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinder.find_spec7  s    "*.r    r   r   )r&   r'   r(   r)   r   r+   r,   )r.   rt   s   @r   MetaPathSpecFinderr   5  s      r    r   )r   r0   )rT   rt   r   s   &f r   finder$MetaPathFinderFindModuleTests.finder3  s$    	!7!7 	 "##r    c                    \        4       pV P                  P                  R V4      pV P                  V4      pVP	                  R R R4      pV P                  WB4       R# r   )objectr   spec_from_loaderr   r   assertEqualr   loaderrt   r   founds   &    r   #test_find_spec_with_explicit_targetAMetaPathFinderFindModuleTests.test_find_spec_with_explicit_target=  sO    yy))&&9T"  6%r    c                   V P                  R 4      p. ROpRpVP                  W2R 4      pV P                  V4       V P                  W1P                  ^ ,          4       V P                  W!P                  ^,          4       R # )Nr   )abc)r   r   rr   r   r   )r   r   r   rN   r   s   &    r   test_no_spec*MetaPathFinderFindModuleTests.test_no_specD  sl    T"  T2% 00340034r    c                    \        4       pV P                  P                  R V4      pV P                  V4      pVP	                  R R4      pV P                  WB4       R# r   )r   r   r   r   r   assertIsr   s   &    r   	test_spec'MetaPathFinderFindModuleTests.test_specM  sK    yy))&&9T"  .e"r    r1   N)r&   r'   r(   r)   classmethodr   r   r   r   r+   r,   r-   s   @r   r   r   1  s+     $ $&5# #r    r   )r   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )LoaderLoadModuleTestsi[  c                N     ! R  RV P                   P                  4      pV! 4       # )c                   0   a  ] tR tRt o RtR tR tRtV tR# )0LoaderLoadModuleTests.loader.<locals>.SpecLoaderi^  Nc                    Wn         R # r   r   r   modules   &&r   exec_module<LoaderLoadModuleTests.loader.<locals>.SpecLoader.exec_module`  s    #
r    c                    R# )z.Force some non-default module state to be set.Tr1   r   r   s   &&r   r   ;LoaderLoadModuleTests.loader.<locals>.SpecLoader.is_packagec  s    r    r   )	r&   r'   r(   r)   r   r   r   r+   r,   r-   s   @r   
SpecLoaderr   ^  s     E$ r    r   )r   r<   )r   r   s   & r   r   LoaderLoadModuleTests.loader]  s     	 	 |r    c           	     h   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P	                  4       pRp\
        P                  ! V4      ;_uu_ 4        VP                  V4       VP                  pV P                  \        P                  V,          V4       RRR4       V P                  VXP                  4       V P                  WP                  P                  4       V P                  W#P                  4       V P                  W#P                  P                   4       V P#                  VP$                  4       V P#                  VP$                  VP                  P&                  4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir   r   N)r   r   r   r   r   rJ   uncacher{   r   r   sysmodulesr   r   __spec__r&   rN   assertIsNotNone__path__submodule_search_locations)r   r   rN   r   s   &   r   
test_fresh LoaderLoadModuleTests.test_freshi  s!   $$&&!!(,>?[[]FD""4((""4(ckk$/8 ) VV%6%67V__%;%;<T??3T??#7#78  1   & J JL '& )(	 '&&s&   AF *AF	/CF FF  F1	c           	        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       RpV P	                  4       p\
        P                  ! V4      pV P                  P                  W4      Vn	        W#n
        \        P                  ! V4      ;_uu_ 4        V\        P                  V&   VP                  V4       VP                   pV P#                  V\        P                  V,          4       V P#                  V\        P                  V,          4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir  )r   r   r   r   r   r   r   r   r   r  r   rJ   r  r  r  r{   r   r   )r   rN   r   r   r   s   &    r   test_reload!LoaderLoadModuleTests.test_reloadz  s    $$&&!!(,>?D[[]F%%d+F"ii88FFO &""4(($*D!""4(eS[[%67fckk$&78 ) '& )( '&&s%   BE
&A?D7	%E
7EE

E	r1   N)	r&   r'   r(   r)   r   r	  r  r+   r,   r-   s   @r   r   r   [  s     
L"9 9r    r   c                   B   a  ] tR tRt o R	R ltR tR tR tR tRt	V t
R# )
InspectLoaderSourceToCodeTestsi  Nc                    \         P                  ! R4      pV P                  4       pVf   VP                  V4      pMVP                  W4      p\	        WSP
                  4       V# )z!Help with source_to_code() tests.r   )r   r   InspectLoaderSubclasssource_to_codeexec__dict__)r   datar   r   r   codes   &&&   r   source_to_module/InspectLoaderSourceToCodeTests.source_to_module  sV    !!&)++-<((.D((4DT??#r    c                    R pV P                  V4      pV P                  VR4       V P                  VP                  ^*4       R# )	attr = 42attrNr  assertHasAttrr   r  r   sourcer   s   &  r   test_source_to_code_source9InspectLoaderSourceToCodeTests.test_source_to_code_source  s;    &&v.66*b)r    c                    R pV P                  V4      pV P                  VR4       V P                  VP                  ^*4       R# )s	   attr = 42r  Nr  r  s   &  r   test_source_to_code_bytes8InspectLoaderSourceToCodeTests.test_source_to_code_bytes  s;    &&v.66*b)r    c                    R pV P                  4       pVP                  RV4      pV P                  VP                  V4       R# )zpath/to/somewhere Nr  r  r   co_filename)r   r   r   r  s   &   r   test_source_to_code_path7InspectLoaderSourceToCodeTests.test_source_to_code_path  s=    "++-$$R.))40r    c                    V P                  4       pVP                  R 4      pV P                  VP                  R4       R# )r&  <string>Nr'  )r   r   r  s   &  r   test_source_to_code_no_path:InspectLoaderSourceToCodeTests.test_source_to_code_no_path  s8     ++-$$R()):6r    r1   r   )r&   r'   r(   r)   r  r   r#  r)  r-  r+   r,   r-   s   @r   r  r    s#     	**17 7r    r  )r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )InspectLoaderGetCodeTestsi  c                   \         P                  ! R 4      p\        P                  P	                  V P
                  R4      ;_uu_ 4       pRVn        V P                  4       pVP                  R 4      pRRR4       \        XVP                  4       V P                  VP                  ^*4       R#   + '       g   i     LD; i)r   r   r  N)r   r   r   patchr   r  return_valueget_coder  r  r   r  )r   r   mockedr   r  s   &    r   test_get_code'InspectLoaderGetCodeTests.test_get_code  s    !!&)ZZt99<HHF"-F//1F??6*D I 	T6??#b) IHs   	)B..B>	c                   \         P                  P                  V P                  R 4      ;_uu_ 4       pRVn        V P                  4       pVP                  R4      pRRR4       V P                  X4       R#   + '       g   i     L#; i)r   Nr   )r   r2  r   r  r3  r4  rr   )r   r5  r   r  s   &   r   test_get_code_source_is_None6InspectLoaderGetCodeTests.test_get_code_source_is_None  se    ZZt99<HHF"&F//1F??6*D I 	$	 IHs   )A77B	c                    V P                  4       pV P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       R#   + '       g   i     R# ; ir   )r  ry   rz   r4  r   r   s   & r   test_get_code_source_not_found8InspectLoaderGetCodeTests.test_get_code_source_not_found  s<    ++-{++OOF# ,+++   A

A	r1   N)	r&   r'   r(   r)   r6  r9  r=  r+   r,   r-   s   @r   r0  r0    s     * $ $r    r0  c                   L   a  ] tR tRt o RtRtR tR tR tR t	R t
R	 tR
tV tR# )InspectLoaderLoadModuleTestsi  z!Test InspectLoader.load_module().r   c                    \         P                  ! V P                  4       V P                  \         P                  V P                  4       R # r   )r   unloadmodule_name
addCleanupre   s   &r   r   "InspectLoaderLoadModuleTests.setUp  s0    T--.,,d.>.>?r    c                F   V P                   P                  V P                  V4      p\        P                  ! 4       ;_uu_ 4        \        P
                  ! R \        4       V P                  P                  P                  V4      uuRRR4       #   + '       g   i     R# ; ir   N)
r   r   rD  r   r   r   r   init
_bootstrap_load_unlocked)r   r   rt   s   && r   load!InspectLoaderLoadModuleTests.load  se    yy))$*:*:FC$$&&!!(,>?99''66t< '&&&s   A BB 	c                V    \         P                  P                  V P                  R 4      # )r4  )r   r2  r   r  re   s   &r   mock_get_code*InspectLoaderLoadModuleTests.mock_get_code  s    zz  !;!;ZHHr    c           	     :   V P                  4       ;_uu_ 4       p\        Vn        V P                  \        4      ;_uu_ 4        V P	                  4       pV P                  V4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir   )rO  rz   side_effectry   r  rL  r   mocked_get_coder   s   &  r   test_get_code_ImportError6InspectLoaderLoadModuleTests.test_get_code_ImportError  sf    !!_*5O'"";//335		&! 0 "!// "!!s#   )B	"A6	$B	6BB		B	c           	     2   V P                  4       ;_uu_ 4       pR Vn        V P                  \        4      ;_uu_ 4        V P	                  4       pV P                  V4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir   )rO  r3  ry   rz   r  rL  rS  s   &  r   test_get_code_None/InspectLoaderLoadModuleTests.test_get_code_None  sf    !!_+/O("";//335		&! 0 "!// "!!s"   %B"A2	 B2B=BB	c                :   \        R RR4      pV P                  4       ;_uu_ 4       pWn        V P                  4       pV P	                  V4      pV P                  V\        P                  V P                  ,          4       RRR4       R#   + '       g   i     R# ; i)r  r,  r  N)	compilerO  r3  r  rL  r   r  r  rD  )r   r  rT  r   r   s   &    r   test_module_returned1InspectLoaderLoadModuleTests.test_module_returned  sq    {J7!!_+/(//1FYYv&FVS[[1A1A%BC	 "!!!s   AB		B	r1   N)r&   r'   r(   r)   r*   rD  r   rL  rO  rU  rX  r\  r+   r,   r-   s   @r   rA  rA    s4     +K@=I""D Dr    rA  )r  rI  r   c                   J   a  ] tR tRt o RRRR/R ltR tR tR tR	 tR
t	V t
R# )ExecutionLoaderGetCodeTestsi  r   Fr   c                   R R rCV'       d+   \         P                  P                  V P                  R4      pV'       d+   \         P                  P                  V P                  R4      pW43# )Nr   r   )r   r2  r   ExecutionLoaderSubclass)r   r   r   source_mock_contextfilename_mock_contexts   &$$  r   mock_methods(ExecutionLoaderGetCodeTests.mock_methods  s[    5942"&**"3"3D4P4P4@#B$(JJ$5$5d6R6R6D%F!"99r    c           	        R pV P                  RRR7      w  r#T;_uu_ 4       qC;_uu_ 4       pRVn        Wn        V P                  4       pVP                  R4      pRRR4       RRR4       V P	                  XP
                  V4       \        P                  ! R4      p\        WxP                  4       V P	                  VP                  ^*4       R#   + '       g   i     L}; i  + '       g   i     L; i)zblah.pyTr   r   r  r   N)rd  r3  ra  r4  r   r(  r   r   r  r  r  )	r   r   rb  rc  source_mock	name_mockr   r  r   s	   &        r   r6  )ExecutionLoaderGetCodeTests.test_get_code#  s    595F5Fd 6G 642  K1F1F)'2K$%)"113F??6*D	 2G 
 	))40!!&)T??#b) 2G1F  s"   
C#/C	C#C C##C3	c                    V P                  R R7      w  rV;_uu_ 4       pRVn        V P                  4       pVP                  R4      pRRR4       V P	                  X4       R#   + '       g   i     L#; i)T)r   Nr   )rd  r3  ra  r4  rr   )r   rb  _r5  r   r  s   &     r   r9  8ExecutionLoaderGetCodeTests.test_get_code_source_is_None1  sc    !%!2!2d!2!C  F"&F113F??6*D ! 	$	 ! s   )A##A3	c                    V P                  4       pV P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       R#   + '       g   i     R# ; ir   )ra  ry   rz   r4  r<  s   & r   r=  :ExecutionLoaderGetCodeTests.test_get_code_source_not_found:  s<    --/{++OOF# ,+++r?  c           	        V P                  R R R7      w  rT;_uu_ 4       q2;_uu_ 4       pRVn        \        Vn        V P	                  4       pVP                  R4      pRRR4       RRR4       V P                  XP                  R4       \        P                  ! R4      p\        WgP                  4       V P                  VP                  ^*4       R#   + '       g   i     L}; i  + '       g   i     L; i)Trg  r  r   Nr,  )rd  r3  rz   rR  ra  r4  r   r(  r   r   r  r  r  )r   rb  rc  rh  ri  r   r  r   s   &       r   test_get_code_no_path1ExecutionLoaderGetCodeTests.test_get_code_no_path@  s     6:5F5Fd 6G 642  K1F1F)'2K$$/I!113F??6*D	 2G 
 	)):6!!&)T??#b) 2G1F  s"   
C&4C	C&C#C&&C6	r1   N)r&   r'   r(   r)   rd  r6  r9  r=  rq  r+   r,   r-   s   @r   r_  r_    s1     : :U :* $* *r    r_  )ra  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )SourceOnlyLoaderiW  sN   _ = '::'.join([__name__, __file__, __cached__, __package__, repr(__loader__)])c                    Wn         R # r   r   r   r   s   &&r   __init__SourceOnlyLoader.__init__]  s    	r    c                F    WP                   8w  d   \        hV P                  # r   )r   r   r  rw  s   &&r   r   SourceOnlyLoader.get_data`  s    99M{{r    c                    V P                   # r   rv  r   s   &&r   r   SourceOnlyLoader.get_filenamee  s    yyr    rv  N)
r&   r'   r(   r)   r  rx  r   r   r+   r,   r-   s   @r   rt  rt  W  s      $F
 r    rt  c                   R   a a ] tR tRt o^tRV 3R lltV 3R ltR tR tRt	Vt
V ;t# )rG   il  c                  < \         SV `  V4       V P                  P                  V P                  4      V n        \        V P                  4      V n        Vf   V P                  P                  p\        V4      pVP                  V P                  P                  ^ 4      4       VP                  V P                  P                  V P                  4      4       VP                  V P                  P                  V P                  4      4       \        V P                  V P                  RRR7      pVP                  \         P"                  ! V4      4       \%        V4      V n        / V n        R # )Nr  T)dont_inherit)r   rx  r   cache_from_sourcer   bytecode_pathlenr  source_sizeMAGIC_NUMBER	bytearrayextendrI  _pack_uint32source_mtimer[  marshaldumpsbytesbytecodewritten)r   r   magicr  code_objectr   s   &&&  r   rx  SourceLoader.__init__p  s    !YY88Ct{{+=II**EDII**1-.DII**4+<+<=>DII**4+;+;<=dkk499f-13GMM+./dr    c                   < WP                   8X  d   \        SV `	  V4      # WP                  8X  d   V P                  # \
        hr   )r   r   r   r  r  OSErrorr   s   &&r   r   SourceLoader.get_data  s8    997#D))'''== Mr    c                b    WP                   8w  d   \        hR V P                  RV P                  /# )mtimesize)r   r   r  r  rw  s   &&r   
path_statsSourceLoader.path_stats  s,    99M**FD4D4DEEr    c                N    \        V4      V P                  V&   WP                  8H  # r   )r  r  r  )r   r   r  s   &&&r   set_dataSourceLoader.set_data  s#    "4[T))))r    )r  r  r  r  r   )r&   r'   r(   r)   r  rx  r   r  r  r+   r,   r   r   s   @@r   rG   rG   l  s$     L F
* *r    )r   rI  c                   :   a  ] tR tRt o RR/R ltR tR tRtV tR# )	SourceLoaderTestHarnessi  r   Tc                  R V n         V'       dB   \        P                  P                  V P                   R4      V n        V P                   V n        MdRp\        P                  P                  V P                   RP                  RR.4      4      V n        RP                  V P                   V.4      V n        V P
                  P                  V P                  4      V n        V P                  ! V P                  3/ VB V n	        R# )pkgz__init__.pyr   .pyN)
packageosr   joinrN   r   r  cachedloader_mockr   )r   r   rP   rD  s   &$, r   r   SourceLoaderTestHarness.setUp  s    T\\=ADIDIKT\\388UDM3JKDI$,,!<=DIii11$))<&&tyy;F;r    c                (   V P                  VP                  V P                  4       V P                  VP                  V P                  4       V P                  VP
                  V P                  4       V P                  VP                  V P                  4       V P                  VP                  V P                  4       VP                  P                  R 4      pV P                  V^ ,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          \        V P                  4      4       R# )z::N)r   r&   rN   __file__r   
__cached__r  __package__r  r   r   rl  splitr   )r   r   valuess   && r   verify_module%SourceLoaderTestHarness.verify_module  s   $))4$))4**DKK8++T\\:**DKK8%DII.DII.DKK0DLL1D$56r    c                (   \         P                  ! V P                  4      pV P                  Vn        V P
                  Vn        V P                  Vn        V P                  Vn
        . Vn        \        WP                  4       V P                  V4       R # r   )r   r   rN   r   r  r  r  r  r  r   r   r  r  r  r  )r   r  r   s   && r   verify_code#SourceLoaderTestHarness.verify_code  sf    !!$)),)) KK!\\ KK[//*6"r    )r  r   rN   r  r   N)	r&   r'   r(   r)   r   r  r  r+   r,   r-   s   @r   r  r    s      
<$ 
<7# #r    r  c                   N   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
tV tR# )SourceOnlyLoaderTestsi  z8Test importlib.abc.SourceLoader for source-only loading.c                   V P                   P                  P                  R 4      pV P                  V P                   P	                  V P
                  4      V4       R pW P                   n        V P                  \        4      ;_uu_ 4       pV P                   P	                  V P
                  4       RRR4       V P                  XP                  P
                  V P
                  4       R#   + '       g   i     LB; i)utf-8c                     \         hr   )r  rv  s   &r   raise_OSError<SourceOnlyLoaderTests.test_get_source.<locals>.raise_OSError  s    Mr    N)
r   r  decoder   r   rN   r   ry   rz   	exception)r   expected_sourcer  cms   &   r   r   %SourceOnlyLoaderTests.test_get_source  s     ++,,33G<//		:OL	,{++rKK""499- ,**DII6 ,+s   &C++C;	c                   V P                  R R7       V P                  V P                  P                  V P                  4      4       V P                  RR7       V P                  V P                  P                  V P                  4      4       V P                  V P                  P                  V P                  R,           4      4       R# )Fr   Tz	.__init__N)r   assertFalser   r   rN   r   re   s   &r   r   %SourceOnlyLoaderTests.test_is_package  s    

e
$//		:;

d
#..tyy9://		K0GHIr    c                r    V P                   P                  V P                  4      pV P                  V4       R # r   r   r4  rN   r  r   r  s   & r   r6  #SourceOnlyLoaderTests.test_get_code  (    kk**4995%r    c                    V P                   P                  V P                   P                  V P                  4      pV P	                  V4       R # r   )r   r  r  r   r  )r   r  s   & r   test_source_to_code)SourceOnlyLoaderTests.test_source_to_code  s4    {{))$++*<*<diiHr    c                (   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       \        P
                  ! V P                  4      ;_uu_ 4        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P                  P                  V P                  4      pRRR4       V P                  X4       V P                  VP                  \        P                  P                  V P                  4      .4       V P!                  V P                  \"        P$                  4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L-; i  + '       g   i     R# ; irH  )r   r   r   ImportWarningrJ   r  rN   r   r   r{   r  r   r  r  r   dirnameassertInr  r  r   s   & r   r|   &SourceOnlyLoaderTests.test_load_module  s     $$&&!!(M:""499--,,..))(4FG![[44TYY?F / ""6*  277??4993M2NOdii5 . '& /. .- '&&s>   AF "E-	 AEBE-	F E*%E-	-E=8F  F	c                   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P	                  RR7       \
        P                  ! V P                  4      ;_uu_ 4        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P                  P                  V P                  4      pRRR4       V P                  X4       V P                  VR4       RRR4       RRR4       R#   + '       g   i     LE; i  + '       g   i     L-; i  + '       g   i     R# ; i)r   Fr  Nr  )r   r   r   r  r   rJ   r  rN   r   r   r{   r  assertNotHasAttrr   s   & r   test_package_settings+SourceOnlyLoaderTests.test_package_settings  s     $$&&!!(M:JJ%J(""499--,,..))(4FG![[44TYY?F / ""6*%%fj9 . '& /. .- '&&s=   AD64D#	AD+D#	>D6D D#	#D3.D66E	c                f   R pVP                  R4      V P                  n        V P                  P                  V P                  4      pV P                  W!4       RpVP                  R4      V P                  n        V P                  P                  V P                  4      pV P                  W!4       R# )u   _ = 'ü'r  u   # coding: latin-1
_ = ülatin-1N)encoder   r  r   rN   r   )r   r  returned_sources   &  r   test_get_source_encoding.SourceOnlyLoaderTests.test_get_source_encoding  s     #]]73++00;1,#]]95++00;1r    r1   N)r&   r'   r(   r)   r*   r   r   r6  r  r|   r  r  r+   r,   r-   s   @r   r  r    s1     B
7J&

6:
2 
2r    r  )r   r  zsys.dont_write_bytecode is truec                   h   a a ] tR tRt oRtRR/V 3R lltR tR tR tR	 t	R
 t
R tR tRtVtV ;t# )SourceLoaderBytecodeTestsi  zkTest importlib.abc.SourceLoader's use of bytecode.

Source-only testing handled by SourceOnlyLoaderTests.

bytecode_writtenFc                 < \         SV `  V4       V'       Ed`   V P                  V P                  V P                  P
                  4       \        V P                  P                  4      pVP                  V P                  P                  ^ 4      4       VP                  V P                  P                  V P                  P                  4      4       VP                  V P                  P                  V P                  P                  4      4       V.pVP                  \        P                  ! V4      4       V P!                  V P                  P
                  V P                  ,          \#        V4      4       R# R# )r   N)r   r  r  r  r   r  r  r   r  r  rI  r  r  r  r  r  r   r  )r   r  r  r  lr   s   &&$  r   r  %SourceLoaderBytecodeTests.verify_code  s    K(MM$++t{{':':;TYY334DKK		..q12KK		..t{{/G/GHIKK		..t{{/F/FGH AKKk23T[[00=uT{K r    c                r    V P                   P                  V P                  4      pV P                  V4       R # r   r  r  s   & r   test_code_with_everything3SourceLoaderBytecodeTests.test_code_with_everything"  r  r    c                   R V P                   n        V P                  \        4      ;_uu_ 4        V P                  P                  V P                  4      pV P                   P                  V4       RRR4       V P                   P                  V P                  4      pV P                  VRR7       R#   + '       g   i     LJ; i)<does not exist>NTr  )r   r  ry   r  r   r  r   r   r4  rN   r  )r   r  r  s   &  r   test_no_bytecode*SourceLoaderBytecodeTests.test_no_bytecode'  s    $6!w'' II77		BMKK  / ( kk**4995t<	 ('s   AB22C	c                   R F  pWP                   P                  8w  g   Q hV P                   P                  pWP                   n        V P                   P                  R,          V P                   n        V P                   P                  V P                  4      pV P                  VRR7       W P                   n        K  	  R# )r      NNTr  N)r      )r   r  r  r4  rN   r  )r   r  originalr  s   &   r   test_code_bad_timestamp1SourceLoaderBytecodeTests.test_code_bad_timestamp1  s    "L;;#;#;;;;{{//H'3KK$#';;#7#7#;DKK ++..tyy9K[4@'/KK$ #r    c                    V P                  R R7       V P                  P                  R,          V P                  n        V P                  P                  V P                  4      pV P                  VRR7       R# )   0000r  r  Tr  N)r   r   r  r4  rN   r  r  s   & r   test_code_bad_magic-SourceLoaderBytecodeTests.test_code_bad_magic=  sV    


!#{{33B7kk**4995t<r    c                     R \         n        RV P                  n        V P                  P	                  V P
                  4      pV P                  V P                  V P                  P                  4       R\         n        R#   R\         n        i ; i)Tr  FN)	r  dont_write_bytecoder   r  r4  rN   assertNotInr  r  r  s   & r   test_dont_write_bytecode2SourceLoaderBytecodeTests.test_dont_write_bytecodeE  sb    	,&*C#(:DKK%++..tyy9KT[[$++*=*=>&+C#eC#s   A1B   Bc                   V P                  R R7       V P                  P                  P                  4       ^,          P                  p V P                  P                  P                  4       ^,          =V P                  P                  V P                  4      pV P                  V4       WP                  P                  P                  4       ^,          n        R#   YP                  P                  P                  4       ^,          n        i ; i)r  r  N)r   r   r   mror  r4  rN   r  )r   original_set_datar  s   &  r   test_no_set_data*SourceLoaderBytecodeTests.test_no_set_dataP  s    


! KK11557:CC	H%%))+A.7++..tyy9K[)6GKK!!%%'*36GKK!!%%'*3s   	A!C 1Dc                    R  pV P                  RR7       V! \        4      V P                  n        V P                  P	                  V P
                  4      pV P                  V4       R# )c                    a  V 3R  lpV# )c                     < Shr   r1   )r   rP   excs   *,r   closurecSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception.<locals>.closure^  s    	r    r1   )r  r  s   f r   raise_exceptionRSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception]  s    Nr    r  r  N)r   NotImplementedErrorr   r  r4  rN   r  )r   r  r  s   &  r   test_set_data_raises_exceptions9SourceLoaderBytecodeTests.test_set_data_raises_exceptions[  sO    	
 	


!./BCkk**4995%r    r1   )r&   r'   r(   r)   r*   r  r  r  r  r  r  r  r  r+   r,   r   r   s   @@r   r  r    sA     L5 L&
=
0=	,	H
& 
&r    r  )rI  r   r  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )SourceLoaderGetSourceTestsin  z2Tests for importlib.abc.SourceLoader.get_source().c                    R pV P                  R4      pRpVP                  R4      Vn        VP                  ! V4      pV P	                  WC4       R# )r   mod.fileu   x = "ü"r  NSourceOnlyLoaderMockr  r  r   r   r   rN   r   r  r  s   &    r   test_default_encoding0SourceLoaderGetSourceTests.test_default_encodingr  sH    ((4mmG,//$/1r    c                    R pV P                  R4      pRpVP                  R4      VP                  R4      8w  g   Q hVP                  R4      Vn        VP                  ! V4      pV P	                  WC4       R# )r   r  u   # coding: Latin-1
x='ü'r  r  Nr  r  s   &    r   test_decoded_source.SourceLoaderGetSourceTests.test_decoded_source{  sh    ((4,}}Y'6==+AAAAmmI.//$/1r    c                    R pV P                  R4      pRpVP                  R4      Vn        \        P                  ! RR4      P                  V4      pV P                  VP                  ! V4      V4       R# )r   r  zx = 42
y = -13
r  NT)r  r  r  ioIncrementalNewlineDecoderr  r   r   )r   rN   r   r  expects   &    r   test_universal_newlines2SourceLoaderGetSourceTests.test_universal_newlines  sb    ((4(mmG,--dD9@@H.7r    r1   N)
r&   r'   r(   r)   r*   r  r  r  r+   r,   r-   s   @r   r  r  n  s     <228 8r    r  )r  c                   *   a  ] tR tRt o RtR tRtV tR# )$SourceLoaderDeprecationWarningsTestsi  z(Tests SourceLoader deprecation warnings.c                    ^ RI Hp  ! R RV4      pV! 4       pV P                  \        R4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; i)r   )rG   c                   2   a  ] tR tRt o R tR tR tRtV tR# )ZSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoaderi  c                    R # )r    r1   rw  s   &&r   r   cSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.get_data  s    r    c                    R # )foo.pyr1   r   s   &&r   r   gSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.get_filename  s    r    c                
    R ^/# )r  r1   rw  s   &&r   r  eSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.path_stats  s    |#r    r1   N)	r&   r'   r(   r)   r   r   r  r+   r,   r-   s   @r   DummySourceLoaderr     s      $ $r    r(  zRSourceLoader\.path_mtime is deprecated in favour of SourceLoader\.path_stats\(\)\.r$  N)importlib.abcrG   assertWarnsRegexr   
path_mtime)r   rG   r(  r   s   &   r   test_deprecated_path_mtime?SourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime  s[    .	$ 	$ #$"".
 

 h'
 
 
 
s   AA$	r1   N)r&   r'   r(   r)   r*   r,  r+   r,   r-   s   @r   r  r    s     2( (r    r  __main__)NF)er  r  r  r  test.supportr   r   unittestr   r   test.test_importlibr   rJ   import_importlibrI  r   r   r   r0   	test_both%Frozen_MetaPathFinderInheritanceTests%Source_MetaPathFinderInheritanceTestsr8   &Frozen_PathEntryFinderInheritanceTests&Source_PathEntryFinderInheritanceTestsr;   %Frozen_ResourceLoaderInheritanceTests%Source_ResourceLoaderInheritanceTestsr>   $Frozen_InspectLoaderInheritanceTests$Source_InspectLoaderInheritanceTestsrA   &Frozen_ExecutionLoaderInheritanceTests&Source_ExecutionLoaderInheritanceTestsrC   !Frozen_FileLoaderInheritanceTests!Source_FileLoaderInheritanceTestsrG   #Frozen_SourceLoaderInheritanceTests#Source_SourceLoaderInheritanceTestsrU   rW   ra   Frozen_MPFDefaultTestsSource_MPFDefaultTestsrk   Frozen_PEFDefaultTestsSource_PEFDefaultTestsr<   rp   Frozen_LDefaultTestsSourceLDefaultTestsr   Frozen_RLDefaultTestsSource_RLDefaultTestsr   r   Frozen_ILDefaultTestsSource_ILDefaultTestsr   r   Frozen_ELDefaultTestsSource_ELDefaultsTestsr   r   Frozen_MPFFindModuleTestsSource_MPFFindModuleTestsr   Frozen_LoaderLoadModuleTestsSource_LoaderLoadModuleTestsr  Frozen_ILSourceToCodeTestsSource_ILSourceToCodeTestsr0  Frozen_ILGetCodeTestsSource_ILGetCodeTestsrA  Frozen_ILLoadModuleTestsSource_ILLoadModuleTestsr_  Frozen_ELGetCodeTestsSource_ELGetCodeTestsrt  	SPLIT_SOLSPLIT_SLr  r  Frozen_SourceOnlyLoaderTestsSource_SourceOnlyLoaderTestsskipIfr  r  Frozen_SLBytecodeTestsSourceSLBytecodeTestsr  %Frozen_SourceOnlyLoaderGetSourceTests%Source_SourceOnlyLoaderGetSourceTestsTestCaser  r&   mainr1   r    r   <module>re     s.   	  	 
 &     1!!+.  1&&'<=	!!"23; ;D/% / S1&&$& $ c2''"% " S1&&R$ R C0%%-& - c2''B! B -""*# * 3/$$K 	 	
%. % 45	 	
%> % 56	 	
'. '0 ,-&V &,. , 45,F , }-
( 
( 34.m . /*> * 341 1 !# !#L 6CdK
,9 ,9b .CdC
'7 '7X 7/79
$ $: 2/79
*D *D^ 5/7""$6* 6*v 419; $   0.A	#*# #*L |$TB## ##LG23 G2X .T%.0
 
((*KLY& 7 Y& MY&| 2D%-/
8 8F 3.79&&
(8+<+< (2 zMMO r    