
    wg                         d Z ddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlZej                  ej                  j!                  d       G d d	ej"                                      Zy)
z)Tests for distutils.command.install_data.    N)install_lib)DistutilsOptionError)	Extension)supportsave_envc                   f    e Zd Zd Zej
                  j                  d      d        Zd Zd Z	d Z
y)TestInstallLibc                    | j                         d   }t        |      }|j                          |j                  dk(  sJ |j                  dk(  sJ d|_        t        j                  t              5  |j                          d d d        d|_        t        j                  t              5  |j                          d d d        d|_        |j                          |j                  dk(  sJ y # 1 sw Y   kxY w# 1 sw Y   >xY w)N   r   foo42   )create_distr   finalize_optionscompileoptimizepytestraisesr   )selfdistcmds      q/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_install_lib.pytest_finalize_optionsz$TestInstallLib.test_finalize_options   s    !!$${{a||q    ]]/0 	#  "	#]]/0 	#  "	# ||q   	# 	#	# 	#s   1C,*C8,C58Dzsys.dont_write_bytecodec                 *   | j                         \  }}t        j                  |       t        |      }dx|_        |_        t        j                  j                  |d      }| j                  |d       |j                  |g       t        j                  j                  dd      }t        j                  j                  d|j
                        }t        j                  j                  |      sJ t        j                  j                  |      sJ y )Nr   zfoo.pyz# python file )optimization)r   oschdirr   r   r   pathjoin
write_filebyte_compile	importlibutilcache_from_sourceexists)r   project_dirr   r   fpyc_filepyc_opt_files          r   test_byte_compilez TestInstallLib.test_byte_compile'   s     ,,.T
$%&&clGGLLh/?+!>>33H23N ~~773<< 8 
 ww~~h'''ww~~l+++    c                 
   | j                         \  }}t        j                  |       t        j                  d       t	        |      }dx|_        |_        | j                         |_        t        j                  j                  |dd      }| j                  |d       t        ddg      g|j                  _        dg|j                  _        d|j                  _        |j#                         }t%        |      dk(  sJ |       y )	Nspamr   __init__.py# python packager   xxxsetup.py   )r   r   r   mkdirr   r   r   mkdtempinstall_dirr    r!   r"   r   distributionext_modulespackagesscript_nameget_outputslen)r   r(   r   r   r)   outputss         r   test_get_outputszTestInstallLib.test_get_outputs8   s     ,,.T

$ &'&cl,,.GGLLfm<-.(1%%(A'B$%+H!'1$ //#7|q )') r-   c                 
   | j                         \  }}t        j                  |       t        j                  d       t	        |      }dx|_        |_        | j                         |_        t        j                  j                  |dd      }| j                  |d       t        ddg      g|j                  _        dg|j                  _        d|j                  _        |j#                         }t%        |      dk(  sJ |       y )	Nr/   r   r0   r1   r   r2   r3   r   )r   r   r   r5   r   r   r   r6   r7   r    r!   r"   r   r8   r9   r:   r;   
get_inputsr=   )r   r(   r   r   r)   inputss         r   test_get_inputszTestInstallLib.test_get_inputsL   s     ,,.T

$ &'&cl,,.GGLLfm<-.(1%%(A'B$%+H!'1$ !6{a''r-   c                    | j                         d   }t        |      }d|_        d|_        t        j
                  }dt        _        	 |j                  g        |t        _        d|j                  d   v sJ y # |t        _        w xY w)Nr   Tzbyte-compiling is disabledr   )r   r   r   r   sysdont_write_bytecoder#   messages)r   caplogr   r   old_dont_write_bytecodes        r   test_dont_write_bytecodez'TestInstallLib.test_dont_write_bytecode`   s    !!$$"%"9"9"&	>R &=C#+vq/AAAA '>C#s   	A9 9BN)__name__
__module____qualname__r   r   markskipifr,   r?   rC   rJ    r-   r   r	   r	      s;    
!( [[12, 3, *(((Br-   r	   )__doc__importlib.utilr$   r   rE   distutils.command.install_libr   distutils.errorsr   distutils.extensionr   distutils.testsr   r   combine_markersrN   usefixturesTempdirManagerr	   rP   r-   r   <module>rZ      se    /  	 
 5 1 ) #  	$^B^B % ^Br-   