
    z%i                        d dl Zd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 ej                  dk(  Zej                  j                  ej                  j                  e      d      Zej                  j                  ej                  j                  e      d      Z ej&                          G d dej(                               Zed	k(  r ej.                          yy)
    N)support)	os_helperwin32zextension.cppzsetup.pyc                   $   e Zd Z ej                  d      d        Z ej                  d      d        Z ej                  e	d       ej                  d e
j                  d      xs dv d       ej                         d	                      Zd
 Zy)
TestCPPExtcpuc                 (    | j                  dd       y )NF_testcpp11extcheck_buildselfs    M/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_cppext/__init__.pytest_build_cpp11zTestCPPExt.test_build_cpp11   s    0    c                 (    | j                  dd       y )NT_testcpp03extr   r   s    r   test_build_cpp03zTestCPPExt.test_build_cpp03   s    /r   ztest fails on Windowsz
-fsanitize	PY_CFLAGS z(test does not work with analyzing buildsc                     d}t        j                  |      5 }| j                  |||       d d d        y # 1 sw Y   y xY w)Nenv)r   $setup_venv_with_pip_setuptools_wheel_check_build)r   	std_cpp03extension_namevenv_dir
python_exes        r   r   zTestCPPExt.check_build   sD     99(C 	EziD	E 	E 	Es   5>c           
      X    d}t        j                  |       t        j                  t        t         j
                  j                  |t         j
                  j                  t                           t        j                  t        t         j
                  j                  |t         j
                  j                  t                            fd}|ddddddt         j
                  j                  |      g} |d	|       |dddd
ddg} |d|       |dddd
dd g} |d|       y )Npkgc                    t         j                  j                         }rdnd|d<   |d<   t        j                  r4t        ddj                  |             t        j                  |d|       y t        j                  ||t        j                  t        j                  d	      }|j                  r8t        |j                  d
       j                  |  d|j                          y y )Nzc++03zc++11CPYTHON_TEST_CPP_STDCPYTHON_TEST_EXT_NAMEzRun: T)checkr   )r   stdoutstderrtextr   )endz failed with exit code )osenvironcopyr   verboseprintjoin
subprocessrunPIPESTDOUT
returncoder&   fail)	operationcmdr   procr   r   r   s       r   run_cmdz(TestCPPExt._check_build.<locals>.run_cmd1   s    **//#C5>'GC&'+9C'(fchhsm,s$C8!~~c*--7__-7->->+/	1
 ??$++2.II$+%<T__<MNP #r   z-Xdevz-mpipinstallz--no-build-isolationInstallshowrefcountz-cpasszReference runzimport Import)
r*   mkdirshutilr,   SETUPpathr/   basenameSOURCEabspath)r   r   r   r   pkg_dirr9   r7   s   ```    r   r   zTestCPPExt._check_build+   s    
E277<<1A1A%1HIJFBGGLL"''2B2B62JKL	P& 4UI'=www') 		3
 U^V 	% U^w~./1 	#r   N)__name__
__module____qualname__r   requires_resourcer   r   unittestskipIf
MS_WINDOWS	sysconfigget_config_varrequires_venv_with_pipr   r    r   r   r   r      s    Wu%1 &1 Wu%0 &0
 X__Z!89 X__111+>D"E24 $W##%E &	4 :E
,r   r   __main__)os.pathr*   rB   sysrM   r0   rP   testr   test.supportr   platformrO   rD   r/   dirname__file__rF   rC   requires_subprocessTestCaser   rI   mainrS   r   r   <module>r_      s      
     " llg%
	bggooh/	A
RWW__X.
; D"" D DN zHMMO r   