a  ze@sddlZddlZddlZddlmZddlmZddlmZdZ dZ dZ ej dkrtdd l mZed krndZqxd Znd ZeedueGd ddejejZddZedkreedS)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,eZdZddZddZddZddZd S) msvc9compilerTestCasecCsRddlm}dd}ddlm}|j}||_z|t|dW||_n||_0dS)Nr)query_vcvarsallcSsdSN)versionr r V/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/tests/test_msvc9compiler.py_find_vcvarsallosz?msvc9compilerTestCase.test_no_compiler.._find_vcvarsall) msvc9compilerzwont find this version)distutils.msvc9compilerrZ distutilsrZfind_vcvarsall assertRaisesr)selfrr rZold_find_vcvarsallr r r test_no_compilerjs  z&msvc9compilerTestCase.test_no_compilercCs|ddlm}|t|jddd}||d}||dddl}|j}||d}| |d||d}|d |dS) Nr)RegZxxxzControl Panel\DesktopZdragfullwindows)012Zxxxxz Control PanelZDesktop) rrrKeyError get_valueZassertInwinregHKEY_CURRENT_USERZ read_keys assertEqual)rrpathvrZHKCUkeysr r r test_reg_class{s      z$msvc9compilerTestCase.test_reg_classcCsddlm}|}tj|d}t|d}z|tW| n | 0|}| |t|}z$ddd| D}W| n | 0| |t dS)Nr MSVCCompilermanifestw cSsg|] }|qSr )rstrip).0liner r r zBmsvc9compilerTestCase.test_remove_visual_c_ref..)rr!mkdtemposrjoinopenwrite"_MANIFEST_WITH_MULTIPLE_REFERENCESclose_remove_visual_c_ref readlinesr_CLEANED_MANIFEST)rr!tempdirr"fcompilerZcontentr r r test_remove_visual_c_refs    z.msvc9compilerTestCase.test_remove_visual_c_refcCslddlm}|}tj|d}t|d}z|tW| n | 0|}| |}| |dS)Nrr r"r#) rr!r*r+rr,r-r."_MANIFEST_WITH_ONLY_MSVC_REFERENCEr0r1Z assertIsNone)rr!r4r"r5r6Zgotr r r test_remove_entire_manifests    z1msvc9compilerTestCase.test_remove_entire_manifestN)__name__ __module__ __qualname__rrr7r9r r r r rfsrcCs ttSr )unittestZ makeSuiterr r r r test_suitesr>__main__)sysr=r+Zdistutils.errorsrZdistutils.testsrZ test.supportrr8r/r3platformZdistutils.msvccompilerrZ SKIP_MESSAGEZ skipUnlessZTempdirManagerZTestCaserr>r:r r r r s*      M