\bgdZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZddlZejdZGdd e jZGd d ejZGd d ZdS)z"Tests for distutils._msvccompiler.N) _msvccompiler)DistutilsPlatformError)support) get_platformz$not hasattr(_msvccompiler, "winreg")c jeZdZdZejej d dej ddddefgd Z e d Z e ej d d d ZdS)Testmsvccompilercd}|td|tjt5tjdddddS#1swxYwYdS)NcdS)N)NN) plat_specs ~/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_msvccompiler.py_find_vcvarsallz:Testmsvccompiler.test_no_compiler.._find_vcvarsalls:rzwont find this version)setattrrpytestraisesr _get_vc_env)self monkeypatchrs r test_no_compilerz!Testmsvccompiler.test_no_compilers    M+._get_vcvars_spec3sx''''''rr!N)r MSVCCompilerr initialize)rr plat_namer compilerr!s ` r %test_cross_platform_compilation_pathsz6Testmsvccompiler.test_cross_platform_compilation_paths!sb !-// ( ( ( ( ( M+=?OPPPI&&&&&rcd}d}tjdd}|tj|< tjd}||vsJ|||ksJ tj||r|tjd<dSdS#tj||r|tjd<wxYw)NuṰḖṤṪ┅ṼẨṜu ₃⁴₅DISTUTILS_USE_SDKx86)osenvironpoprrlower)rtest_var test_valueold_distutils_use_sdkenvs r test_get_vc_env_unicodez(Testmsvccompiler.test_get_vc_env_unicode9s- !# /BD I I) 8 H+E22C>>##s****X^^%5%5!666666 JNN8 $ $ $$ H2G ./// H H JNN8 $ $ $$ H2G ./GGGGs A B662C(veriicttd|}ddd|}|\}}|stjd|d||ksJtj|sJdS)N_find_vcr4zVS z is not installed)getattrrrskipr*pathisdir)rr3lookupexpected_versionversionr;s r test_get_vczTestmsvccompiler.test_get_vcJs (83(8(899"$B//4  6 K4c444 5 5 5*****w}}T"""""""r)__name__ __module__ __qualname__rrmarkskipif sysconfigr startswith parametrizer& needs_winregr2r@r rr rrs     [ "I " $ $ / / 6 66> [ & & <<>> "  ' '  'HH\H  [UL11 # #21\ # # #rrc(eZdZdZfdZdZxZS) CheckThreadNc tdS#t$rtj|_YdSwxYwr)superrun Exceptionsysexc_info)r __class__s r rNzCheckThread.run[sK + GGKKMMMMM + + +LNNDMMMM +s %"A  A c|j Sr)rQ)rs r __bool__zCheckThread.__bool__as =  r)rArBrCrQrNrT __classcell__)rRs@r rKrKXsLH+++++ !!!!!!!rrKceZdZdZdZdS) TestSpawnctjd_d}tjd|gfdt dD}|D]}||D]}|t|sJdS)zK Concurrent calls to spawn should have consistent results. r z2import os; assert os.environ["PATH"] == "expected"z-cc>g|]}tjgS))targetargs)rKspawn).0ncommandr%s r z2TestSpawn.test_concurrent_safe..os7   CDKx~WI > > >   rdN) rr"_pathsrP executablerangestartjoinall)r inner_cmdthreadsthreadr_r%s @@r test_concurrent_safezTestSpawn.test_concurrent_safefs!-//$H >43     HMc      F LLNNNN  F KKMMMM7|||rc>ddlm}tj}d|_d}t j|jd|5| dgdddn #1swxYwYtj ddksJdS) zy If CCompiler.spawn has been monkey-patched without support for an env, it should still execute. r) ccompilerr c6tjddksJdS)z A spawn without an env argument.PATHr N)r*r+)rcmds r CCompiler_spawnz@TestSpawn.test_concurrent_safe_fallback..CCompiler_spawns :f%333333rr\zn/aNro) distutilsrmrr"rbmockpatchobject CCompilerr\r*r+get)rrmr%rqs r test_concurrent_safe_fallbackz'TestSpawn.test_concurrent_safe_fallbackxs (''''' -//$ 4 4 4Z  y2G_ M M $ $ NNE7 # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $z~~f%%333333s A--A14A1N)rArBrCrkrxr rr rWrWes2$44444rrW)__doc__r*rPrF threading unittest.mockrsrrrdistutils.errorsrdistutils.testsrdistutils.utilrrrDrErITempdirManagerrThreadrKrWr rr rsC(( ######333333######'''''' {!!"HII C#C#C#C#C#w-C#C#C#L ! ! ! ! !)" ! ! !$4$4$4$4$4$4$4$4$4$4r