
    z%ipY                        d dl mZ d dlmZmZ d dlmZmZ d dlZd dl	Z	d dl
Z
d dlmZ d dlZd dlZd dlZd dlZd dlZd dlZ G d dej&                        Z G d d	ej&                        Z G d
 dej&                        Z G d dej&                        Z G d dej&                        Zd Zedk(  r ej6                          yy)    )Path)unloadCleanImport)check_warningsignore_warningsN)spec_from_file_locationc                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)PkgutilTestsc                     t        j                         | _        | j                  t        j
                  | j                         t        j                  j                  d| j                         y Nr   )	tempfilemkdtempdirname
addCleanupshutilrmtreesyspathinsertselfs    E/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_pkgutil.pysetUpzPkgutilTests.setUp   s>    '')t||44<<(    c                 &    t         j                  d= y r   )r   r   r   s    r   tearDownzPkgutilTests.tearDown   s    HHQKr   c                 T   d}d}t         j                  j                  | j                  |      }t        j                  |       t        t         j                  j                  |d      d      }|j                          t        t         j                  j                  |d      d      }|j                  |       |j                          t        j                  t         j                  j                  |d             t        t         j                  j                  |dd      d      }|j                  |       |j                          t        j                  |d      }| j                  ||       t        j                  |d      }| j                  ||       t        j                  |= y )Ntest_getdata_filesys%   Hello, world!
Second line
Third line__init__.pywbres.txtsubsub/res.txt)osr   joinr   mkdiropenclosewritepkgutilget_dataassertEqualr   modules)r   pkgRESOURCE_DATApackage_dirfres1res2s          r   r   z!PkgutilTests.test_getdata_filesys   s(   $ D ggll4<<5
k=94@		k95t<			
k512k5)<dC			 Y/}-]3}-KKr   c                 (   d}d}d}t         j                  j                  | j                  |      }t	        j
                  |d      }|j                  |dz   d       |j                  |dz   |       |j                  |dz   |       |j                          t        j                  j                  d	|       t        j                  |d
      }| j                  ||       t        j                  |d      }| j                  ||       g }t        j                  |g      D ]=  }	| j                  |	t        j                         |j!                  |	j"                         ? | j                  |dg       t        j                  d	= t        j$                  |= y )Ntest_getdata_zipfile.ziptest_getdata_zipfiler   w/__init__.py /res.txtz/sub/res.txtr   r"   r$   )r%   r   r&   r   zipfileZipFilewritestrr)   r   r   r+   r,   r-   iter_modulesassertIsInstance
ModuleInfoappendnamer.   )
r   zipr/   r0   zip_filezr3   r4   names
moduleinfos
             r   r7   z!PkgutilTests.test_getdata_zipfile<   sN   ($ D 77<<c2OOHc* 	


3',	

3#]3	

3'7		 	8$Y/}-]3}-!..z: 	*J!!*g.@.@ALL)	* 	!7 89HHQKKKr   c                    d}d}d}t         j                  j                  | j                  |      }t	        j
                  |d      }|j                  |dz   d       |j                  |dz   |       |j                          t        j                  j                  d|       	 t        j                  |d	      }| j                  ||       g }t        j                  t        |      g      D ]=  }| j                  |t        j                          |j#                  |j$                         ? | j                  ||g       t        j                  d= t        j&                  j)                  |d        d
}	| j+                  t,        |	      5  t/        t        j                  d             d d d        y # t        j                  d= t        j&                  j)                  |d        w xY w# 1 sw Y   y xY w)Nr6   r7   r   r8   r9   r:   r;   r   r"   z9path must be None or list of paths to look for modules ininvalid_path)r%   r   r&   r   r<   r=   r>   r)   r   r   r+   r,   r-   r?   r   r@   rA   rB   rC   r.   popassertRaisesRegex
ValueErrorlist)
r   rD   r/   r0   rE   rF   resrG   rH   expected_msgs
             r   test_issue44061_iter_modulesz)PkgutilTests.test_issue44061_iter_modules_   s   ($ D 77<<c2OOHc* 	


3',	

3#]3		 	8$	'""3	2CS-0 E%22DN3CD .
%%j'2D2DEZ__-. USE*KKOOC& S##J= 	7%%n56	7 	7 KKOOC&	7 	7s   "BF/ G%/3G"%G.c                 6   d}t         j                  j                  | j                  |      }t        j                  |d       | j                  t         j                  |       t        j                  | j                  g      D ]  }| j                  d        y )Nunreadable_packager   )r   zunexpected package found)
r%   r   r&   r   r'   r   rmdirr+   walk_packagesfail)r   package_namedts       r   test_unreadable_dir_on_syspathz+PkgutilTests.test_unreadable_dir_on_syspath   sm    +GGLL|4 	A!$&&T\\N; 	2AII01	2r   c                 ~   d}t         j                  j                  | j                  |      }t        j                  |       t        t         j                  j                  |d      d      }|j                          t        j                  t         j                  j                  |d             t        t         j                  j                  |dd      d      }|j                          t        t         j                  j                  |dd      d      }|j                          d}t         j                  j                  | j                  |      }t        j                  |       t        t         j                  j                  |d      d      }|j                          t        j                  t         j                  j                  |d             t        t         j                  j                  |dd      d      }|j                          t        t         j                  j                  |dd      d      }|j                          g d}t        j                  | j                  g      D cg c]  }|d   	 }}| j                  ||       |D ]%  }	|	j                  d      rt        j                  |	= ' y c c}w )	Ntest_walkpackages_filesysr    r!   r#   zmod.py)r#   zsub.test_walkpackages_filesysz!sub.test_walkpackages_filesys.modr\   ztest_walkpackages_filesys.subz!test_walkpackages_filesys.sub.mod   mod)r%   r   r&   r   r'   r(   r)   r+   rU   r-   endswithr   r.   )
r   pkg1pkg1_dirr2   pkg2pkg2_direxpectedeactualr/   s
             r   r\   z&PkgutilTests.test_walkpackages_filesys   s   *77<<d3
h6=		
h./h}=tD		hx8$?		 77<<d3
h6=		
h(CDEh(C]SUYZ		h(CXNPTU		
  '44dll^DE!1EE* 	!C||E"C 	! Fs   /J:c                    d}d}d}t         j                  j                  | j                  |      }t	        j
                  |d      }|j                  |dz   d       |j                  |dz   |z   dz   d       |j                  |dz   |z   dz   d       |j                  |dz   d       |j                  |dz   |z   dz   d       |j                  |dz   |z   dz   d       |j                          t        j                  j                  d	|       g d
}t        j                  |g      D cg c]  }|d   	 }}| j                  ||       t        j                  d	= |D ]%  }	|	j                  d      rt        j                  |	= ' yc c}w )zBTests the same as test_walkpackages_filesys, only with a zip file.ztest_walkpackages_zipfile.ziptest_walkpackages_zipfiler#   r8   r9   r:   /z/mod.pyr   )r#   zsub.test_walkpackages_zipfilez!sub.test_walkpackages_zipfile.modrh   ztest_walkpackages_zipfile.subz!test_walkpackages_zipfile.sub.modr]   r^   N)r%   r   r&   r   r<   r=   r>   r)   r   r   r+   rU   r-   r_   r.   )
r   rD   r`   rb   rE   rF   rd   re   rf   r/   s
             r   rh   z&PkgutilTests.test_walkpackages_zipfile   sd    .*77<<c2OOHc*	

4.("-	

4#:$~5r:	

4#:$y0"5	

4.("-	

4#:$~5r:	

4#:$y0"5		8$
  '44hZ@A!1AA*HHQK 	!C||E"C 	!	 Bs   )Fc                 D   d}| j                  t        t        f      5  t        t	        j
                  |             d d d        d}| j                  t        t        f      5  t        t	        j
                  |             d d d        y # 1 sw Y   NxY w# 1 sw Y   y xY w)Ntest_dirs   test_dir)assertRaises	TypeErrorrM   rN   r+   rU   )r   	str_inputbytes_inputs      r   2test_walk_packages_raises_on_string_or_bytes_inputz?PkgutilTests.test_walk_packages_raises_on_string_or_bytes_input   s    		:67 	3&&y12	3 "	:67 	5&&{34	5 	5		3 	3	5 	5s   B
"B
BBc                    dd l }dd l}dt        fdt        j                  fdt        j                  j                  fd|fd|fd|j
                  fd|j
                  fd	|j
                  j                  fd
|j
                  j                  fd|j
                  j                  j                  fd|j
                  j                  j                  fdt        fdt        fdt        j                  fdt        j                  fdt        fdt        fdt        j                  ff}d t        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fdt        fd t        fd!t        fd"t        fd#t        ff}d$}|D ]  }t        j                  j                  | j                   |      }	 t        j"                  |d%       t        j                  j                  |d&      }t'        |d'      5 }|j)                  d       |j+                          d d d        t-        j.                          t-        j0                  |      }|||ffz  }t3        |      dkD  s||d d( t        ffz  } |d)t        ffz  }|D ]G  \  }	}
| j5                  |	*      5  t7        j8                  |	      }| j;                  ||
       d d d        I |D ]O  \  }	}| j5                  |	*      5  | j=                  |      5  t7        j8                  |	       d d d        d d d        Q y # t$        $ r Y w xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   =xY w# 1 sw Y   xY w)+Nr   r%   zos.pathzos.path:pathseploggingzlogging:zlogging.handlerszlogging.handlers:zlogging.handlers:SysLogHandlerzlogging.handlers.SysLogHandlerz(logging.handlers:SysLogHandler.LOG_ALERTz(logging.handlers.SysLogHandler.LOG_ALERTzbuiltins.intzbuiltins:intzbuiltins.int.from_byteszbuiltins:int.from_byteszbuiltins.ZeroDivisionErrorzbuiltins:ZeroDivisionErrorzos:pathr]   g       @Tr:   z?abczabc/foofoozos.foozos.foo:zos.pth:pathsepzlogging.handlers:NoSuchHandlerz,logging.handlers:SysLogHandler.NO_SUCH_VALUEz,logging.handlers.SysLogHandler.NO_SUCH_VALUEZeroDivisionErrorzos.path.9abc9abc)	u	   वमस   é   Èu   안녕하세요u   さよならu   ありがとうu   Хорошоu   спасибоu   现代汉语常用字表exist_okr    r8   u   ०वमस)s)rr   logging.handlersr%   r   pathsephandlersSysLogHandler	LOG_ALERTint
from_bytesrt   rm   rM   ImportErrorAttributeErrorr&   r   makedirsUnicodeEncodeErrorr(   r*   flush	importlibinvalidate_cachesimport_modulelensubTestr+   resolve_namer-   rl   )r   rr   success_casesfailure_casesunicode_wordsuwrX   r2   r^   r{   rd   oexcs                r   test_name_resolutionz!PkgutilTests.test_name_resolution   si    2J 0 !!1!12 '"2"23-w/?/?/M/MN-w/?/?/M/MN7  ..88:7  ..88:S!S!&7&7)+<=)+<= )
0 9	N)9Z 
#K ~&${+-~>;^L;^L +.Z(Z #
,M   	9BT\\2.AA-
 Q.Aa 	
 '')))"-Cb#YZ'M2w{"Sb';!7!88%	9* 	4jABB( 	.KAx" .((+  H-. .	.
 $ 	,FAs" ,&&s+ ,((+,, ,	,1 ' 
 . ., ,, ,sN   L3"M,(M8M(
M M(3	M ?M M	M	M%!M((M1	N)__name__
__module____qualname__r   r   r   r7   rQ   rZ   r\   rh   rp   r    r   r   r
   r
      s9    )
:!F%7N	2&!P!!F5Y,r   r
   c                   P    e Zd Z G d de      Z G d de      Zd Zd Zd Zd Z	y	)
PkgutilPEP302Testsc                       e Zd Zd Zd Zd Zy)PkgutilPEP302Tests.MyTestLoaderc                      y Nr   )r   specs     r   create_modulez-PkgutilPEP302Tests.MyTestLoader.create_moduleE  s    r   c                 \    |j                   j                  dd      dz   |j                   d<   y )Nloadsr   r]   )__dict__get)r   r^   s     r   exec_modulez+PkgutilPEP302Tests.MyTestLoader.exec_moduleH  s&    $'LL$4$4Wa$@1$DCLL!r   c                      y)NHello, world!r   )r   r   s     r   r,   z(PkgutilPEP302Tests.MyTestLoader.get_dataL  s    "r   N)r   r   r   r   r   r,   r   r   r   MyTestLoaderr   D  s    		E	#r   r   c                       e Zd ZddZy)!PkgutilPEP302Tests.MyTestImporterNc                 v    t         j                         }t        |d|j                  j                  z  |g       S )Nz<%s>)loadersubmodule_search_locations)r   r   r   	__class__r   )r   fullnamer   targetr   s        r   	find_specz+PkgutilPEP302Tests.MyTestImporter.find_specP  s;    '446F*8+1F4D4D4M4M+M28FHJ Jr   )NN)r   r   r   r   r   r   r   MyTestImporterr   O  s    	Jr   r   c                 `    t         j                  j                  d| j                                y r   )r   	meta_pathr   r   r   s    r   r   zPkgutilPEP302Tests.setUpW  s    Q 3 3 56r   c                 &    t         j                  d= y r   )r   r   r   s    r   r   zPkgutilPEP302Tests.tearDownZ  s    MM!r   c                 r    | j                  t        j                  dd      d       t        j                  d= y )Nrs   dummyr   )r-   r+   r,   r   r.   r   s    r   test_getdata_pep302z&PkgutilPEP302Tests.test_getdata_pep302]  s+    ))%9?KKKr   c                     dd l }| j                  |j                  d       | j                  t        j                  dd      d       | j                  |j                  d       t
        j                  d= y )Nr   r]   rs   r   r   )rs   r-   r   r+   r,   r   r.   )r   rs   s     r   test_alreadyloadedz%PkgutilPEP302Tests.test_alreadyloadedb  sX     	A&))%9?KA&KKr   N)
r   r   r   objectr   r   r   r   r   r   r   r   r   r   r   B  s0    	#v 	#J J7
r   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)ExtendPathTestsc                 z   t        j                         }t        j                  j	                  d|       t
        j                  j                  ||      }t        j                  |       t        t
        j                  j                  |d      d      5 }|j                  d       d d d        |S # 1 sw Y   |S xY w)Nr   r    r8   zKfrom pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
)
r   r   r   r   r   r%   r&   r'   r(   r*   )r   pkgnamer   pkgdirfls        r   create_initzExtendPathTests.create_initp  s    ""$7#gw/
"'',,v}5s; 	frHHde	f 	f s   B00B:c                     t         j                  j                  |||dz         }t        |d      5 }t	        dj                  |      |       d d d        y # 1 sw Y   y xY w)N.pyr8   zvalue={})file)r%   r   r&   r(   printformat)r   r   r   submodule_namevaluemodule_namer   s          r   create_submodulez ExtendPathTests.create_submodule{  sS    ggll7G^e5KL+s# 	5r*##E*4	5 	5 	5s   AA c           
         d}| j                  |      }| j                  |      }| j                  ||dd       | j                  ||dd       dd l}dd l}| j	                  |j
                  j                  d       | j	                  |j                  j                  d       | j	                  t        |j                        t        t        j                  j                  ||      t        j                  j                  ||      g             t        j                  |       t        j                  |       t        j                  d= t        j                  d= t        j                   d= t        j                   d= t        j                   d= y )Nrs   barr   bazr]   foo.barfoo.baz)r   r   foo.barfoo.bazr-   r   r   r   sorted__path__r%   r   r&   r   r   r   r.   r   r   	dirname_0	dirname_1rs   s        r   test_simplezExtendPathTests.test_simple  s'   $$W-	$$W-	i%;i%;** 	-i!A!#i!A!C D	E
 	i i HHQKHHQKKKKK	"KK	"r   c                    t         j                  }t         j                  }d}d}| j                  |      }t        j
                  j                  ||      }dj                  ||      }t        j                  j                  |d        t        j                  j                  |d        	 | j                  |||d       t        j                  |       t         ||            } ||      }	|D ]  }
|
j                  |      }|j                   }	 |j                   }| j%                  |
t        j&                  j(                         | j+                  |
|	       | j%                  |t        j&                  j,                         | j/                  |
j                  |              | j1                  t2              5  t         |d             d d d        | j1                  t2              5  t         |d             d d d        t5        j6                  |       t        j
                  d= 	 t        j                  d= t        j                  d= y # t"        $ r Y <w xY w# 1 sw Y   xY w# 1 sw Y   oxY w# t8        $ r Y y w xY w# t5        j6                  |       t        j
                  d= 	 t        j                  d= t        j                  d= w # t8        $ r Y w w xY wxY w)Nspameggsz{}.{}r   zinvalid.modulez.spamz	spam.eggs)r+   iter_importersget_importerr   r%   r   r&   r   r   r.   rK   r   r   r   rN   r   r   r   r@   	machinery
FileFinderr-   SourceFileLoaderassertIsNonerl   r   r   r   KeyError)r   r   r   r   modnamer   pathitemr   	importersexpected_importerfinderr   r   s                r   test_iter_importersz#ExtendPathTests.test_iter_importers  se    //++""7+77<<1>>'73$'&"	!!'7GQ?##H-^H56I ,X 6# =''1#]]F
 %%fi.A.A.L.LM  ):;%%f&/&9&9&J&JL!!&"2"27";<= "";/ 7^$4567 "";/ .^G,-. MM'"KK'KK,) &  7 7. .   MM'"KK'KK, s   )A$J I
BJ 7I	J &I&8J '"I2 
	IJ IJ I#J &I/+J 2	I>=I>'K)"KK	KKKKc           
         d}| j                  |      }| j                  |      }| j                  ||dd       t        j                  t        j                  j                  ||d             | j                  ||dd       dd l}dd l}| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  t        |j                        t        t        j                  j                  ||      t        j                  j                  ||      g             t        j                  |       t        j                  |       t         j                  d= t         j                  d= t         j"                  d= t         j"                  d= t         j"                  d= y )	Nrs   r   r   r    r   r]   r   r   )r   r   r%   unlinkr   r&   r   r   r-   r   r   r   r   r   r   r   r   r.   r   s        r   test_mixed_namespacez$ExtendPathTests.test_mixed_namespace  sD   $$W-	$$W-	i%;
		"'',,y'=ABi%;** 	-i!A!#i!A!C D	E
 	i i HHQKHHQKKKKK	"KK	"r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   o  s    	5
#:-`#r   r   c                   $    e Zd Zd Zd Zd Zd Zy)NestedNamespacePackageTestc                 f    t        j                         | _        t        j                  d d  | _        y r   )r   r   basedirr   r   old_pathr   s    r   r   z NestedNamespacePackageTest.setUp  s!    '')r   c                 |    | j                   t        j                  d d  t        j                  | j
                         y r   )r   r   r   r   r   r   r   s    r   r   z#NestedNamespacePackageTest.tearDown  s#    mmdll#r   c                    |j                  dd      \  }}t        j                  j                  | j                  |j                  dt        j                  j                              }t        j                  |d       t        t        j                  j                  ||dz         d      5 }|j                  |       d d d        y # 1 sw Y   y xY w)N.r]   Trx   r   r8   )
rsplitr%   r   r&   r   replacesepr   r(   r*   )r   rC   contentsbasefinal	base_pathr2   s          r   r   z(NestedNamespacePackageTest.create_module  s    kk#q)eGGLLt||C/MN	
I-"'',,y%%-8#> 	!GGH	 	 	s   ,CCc                 p   d}| j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  dd       | j                  dd	       t        j                  j                  d
t        j                  j                  | j                  d             t        j                  j                  d
t        j                  j                  | j                  d             d
d l}| j                  t        d       | j                  t        |j                        d       d
d l}| j                  t        d       | j                  t        |j                  j                        d       d
dlm} d
dlm} | j                  |d       | j                  |d       y )NzBimport pkgutil; __path__ = pkgutil.extend_path(__path__, __name__)za.pkg.__init__zb.pkg.__init__za.pkg.subpkg.__init__zb.pkg.subpkg.__init__za.pkg.subpkg.czc = 1zb.pkg.subpkg.dzd = 2r   abr/      z
pkg.subpkg)c)rX   r]   )r   r   r   r   r%   r&   r   r/   r   r   r-   r   r   
pkg.subpkgsubpkgpkg.subpkg.cr   pkg.subpkg.drX   )r   pkgutil_boilerplater/   r   rX   s        r   test_nestedz&NestedNamespacePackageTest.test_nested  sC   A 	 	+-@A+-@A24GH24GH+W5+W5277<<c:;277<<c:;&S\\*A.-SZZ00115""AAr   N)r   r   r   r   r   r   r  r   r   r   r   r     s    $$r   r   c                       e Zd Z ej                  e dk(  d       ee      d               Z ee      d        Z ee      d        Z	 ee      d        Z
d Zd	 Z ee      d
        Zd Zd Zd Zy)ImportlibMigrationTests__main__znot compatible with __main__)categoryc                 v    t         }b 	 | j                  t        j                  t                     |a y # |a w xY wr   )
__loader__assertIsNotNoner+   
get_loaderr   )r   this_loaders     r   0test_get_loader_handles_missing_loader_attributezHImportlibMigrationTests.test_get_loader_handles_missing_loader_attribute  s5     !	%  !3!3H!=>$JJs   (4 8c                     d} t        t              |      }|`t        |      5  |t        j                  |<   t        j                  |      }d d d        | j                         y # 1 sw Y   xY wNr   typer   __spec__r   r.   r+   r  r   r   rC   r^   r   s       r   .test_get_loader_handles_missing_spec_attributezFImportlibMigrationTests.test_get_loader_handles_missing_spec_attribute%  sf    d3ioL 	. #CKK''-F	. 	&!	. 	.s   )A((A1c                     d} t        t              |      }d |_        t        |      5  |t        j                  |<   t        j                  |      }d d d        | j                         y # 1 sw Y   xY wr  r  r  s       r   +test_get_loader_handles_spec_attribute_nonezCImportlibMigrationTests.test_get_loader_handles_spec_attribute_none/  sh    d3io 	. #CKK''-F	. 	&!	. 	.s   )A--A6c                     d}d t         j                  |<   	 t        j                  |      }t         j                  |= | j	                  |       y # t         j                  |= w xY wNztotally bogus)r   r.   r+   r  r   r   rC   r   s      r   #test_get_loader_None_in_sys_modulesz;ImportlibMigrationTests.test_get_loader_None_in_sys_modules9  sT     D	"''-FD!&! D!s   A A"c                     t        dt        f      5  t        j                  d      }d d d        | j	                         y # 1 sw Y   xY w)Nz.*\bpkgutil.get_loader\b.*r   )r   DeprecationWarningr+   r  r  r   rO   s     r   test_get_loader_is_deprecatedz5ImportlibMigrationTests.test_get_loader_is_deprecatedC  sJ    *,>?
 	, $$U+C	, 	S!		, 	,   AAc                     t        dt        f      5  t        j                  d      }d d d        | j	                         y # 1 sw Y   xY w)Nz.*\bpkgutil.find_loader\b.*r   )r   r  r+   find_loaderr  r  s     r   test_find_loader_is_deprecatedz6ImportlibMigrationTests.test_find_loader_is_deprecatedJ  sJ    +-?@
 	- %%e,C	- 	S!		- 	-r!  c                 T    d}t        j                  |      }| j                  |       y r  )r+   r#  r   r  s      r   test_find_loader_missing_modulez7ImportlibMigrationTests.test_find_loader_missing_moduleQ  s%    $$T*&!r   c                     t               5 }| j                  t        j                  d             | j	                  t        |j                        d       d d d        y # 1 sw Y   y xY w)Nz*??r   )r   r   r+   r   r-   r   warnings)r   r8   s     r   "test_get_importer_avoids_emulationz:ImportlibMigrationTests.test_get_importer_avoids_emulationW  sP     	1g2259:S_a0	1 	1 	1s   A
AA'c                     	 t        j                  t        d             y # t        $ r | j	                  d       Y y w xY w)Nz/homez3Unexpected AttributeError when calling get_importer)r+   r   r   r   rV   r   s    r   test_issue44061z'ImportlibMigrationTests.test_issue44061]  s8    	M  g/ 	MIIKL	Ms   ! >>c                     t               5 }t        j                         D ]  } | j                  t	        |j
                        d       d d d        y # 1 sw Y   y xY wr   )r   r+   r   r-   r   r(  )r   r8   importers      r   $test_iter_importers_avoids_emulationz<ImportlibMigrationTests.test_iter_importers_avoids_emulationc  sK     	1#224::S_a0	1 	1 	1s   ?AAN)r   r   r   unittestskipIfr   r  r  r  r  r  r   r$  r&  r)  r+  r.  r   r   r   r  r    s    
 X__X+-KL01% 2 M% 01" 2" 01" 2" 01" 2""" 01" 2"
1M1r   r  c                  j    dd l } dd l}| j                  j                           |j                          y r   )	zipimportr   _zip_directory_cacheclearr   )r2  r   s     r   tearDownModuler5  i  s(    ""((*I!r   r  )pathlibr   test.support.import_helperr   r   test.support.warnings_helperr   r   r/  r   r   importlib.utilr   r+   r%   os.pathr   r   r<   TestCaser
   r   r   r   r  r5  r   mainr   r   r   <module>r=     s     : H  
  2  	    j,8$$ j,Z	(** (Zx#h'' x#z&!2!2 &RQ1h// Q1h" zHMMO r   