
    e                     &   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ZdZ	dZ
ej        dk    rdd	lmZ  e            d
k    rdZndZndZ ej        edu e           G d dej        ej                              Zedk    r ej                     dS dS )z"Tests for distutils.msvc9compiler.    N)DistutilsPlatformError)supporta  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
          manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false">
        </requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
         version="9.0.21022.8" processorArchitecture="x86"
         publicKeyToken="XXXX">
      </assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>
a  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
          manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false">
        </requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
         version="9.0.21022.8" processorArchitecture="x86"
         publicKeyToken="XXXX">
      </assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.MFC"
        version="9.0.21022.8" processorArchitecture="x86"
        publicKeyToken="XXXX"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>
a  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
          manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false">
        </requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>

  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.MFC"
        version="9.0.21022.8" processorArchitecture="x86"
        publicKeyToken="XXXX"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>win32)get_build_versiong       @z)These tests are only for MSVC8.0 or abovezThese tests are only for win32c                   &    e Zd Zd Zd Zd Zd ZdS )msvc9compilerTestCasec                     ddl m} d }ddlm} |j        }||_        	 |                     t          |d           ||_        d S # ||_        w xY w)Nr   )query_vcvarsallc                     d S )N )versions    4  /home/conda/feedstock_root/build_artifacts/python-split_1708115622739/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.11/distutils/tests/test_msvc9compiler.py_find_vcvarsallz?msvc9compilerTestCase.test_no_compiler.<locals>._find_vcvarsalln   s    4    )msvc9compilerzwont find this version)distutils.msvc9compilerr
   	distutilsr   find_vcvarsallassertRaisesr   )selfr
   r   r   old_find_vcvarsalls        r   test_no_compilerz&msvc9compilerTestCase.test_no_compileri   s     	<;;;;;	 	 	 	,+++++*9'6$	>4o57 7 7 ,>M(((+=M(====s   A 	Ac                 x   ddl m} |                     t          |j        dd           d}|                    |d          }|                     |d           dd l}|j        }|                    |d          }| 	                    |d            |                    |d          }|                     d	|           d S )
Nr   )RegxxxzControl Panel\Desktopdragfullwindows)012xxxxzControl PanelDesktop)
r   r   r   KeyError	get_valueassertInwinregHKEY_CURRENT_USER	read_keysassertEqual)r   r   pathvr%   HKCUkeyss          r   test_reg_classz$msvc9compilerTestCase.test_reg_classz   s    //////(CM5%@@@ (MM$ 122a)))'}}T6**t$$$}}T#344i&&&&&r   c                 ~   ddl m} |                                 }t          j                            |d          }t          |d          }	 |                    t                     |	                                 n# |	                                 w xY w |            }|
                    |           t          |          }	 d                    d |                                D                       }|	                                 n# |	                                 w xY w|                     |t                     d S )Nr   MSVCCompilermanifestw
c                 6    g | ]}|                                 S r   )rstrip).0lines     r   
<listcomp>zBmsvc9compilerTestCase.test_remove_visual_c_ref.<locals>.<listcomp>   s      I I I4 I I Ir   )r   r0   mkdtemposr)   joinopenwrite"_MANIFEST_WITH_MULTIPLE_REFERENCESclose_remove_visual_c_ref	readlinesr(   _CLEANED_MANIFEST)r   r0   tempdirr1   fcompilercontents          r   test_remove_visual_c_refz.msvc9compilerTestCase.test_remove_visual_c_ref   s   888888,,..7<<443	GG6777GGIIIIAGGIIII<>>%%h/// NN	ii I I1;;== I I IJJGGGIIIIAGGIIII 	"344444s   A; ;B1D	 	Dc                    ddl m} |                                 }t          j                            |d          }t          |d          }	 |                    t                     |	                                 n# |	                                 w xY w |            }|
                    |          }|                     |           d S )Nr   r/   r1   r2   )r   r0   r9   r:   r)   r;   r<   r=   "_MANIFEST_WITH_ONLY_MSVC_REFERENCEr?   r@   assertIsNone)r   r0   rC   r1   rD   rE   gots          r   test_remove_entire_manifestz1msvc9compilerTestCase.test_remove_entire_manifest   s    888888,,..7<<443	GG6777GGIIIIAGGIIII<>>++H55#s   A; ;BN)__name__
__module____qualname__r   r-   rG   rL   r   r   r   r   r   e   sP        > > >"' ' '$5 5 50    r   r   __main__)__doc__sysunittestr:   distutils.errorsr   distutils.testsr   rI   r>   rB   platformdistutils.msvccompilerr   SKIP_MESSAGE
skipUnlessTempdirManagerTestCaser   rM   mainr   r   r   <module>r]      s+   ( ( 



  				 3 3 3 3 3 3 # # # # # #& "2& "< 0 <888888CB3L\T)<88J J J J JG2$-J J 98JZ zHMOOOOO r   