
    sh                         S r SSKrSSKrSSKJr  SSKJr  SSKJr  SSK	J
r
  SSKrSSKr\
R                   " S S\
R                  5      5       rg)	z%Tests for distutils.command.build_py.    N)build_py)Distribution)DistutilsFileError)supportc                       \ rS rSrS rS r\R                  R                  S5      S 5       r	\R                  R                  S5      S 5       r
S rS rS	 rS
rg)TestBuildPy   c                    U R                  5       n[        R                  R                  SSS.U5        U R                  5       n[	        S/SU0S.5      n[
        R                  R                  US5      Ul        [        R                  " SUS9UR                  S	'   S/Ul        SS
/0Ul        SU0Ul        [        U5      nSUl        UR!                  5         UR                  UR                  :X  d   eUR#                  5         [%        UR'                  5       5      S:X  d   e[
        R                  R                  US5      n[
        R(                  " U5      n[
        R                  R                  US5      nSU;   d   eS
U;   d   e[*        R,                  (       a'  [
        R                  R/                  U5      (       a   eg [
        R(                  " U5      nS[*        R0                  R2                   S3U;   d   eg )Nz# Pretend this is a package.zInfo about this package)__init__.py
README.txtpkg)packagespackage_dirsetup.pyF)force	build_libbuildr   T   __pycache__r   z	__init__..pyc)mkdtempjaracopathr   r   osjoinscript_namer   DummyCommandcommand_objr   package_datar   r   compileensure_finalizedrunlenget_outputslistdirsysdont_write_bytecodeexistsimplementation	cache_tag)	selfsourcesdestinationdistcmdpkgdestfilespycache_dir	pyc_filess	            }/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/setuptools/_distutils/tests/test_build_py.pytest_package_dataTestBuildPy.test_package_data   s   ,,.=7 	
 lln%%AQRS77<<<$+$8$8;%
! "\N3!7+tn4#4#4444	
 3??$%***'',,{E2

7#ggll7M:%%%u$$$""ww~~k22222

;/Is11;;<DAYNNN    c                    U R                  5       n[        R                  R                  SSS0S.U5        [        R
                  " U5        [        S/SS0SS/0S.5      n[        R                  R                  US5      Ul        S/Ul	        UR                  5          UR                  5         g ! [         a    U R                  S	5         g f = f)
N testfiler   docr   doc/*)r   r   r   r   r   z/failed package_data test when package_dir is ''r   r   r   r   r   chdirr   r   r   script_argsparse_command_linerun_commandsr   failr+   r,   r.   s      r4   test_empty_package_dir"TestBuildPy.test_empty_package_dir<   s    ,,."j"5EFP
!2;"WI.
  77<<<#9!	I! 	IIIGH	I   B0 0CCzsys.dont_write_bytecodec                    U R                  S/S9u  p[        R                  " U5        U R                  SS5        [	        U5      nSUl        SUl        UR                  5         UR                  5         [        R                  " UR                  5      n[        U5      SS/:X  d   e[        R                  " [        R                  R                  UR                  S5      5      nUS[        R                  R                   S	3/:X  d   eg )
N
boiledeggs
py_modulesboiledeggs.pyimport antigravityTherer   boiledeggs.r   )create_distr   r?   
write_filer   r    r   finalize_optionsr"   r%   sortedr   r   r&   r)   r*   )r+   project_dirr.   r/   founds        r4   test_byte_compileTestBuildPy.test_byte_compileQ   s     ,,,G
)=>tn	

3==)e} @@@@

277<<}EF;s'9'9'C'C&DDIJJJJr7   c                 :   U R                  S/S9u  p[        R                  " U5        U R                  SS5        [	        U5      nSUl        SUl        SUl        UR                  5         UR                  5         [        R                  " UR                  5      n[        U5      SS/:X  d   e[        R                  " [        R                  R                  UR                  S5      5      nS	[        R                  R                    S
3n[        U5      U/:X  d   eg )NrI   rJ   rL   rM   F   rN   r   rO   z
.opt-1.pyc)rP   r   r?   rQ   r   r    optimizer   rR   r"   r%   rS   r   r   r&   r)   r*   )r+   rT   r.   r/   rU   expects         r4   test_byte_compile_optimized'TestBuildPy.test_byte_compile_optimizeda   s     ,,,G
)=>tn	

3==)e} @@@@

277<<}EFs11;;<JGe}(((r7   c                    U R                  5       n[        R                  R                  SSS0 S.S.0U5        [        R
                  " U5        [        S/SS/0S.5      n[        R                  R                  US5      Ul        S/Ul	        UR                  5          UR                  5         g
! [         a    U R                  S	5         g
f = f)zB
A directory in package_data should not be added to the filelist.
r   r9   )r:   otherdirr;   r=   )r   r   r   r   z0failed package_data when data dir includes a dirNr>   rD   s      r4   test_dir_in_package_data$TestBuildPy.test_dir_in_package_datas   s    
 ,,.#%$&$&	 	
 	%57)BTUV77<<<#9!	J! 	JIIHI	JrG   c                 *   U R                  5       S   n[        U5      nSUl        SUl        [        R
                  nS[        l         UR                  / 5        U[        l        SUR                  S   R                  ;   d   eg ! U[        l        f = f)NrY   Tzbyte-compiling is disabledr   )	rP   r   r    rZ   r&   r'   byte_compilerecordsmessage)r+   caplogr.   r/   old_dont_write_bytecodes        r4   test_dont_write_bytecode$TestBuildPy.test_dont_write_bytecode   s    !!$tn"%"9"9"&	>R &=C#+v~~a/@/H/HHHH '>C#s   	B Bc                    U R                  5       n[        R                  R                  SSSS000U5        [        R
                  " U5        SSS/SS.n[        U5      nUR                  S5      nUR                  5         UR                  5       n[        U5      S	:X  d   eUS
   S   nUR                  [        R                  S5      S:X  d   eUR                  5         [        S UR                   5       5      (       a   eg)a%  
Originally distutils implementation did not account for PEP 420
and included warns for package directories that did not contain
``__init__.py`` files.
After the acceptance of PEP 420, these warnings don't make more sense
so we want to ensure there are not displayed to not confuse the users.
nsr   z	module.pyr9   zns.pkgr   )namer   r   r   rY   r   /zns/pkg/module.pyc              3   D   #    U  H  nS U;   =(       a    SU;   v   M     g7f)zpackage init filez	not foundN ).0msgs     r4   	<genexpr>CTestBuildPy.test_namespace_package_does_not_warn.<locals>.<genexpr>   s&      
IX#3&=;#+==s    N)r   r   r   r   r   r?   r   get_command_objrR   find_all_modulesr#   replacesepr"   anymessages)r+   rf   tmpattrsr.   r/   modulesmodule_paths           r4   $test_namespace_package_does_not_warn0TestBuildPy.test_namespace_package_does_not_warn   s    lln4%+r):!;<cB
 x(%

 E" "":.&&(7|q   ajn""2663/3EEEE	 
IO
 
 
 	
 
 
r7   rp   N)__name__
__module____qualname____firstlineno__r5   rE   pytestmarkskipifrV   r\   r`   rh   r   __static_attributes__rp   r7   r4   r   r      sk    *OXI* [[12K 3K [[12) 3)"J@I !
r7   r   )__doc__r   r&   distutils.command.build_pyr   distutils.corer   distutils.errorsr   distutils.testsr   jaraco.pathr   r   combine_markersTempdirManagerr   rp   r7   r4   <module>r      sJ    + 	 
 / ' / #   	u
'(( u
 u
r7   