
    dafn                        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                  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_helperzextension.cppzsetup.pyc                   8   e Zd Z ej                  d      d        Z ej                  d      d        Z ej                  ej                  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    4/root/Python-3.12.4/Lib/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_cmd0   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_dirr8   r6   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__W'')@A X__111+>D"E24 $W##%E &	4 BE
,r   r   __main__)os.pathr)   rA   sysrL   r/   rO   testr   test.supportr   rC   r.   dirname__file__rE   rB   requires_subprocessTestCaser   rH   mainrR   r   r   <module>r]      s      
     " 
bggooh/	A
RWW__X.
; D"" D DN zHMMO r   