o
    FXîh–  ã                   @   sÂ   	 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Z	dZ
dZe jdkr;d d	lmZ eƒ d
kr8dZndZndZe edu e¡G dd„ dejejƒƒZdd„ Zedkr_eeƒ ƒ dS dS )é    N)ÚDistutilsPlatformError)Úsupport)Úrun_unittesta¢  <?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                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Úmsvc9compilerTestCasec                 C   sP   ddl m} dd„ }ddlm} |j}||_z|  t|d¡ W ||_d S ||_w )Nr   )Úquery_vcvarsallc                 S   s   d S ©N© )Úversionr
   r
   úL/opt/python-3.10.19/usr/lib/python3.10/distutils/tests/test_msvc9compiler.pyÚ_find_vcvarsallo   s   z?msvc9compilerTestCase.test_no_compiler.<locals>._find_vcvarsall)Úmsvc9compilerzwont find this version)Údistutils.msvc9compilerr   Z	distutilsr   Zfind_vcvarsallÚassertRaisesr   )Úselfr   r   r   Zold_find_vcvarsallr
   r
   r   Útest_no_compilerj   s   ÿz&msvc9compilerTestCase.test_no_compilerc                 C   s|   ddl m} |  t|jdd¡ d}| |d¡}|  |d¡ dd l}|j}| |d¡}|  	|d ¡ | |d¡}|  d	|¡ d S )
Nr   )ÚRegZxxxzControl Panel\DesktopZdragfullwindows)Ú0Ú1Ú2ZxxxxzControl PanelZDesktop)
r   r   r   ÚKeyErrorÚ	get_valueZassertInÚwinregÚHKEY_CURRENT_USERZ	read_keysÚassertEqual)r   r   ÚpathÚvr   ZHKCUÚkeysr
   r
   r   Útest_reg_class{   s   z$msvc9compilerTestCase.test_reg_classc                 C   s¦   ddl m} |  ¡ }tj |d¡}t|dƒ}z| t¡ W | 	¡  n| 	¡  w |ƒ }| 
|¡ t|ƒ}zd dd„ | ¡ D ƒ¡}W | 	¡  n| 	¡  w |  |t¡ d S )Nr   ©ÚMSVCCompilerÚmanifestÚwÚ
c                 S   s   g | ]}|  ¡ ‘qS r
   )Úrstrip)Ú.0Úliner
   r
   r   Ú
<listcomp>ž   s    zBmsvc9compilerTestCase.test_remove_visual_c_ref.<locals>.<listcomp>)r   r!   ÚmkdtempÚosr   ÚjoinÚopenÚwriteÚ"_MANIFEST_WITH_MULTIPLE_REFERENCESÚcloseÚ_remove_visual_c_refÚ	readlinesr   Ú_CLEANED_MANIFEST)r   r!   Útempdirr"   ÚfÚcompilerZcontentr
   r
   r   Útest_remove_visual_c_ref   s   

z.msvc9compilerTestCase.test_remove_visual_c_refc                 C   sl   ddl m} |  ¡ }tj |d¡}t|dƒ}z| t¡ W | 	¡  n| 	¡  w |ƒ }| 
|¡}|  |¡ d S )Nr   r    r"   r#   )r   r!   r)   r*   r   r+   r,   r-   Ú"_MANIFEST_WITH_ONLY_MSVC_REFERENCEr/   r0   ZassertIsNone)r   r!   r3   r"   r4   r5   Zgotr
   r
   r   Útest_remove_entire_manifest¥   s   

z1msvc9compilerTestCase.test_remove_entire_manifestN)Ú__name__Ú
__module__Ú__qualname__r   r   r6   r8   r
   r
   r
   r   r   f   s
    r   c                   C   s
   t  t¡S r	   )ÚunittestZ	makeSuiter   r
   r
   r
   r   Ú
test_suite´   s   
r=   Ú__main__)Úsysr<   r*   Zdistutils.errorsr   Zdistutils.testsr   Ztest.supportr   r7   r.   r2   ÚplatformZdistutils.msvccompilerr   ZSKIP_MESSAGEZ
skipUnlessZTempdirManagerZTestCaser   r=   r9   r
   r
   r
   r   Ú<module>   s0    

ÿMÿ