a
:êdg– ã @ s¼ d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ dZ dZ
dZe jdkrtd d l
mZ eƒ d
krndZqxdZndZe edu e¡G d
d„ dejejƒƒZdd„ Zedkr¸eeƒ ƒ dS )é N)ÚDistutilsPlatformError)Úsupport)Úrun_unittesta¢
a
a¸
Úwin32)Úget_build_versiong @z)These tests are only for MSVC8.0 or abovezThese tests are only for win32c @ s, e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd S )
Úmsvc9compilerTestCasec C sR ddl m} dd„ }ddlm} |j}||_z| t|d¡ W ||_n||_0 d S )Nr )Úquery_vcvarsallc S s d S ©N© )Úversionr
r
ú>/usr/local/lib/python3.9/distutils/tests/test_msvc9compiler.pyÚ_find_vcvarsallo s z?msvc9compilerTestCase.test_no_compiler.._find_vcvarsall)Ú
msvc9compilerzwont find this version)Údistutils.msvc9compilerr Z distutilsr Zfind_vcvarsallÚassertRaisesr )Úselfr r
r Zold_find_vcvarsallr
r
r Útest_no_compilerj s ÿz&msvc9compilerTestCase.test_no_compilerc C s| ddl m} | t|jdd¡ d}| |d¡}| |d¡ dd l}|j}| |d¡}| |d ¡ | |d¡}| d |¡ d S )
Nr )ÚRegZxxxzControl Panel\DesktopZdragfullwindows)Ú0Ú1Ú2Zxxxxz
Control PanelZDesktop)
r r r ÚKeyErrorÚ get_valueZassertInÚwinregÚHKEY_CURRENT_USERZ read_keysÚassertEqual)r r ÚpathÚvr ZHKCUÚkeysr
r
r Útest_reg_class{ s z$msvc9compilerTestCase.test_reg_classc C s¦ ddl m} | ¡ }tj |d¡}t|dƒ}z| t¡ W | ¡ n
| ¡ 0 |ƒ }|
|¡ t|ƒ}z$d dd„ | ¡ D ƒ¡}W | ¡ n
| ¡ 0 | |t
¡ d S )Nr ©ÚMSVCCompilerÚmanifestÚwÚ
c S s g | ]}| ¡ ‘qS r
)Úrstrip)Ú.0Úliner
r
r Ú
ž ó zBmsvc9compilerTestCase.test_remove_visual_c_ref..)r r! ÚmkdtempÚosr ÚjoinÚopenÚwriteÚ"_MANIFEST_WITH_MULTIPLE_REFERENCESÚcloseÚ_remove_visual_c_refÚ readlinesr Ú_CLEANED_MANIFEST)r r! Útempdirr" ÚfÚcompilerZcontentr
r
r Útest_remove_visual_c_ref s
z.msvc9compilerTestCase.test_remove_visual_c_refc C sl ddl m} | ¡ }tj |d¡}t|dƒ}z| t¡ W | ¡ n
| ¡ 0 |ƒ }|
|¡}| |¡ d S )Nr r r" r# )r r! r* r+ r r, r- r. Ú"_MANIFEST_WITH_ONLY_MSVC_REFERENCEr0 r1 ZassertIsNone)r r! r4 r" r5 r6 Zgotr
r
r Útest_remove_entire_manifest¥ s
z1msvc9compilerTestCase.test_remove_entire_manifestN)Ú__name__Ú
__module__Ú__qualname__r r r7 r9 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+ Zdistutils.errorsr Zdistutils.testsr Ztest.supportr r8 r/ r3 ÚplatformZdistutils.msvccompilerr ZSKIP_MESSAGEZ
skipUnlessZTempdirManagerZTestCaser r> r: r
r
r
r Ú s*
ÿM