Ë
    Ï"KbË ã                   ó¤   — d Z 	 ddlmZ ddlZddlmZ  G d„ dej                  «      Ze	dk(  r ej                  «        yy# e$ r	 ddlmZ Y ŒDw xY w)z(Unit tests for the MSVSSettings.py file.é    )ÚStringIONc                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestSequenceFunctionsc                 ó"   — t        «       | _        y )N)r   Ústderr©Úselfs    ú7/usr/lib/python3/dist-packages/gyp/MSVSSettings_test.pyÚsetUpzTestSequenceFunctions.setUp   s   € Ü“*€D…Kó    c                 ó  — | j                   j                  d«       | j                   j                  «       j                  d«      }|D �cg c]  }|sŒ|‘Œ	 }}| j	                  t        |«      t        |«      «       yc c}w )z-Compares recorded lines to expected warnings.r   ú
N)r   ÚseekÚreadÚsplitÚassertEqualÚsorted)r	   ÚexpectedÚactualÚlines       r
   Ú_ExpectedWarningsz'TestSequenceFunctions._ExpectedWarnings   sd   € à‡K�K×Ñ�QÔØ�[‰[×ÑÓ×%Ñ% dÓ+€FØ%Ö.�tªŠdÐ.€FÐ.Ø×Ñ”V˜HÓ%¤v¨f£~Õ6ùò /s   Á	A<ÁA<c                 ó|   — t        j                  i i i i i i i i dœ| j                  «       | j                  ddg«       y)z,Tests that only MSVS tool names are allowed.)ÚVCCLCompilerToolÚVCLinkerToolÚ
VCMIDLToolÚfooÚVCResourceCompilerToolÚVCLibrarianToolÚVCManifestToolÚ	ClCompilezWarning: unrecognized tool fooz$Warning: unrecognized tool ClCompileN©ÚMSVSSettingsÚValidateMSVSSettingsr   r   r   s    r
   Ú#testValidateMSVSSettings_tool_namesz9TestSequenceFunctions.testValidateMSVSSettings_tool_names   sQ   € ä×%Ñ%ØØØØØ#%ØØØñ	ð 	�‰ô	ð 	×ÑØ(Ø.ð0õ 1r   c                 ó¸  — t        j                  i dd“dddg“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“i dd“dd“d d“d!d“d"d#“d$d“d%d“d&d“d'd“d(d“d)d“d*d“d+d,“d-d,“d.d“d/d“d0d“¥i d1d“d2d“d3d“d4d“d5d“d6d“d7d“d8d“d9d“d:d“d;d“d<d“d=d“d>d“d?d“d@d“dAd“¥ddddddddddddd#dBœ¥i dCd,“dDdE“dFd“dGd,“ddH“dId,“dJd“dKd“dLd,“dMdH“dNd“dOd“dPd“dQd“dRd,“dSd“dTd“i dUd,“dVd“dWd“dXdH“d$d“dYd“dZd,“d[d“d\d“d]d“d^d“d_dH“d`dH“dad“dbd,“dcd“ddd“¥i ded“dfd“dgd“dhd“did“djd“dkd“dld“dmd“dnd“dod“dpdH“dqd“drd“dsd“dtd“dud“¥i dvd“dwd“dxd“dyd“dzd“d{d“d|d“d}d“d~d“ddH“d€dH“d�d“d‚d“dƒd“d„d“d…d“d†d“¥ddddd‡dddddHdˆœ
¥i dd“ddH“d‰dH“dŠd“d‹d“dŒd“d�d“dŽd“d�d“d�d“d‘d“d’d“d“d“d”d“d0d“d•d“d–d“d#dHdddddddddddd—œ¥dHdd˜dd#ddHdddd™œ
d,ddHddHdd,ddddddšœi d›d,“ddH“dœdH“d�d“džd“dŸd“d dH“d¡d“d¢d“d£d“d¤d“d„d“d¥d“d¦d§“d¨d“d©d“dªd“d«di¥d¬œ| j                  «       | j                  g d­¢«       y®)¯z%Tests that for invalid MSVS settings.ÚAdditionalIncludeDirectoriesúfolder1;folder2ÚAdditionalOptionsÚstring1Ústring2ÚAdditionalUsingDirectoriesÚAssemblerListingLocationÚa_file_nameÚAssemblerOutputÚ0ÚBasicRuntimeChecksÚ5ÚBrowseInformationÚfdksljÚBrowseInformationFileÚBufferSecurityCheckÚtrueÚCallingConventionz-1Ú	CompileAsÚ1ÚDebugInformationFormatÚ2ÚDefaultCharIsUnsignedÚDetect64BitPortabilityProblemsÚDisableLanguageExtensionsÚDisableSpecificWarningsústring1;string2ÚEnableEnhancedInstructionSetÚEnableFiberSafeOptimizationsÚEnableFunctionLevelLinkingÚEnableIntrinsicFunctionsÚEnablePREfastÚEnableprefastÚbogusÚErrorReportingÚExceptionHandlingÚExpandAttributedSourceÚFavorSizeOrSpeedÚFloatingPointExceptionsÚFloatingPointModelÚForceConformanceInForLoopScopeÚForcedIncludeFilesúfile1;file2ÚForcedUsingFilesÚGeneratePreprocessedFileÚGenerateXMLDocumentationFilesÚIgnoreStandardIncludePathÚInlineFunctionExpansionÚKeepCommentsÚMinimalRebuildÚ
ObjectFileÚOmitDefaultLibNameÚOmitFramePointersÚOpenMPÚOptimizationÚPrecompiledHeaderFileÚPrecompiledHeaderThroughÚPreprocessorDefinitionsÚProgramDataBaseFileNameÚRuntimeLibraryÚRuntimeTypeInfoÚShowIncludesÚSmallerTypeCheckÚStringPooling)ÚStructMemberAlignmentÚSuppressStartupBannerÚTreatWChar_tAsBuiltInTypeÚ"UndefineAllPreprocessorDefinitionsÚUndefinePreprocessorDefinitionsÚUseFullPathsÚUsePrecompiledHeaderÚUseUnicodeResponseFilesÚWarnAsErrorÚWarningLevelÚWholeProgramOptimizationÚXMLDocumentationFileNameÚZZXYZÚAdditionalDependenciesÚAdditionalDependencies_excludedÚfile3ÚAdditionalLibraryDirectoriesÚAdditionalManifestDependenciesú	a string1ÚAddModuleNamesToAssemblyÚAllowIsolationÚAssemblyDebugÚAssemblyLinkResourceÚBaseAddressÚCLRImageTypeÚCLRThreadAttributeÚCLRUnmanagedCodeCheckÚDataExecutionPreventionÚDelayLoadDLLsÚ	DelaySignÚDriverÚEmbedManagedResourceFileÚEnableCOMDATFoldingÚ	EnableUACÚEntryPointSymbolÚFixedBaseAddressÚForceSymbolReferencesÚFunctionOrderÚGenerateDebugInformationÚGenerateManifestÚGenerateMapFileÚHeapCommitSizeÚHeapReserveSizeÚIgnoreAllDefaultLibrariesÚIgnoreDefaultLibraryNamesÚIgnoreEmbeddedIDLÚIgnoreImportLibraryÚImportLibraryÚKeyContainerÚKeyFileÚLargeAddressAwareÚLinkIncrementalÚLinkLibraryDependenciesÚLinkTimeCodeGenerationÚManifestFileÚ
MapExportsÚMapFileNameÚMergedIDLBaseFileNameÚMergeSectionsÚMidlCommandFileÚModuleDefinitionFileÚOptimizeForWindows98ÚOptimizeReferencesÚ
OutputFileÚPerUserRedirectionÚProfileÚProfileGuidedDatabaseÚProgramDatabaseFileÚRandomizedBaseAddressÚRegisterOutputÚResourceOnlyDLLÚSetChecksumÚShowProgressÚStackCommitSizeÚStackReserveSizeÚStripPrivateSymbolsÚ	SubSystemÚSupportUnloadOfDelayLoadedDLLrg   ÚSwapRunFromCDÚSwapRunFromNetÚ33©
ÚTargetMachineÚTerminalServerAwareÚTurnOffAssemblyGenerationÚTypeLibraryFileÚTypeLibraryResourceIDÚUACExecutionLevelÚUACUIAccessÚUseLibraryDependencyInputsrm   ÚVersionÚCPreprocessOptionsÚDefaultCharTypeÚDLLDataFileNameÚEnableErrorChecksÚErrorCheckAllocationsÚErrorCheckBoundsÚErrorCheckEnumRangeÚErrorCheckRefPointersÚErrorCheckStubDataÚGenerateStublessProxiesÚGenerateTypeLibraryÚHeaderFileNameÚInterfaceIdentifierFileNameÚMkTypLibCompatible)ÚnotgoodÚOutputDirectoryr_   ÚProxyFileNameÚRedirectOutputAndErrorsrf   rg   ÚTargetEnvironmentÚTypeLibraryNamerj   ÚValidateParametersrn   ro   Ú1003)
r(   r&   ÚCulturerT   Únotgood2r_   ÚResourceOutputFileNamer®   rg   rj   )rs   rv   r(   ÚExportNamedFunctionsrŠ   r‘   ÚIgnoreSpecificDefaultLibrariesrš   r¢   r¥   rg   rm   ÚAdditionalManifestFilesÚAssemblyIdentityÚComponentFileNameÚDependencyInformationFileÚGenerateCatalogFilesÚInputResourceManifestsÚManifestResourceFileÚOutputManifestFileÚRegistrarScriptFileÚReplacementsFiler»   ÚUpdateFileHashesÚtruelÚUpdateFileHashesSearchPathÚUseFAT32Workaroundrm   ÚVerboseOutput)r   r   r   r   r   r   )
z^Warning: for VCCLCompilerTool/BasicRuntimeChecks, index value (5) not in expected range [0, 4)zaWarning: for VCCLCompilerTool/BrowseInformation, invalid literal for int() with base 10: 'fdkslj'z^Warning: for VCCLCompilerTool/CallingConvention, index value (-1) not in expected range [0, 4)zZWarning: for VCCLCompilerTool/DebugInformationFormat, converted value for 2 not specified.z<Warning: unrecognized setting VCCLCompilerTool/Enableprefastz4Warning: unrecognized setting VCCLCompilerTool/ZZXYZzMWarning: for VCLinkerTool/TargetMachine, converted value for 2 not specified.z0Warning: unrecognized setting VCMIDLTool/notgoodz=Warning: unrecognized setting VCResourceCompilerTool/notgood2zHWarning: for VCManifestTool/UpdateFileHashes, expected bool; got 'truel'Nr!   r   s    r
   Ú!testValidateMSVSSettings_settingsz7TestSequenceFunctions.testValidateMSVSSettings_settings-   sF	  € ä×%Ñ%ð@Ø*Ð,=ð@à )¨YÐ!7ð@ð )Ð*;ð@ð '¨ð	@ð
 ˜sð@ð ! #ð@ð   ð@ð $ ]ð@ð " 6ð@ð   ð@ð ˜ð@ð % cð@ð $ Vð@ð -¨fð@ð (¨ð@ð  &Ð'8ð!@ð" +¨Cñ#@ð$ +¨Fð%@ð& )¨&ð'@ð( '¨ð)@ð* ˜Vð+@ð, ˜Wð-@ð. ˜cð/@ð0   ð1@ð2 % fð3@ð4  ð5@ð6 & vð7@ð8 ! #ð9@ð: -¨fð;@ð< ! -ð=@ð>  ð?@ð@ '¨ðA@ðB ,¨VðC@ðD (¨òE@ðF & sðG@ðH ˜FðI@ðJ ˜fðK@ðL ˜-ðM@ðN ! &ðO@ðP   ðQ@ðR �fðS@ðT ˜CðU@ðV $ ]ðW@ðX '¨ðY@ðZ &Ð'8ð[@ð\ & }ð]@ð^ ˜cð_@ð` ˜vða@ðb ˜Fðc@ðd  ðe@ðf ˜Vñg@ðh &)Ø%+Ø)/Ø28Ø/@Ø"Ø$'Ø'-Ø!ØØ(.Ø(5ØòA@ðBN%Ø% }ðN%à.°ðN%ð ,Ð->ðN%ð .¨}ð	N%ð
 ! +ðN%ð (¨ðN%ð ˜vðN%ð ˜cðN%ð $ ]ðN%ð ˜KðN%ð ˜SðN%ð " 3ðN%ð % fðN%ð '¨ðN%ð ˜mðN%ð  ˜&ð!N%ð" �sñ#N%ð$ (¨ð%N%ð& # Cð'N%ð( ˜&ð)N%ð*   ð+N%ð, ˜sð-N%ð.   ð/N%ð0 % mð1N%ð2 ˜mð3N%ð4 (¨ð5N%ð6   ð7N%ð8  ð9N%ð: ˜{ð;N%ð<  ð=N%ð> )¨&ð?N%ð@ )¨-ðAN%ðB ! &ðCN%ðD # FòEN%ðF ˜mðGN%ðH ˜]ðIN%ðJ ˜ðKN%ðL ! #ðMN%ðN  ðON%ðP '¨ðQN%ðR & sðSN%ðT ˜]ðUN%ðV ˜6ðWN%ðX ˜MðYN%ðZ % mð[N%ð\ ˜kð]N%ð^  ð_N%ð` $ ]ðaN%ðb $ SðcN%ðd " 3ðeN%ðf ˜=ògN%ðh " 6ðiN%ðj ˜ðkN%ðl % mðmN%ðn # MðoN%ðp % cðqN%ðr ˜vðsN%ðt  ðuN%ðv ˜FðwN%ðx ˜SðyN%ðz  ð{N%ð|   ð}N%ð~ # MðN%ð@ ˜#ðAN%ðB -¨fðCN%ðD % fðEN%ðF ˜fðGN%ðH ˜vñIN%ðJ "Ø$'Ø*0Ø -Ø&*Ø"%Ø"Ø+1Ø(.Ø#ò]N%ð^"Ø+Ð->ð"à  +ð"ð " ;ð"ð  ð	"ð
  ð"ð ! #ð"ð % fð"ð   ð"ð # Fð"ð % fð"ð " 6ð"ð '¨ð"ð # Fð"ð ˜}ð"ð )¨&ð"ð  +¨Mð!"ð" " 6ð#"ð$  Ø +Ø(9Ø+Ø(5Ø&)Ø&,Ø"%Ø -Ø0AØ#)Ø"Ø ò="ð@ #.Ø->ØØ*0Ø Ø(9Ø'2Ø#Ø&,Ø0Añ
$Cð (5Ø->Ø"-Ø%6Ø&1Ø*0Ø/<Ø(.Ø%2Ø(Ø&,Ø(.ñ0ð&Ø&¨ð&à  +ð&ð   ð&ð ! -ð	&ð
 )¨-ð&ð $ Vð&ð & {ð&ð $ ]ð&ð " =ð&ð # Mð&ð   ð&ð % fð&ð  ð&ð   ð&ð *¨=ð&ð  " 6ð!&ð" '¨ð#&ð$ ˜fñ%&ñOY	'ðt 	�‰ôw[ðx 	×Ñò õ r   c                 ó:  — t        j                  i dd“dddg“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“i dd“d d“d!d“d"d#“d$d%“d&d'“d(d“d)d*“d+d“d,d-“d.d“d/d0“d1d0“d2d“d3d“d4d“d5d6“¥i d7d“d8d“d9d“d:d“d;d“d<d“d=d“d>d?“d@dA“dBd“dCd“dDd“dEd“dFdG“dHd“dId“dJdK“¥i dLd“dMdN“dOd“dPd“dQd“dRd“dSdT“dUd“dVdW“dXd“dYd“dZd“d[d“d\d“d]d“d^d“d_d`“¥ddd#daœ¥i dbd0“dcd“ddd0“ddG“ded0“dfd“dgdh“did0“djdG“dd“dkdl“dmdn“dodp“dqd“drds“dtd“dud0“i dvd“dwdx“dyd0“dzd“d{d“d|dG“d}d“d~dn“dd0“d€d“d�d“d‚d“dƒdG“d„dG“d…d“d†d“d‡dˆ“¥i d‰d“dŠd“d‹d“dŒd“d�d“dŽd“d�d�“d‘d“d’d““d”d“d•d“d–d“d—d“d˜dG“d™d“dšdG“d›d“¥i dœd“d�d“džd“dŸd“d d“d¡d“d¢d“d£d“d¤d“d¥d“d¦d“d§dK“d¨d“d©dª“d«dG“d¬dG“d­dG“¥i d®d“d¯d°“d±d“d²d“dUd“d³d“d´d“dµd¶“d·d“dVdW“d¸d“d¹d“dºd“d»dK“d¼d½“d¾d“d¿dG“¥ddGdÀddddGdddWddÁœi dd“ddG“dÂd“dÃd“dÄdG“dÅdÆ“dÇd“dÈdÉ“dÊd“dËd“dÌd“dÍd“dÎd“dÏdÐ“dÑdÒ“dÓd“dÔd“i dÕd“d4d“dÖd“d×dK“dØd“dÙdG“dEd“dÚd“dÛd“dÜd“dSdx“dÝd“dUd“dÞdß“dVdW“dàdá“dâd“¥ddddãdäœ¥i dbd0“dcd“ddG“dådG“d$dæ“dçd“ddG“d…d“d‡d0“d’d“dšdG“d›d“dèd“dŸd“déd0“d¯d°“dUd“dêdWddddëœ¥i dìd0“ddG“dídG“dîd“dïdð“dñdò“dód“dôdG“dõd“död#“d÷d“dødG“dùd“dúd“dûd“dUd“dVdW“dddddüœ¥dddýœdþdidddddÿœ�d œ	| j                  «       | j                  g �d¢«       �y(  z(Tests that for invalid MSBuild settings.r&   r'   r(   r)   r*   r+   r,   r-   r.   Ú	NoListingr0   ÚStackFrameRuntimeCheckr2   Úfalser4   r5   r6   ÚBuildingInIDEr7   ÚCdeclr8   Ú
CompileAsCÚCompileAsManagedÚCreateHotpatchableImager:   ÚProgramDatabaser>   r?   r@   rA   ÚStreamingSIMDExtensionsrB   rE   rF   rG   rH   ÚPromptrI   Ú
SyncCThrowrJ   rK   ÚNeitherrL   rM   ÚPreciserN   rO   rP   rQ   ÚFunctionLevelLinkingrS   rT   rU   ÚOnlyExplicitInlineÚIntrinsicFunctionsrW   ÚMultiProcessorCompilationÚObjectFileNamerY   rZ   ÚOpenMPSupportr\   ÚDisabledÚPrecompiledHeaderÚNotUsingr]   ÚPrecompiledHeaderOutputFileÚPreprocessKeepCommentsr_   ÚPreprocessOutputPathrx   ÚPreprocessSuppressLineNumbersÚPreprocessToFileÚProcessorNumberr¶   r`   ra   ÚMultiThreadedrb   rc   rd   re   rf   Ú1Byterg   ÚTrackerLogDirectoryÚa_folderÚTreatSpecificWarningsAsErrorsÚTreatWarningAsErrorrh   ri   rj   rk   ÚUseUnicodeForAssemblerListingro   ÚTurnOffAllWarnings)rp   rq   rr   rs   rv   rw   ry   rz   r{   Ú r|   r}   r~   ÚForceIJWImageÚCLRSupportLastErrorÚEnabledr   ÚMTAThreadingAttributer€   ÚCreateHotPatchableImageÚX86Imager�   r‚   rƒ   r„   ÚNotSetr…   r†   r‡   rˆ   r‰   ÚForceFileOutputrŠ   r‹   rŒ   rŽ   r�   r�   r‘   r“   rÛ   Úa_file_listÚImageHasSafeExceptionHandlersr•   r–   r—   r˜   ÚLinkDLLÚLinkErrorReportingÚSendErrorReportÚ
LinkStatusr›   ÚUseLinkTimeCodeGenerationrœ   r�   rž   rŸ   r    r¡   ÚMinimumRequiredVersionr¢   ÚMSDOSStubFileNameÚNoEntryPointr¤   r¥   r¦   ÚPreventDllBindingr§   r¨   r©   rª   r«   ÚSectionAlignmentr­   r®   ÚLinkVerboseREFÚSpecifySectionAttributesr¯   r°   r±   r²   ÚConsoleÚSupportNobindOfDelayLoadedDLLr³   r´   ÚSwapRunFromNETr¸   Ú
MachineX86r¹   ÚTreatLinkerWarningAsErrorsrº   r»   r¼   r½   Ú	AsInvokerr¾   rÀ   Ú0x236)r&   r(   r×   rT   ÚNullTerminateStringsr_   rÙ   r®   rg   r  rj   ÚApplicationConfigurationModeÚClientStubFilerÁ   rÂ   ÚSignedÚDllDataFileNamerÄ   ÚEnableCustomrÅ   rÆ   rÇ   rÈ   rÉ   ÚGenerateClientFilesÚStubÚGenerateServerFilesÚNonerÊ   rË   rÌ   rÍ   ÚLocaleIDrÎ   rÐ   rÑ   rÒ   ÚServerStubFileÚSuppressCompilerWarningsrÓ   ÚItaniumÚTypeLibFormatÚ	NewFormatrÔ   r9   )rj   ÚValidateAllParametersrn   ro   ÚDisplayLibraryÚPromptImmediatelyrÚ   ÚNameÚRemoveObjectsÚMachineX86i)r¸   r  ÚTreatLibWarningAsErrorsrm   ÚVerboserÜ   rÝ   rÞ   ÚEnableDPIAwarenessÚfalrà   rç   ÚGenerateCategoryTagsrá   ÚManifestFromManagedAssemblyÚnotgood3rã   ÚOutputResourceManifestsrä   rå   ÚSuppressDependencyElement)r»   ræ   rè   rê   ©rš   r¿   rÙ   ©ÚEmbedManifestr�   r”   r™   )	r    ÚLinkÚResourceCompileÚMidlÚLibÚManifestÚProjectReferenceÚManifestResourceCompiler  )z5Warning: unrecognized setting ClCompile/Enableprefastz-Warning: unrecognized setting ClCompile/ZZXYZz/Warning: unrecognized setting Manifest/notgood3zFWarning: for Manifest/GenerateCatalogFiles, expected bool; got 'truel'zIWarning: for Lib/TargetMachine, unrecognized enumerated value MachineX86izBWarning: for Manifest/EnableDPIAwareness, expected bool; got 'fal'N)r"   ÚValidateMSBuildSettingsr   r   r   s    r
   Ú$testValidateMSBuildSettings_settingsz:TestSequenceFunctions.testValidateMSBuildSettings_settings  s·  € ä×(Ñ(ðGØ*Ð,=ðGà )¨YÐ!7ðGð )Ð*;ðGð '¨ð	Gð
 ˜{ðGð !Ð":ðGð   ðGð $ ]ðGð " 6ðGð ˜VðGð   ðGð ˜ðGð  ðGð & vðGð %Ð&7ðGð  (¨ð!Gð" &Ð'8ñ#Gð$ +Ð,Eð%Gð& +¨Fð'Gð( ˜Vð)Gð* ˜Wð+Gð, ˜hð-Gð.   ð/Gð0 % fð1Gð2  	ð3Gð4 & vð5Gð6 ! )ð7Gð8 -¨fð9Gð: ! -ð;Gð<  ð=Gð> # Gð?Gð@ ,¨VðAGðB (¨ðCGðD &Ð';òEGðF ! 'ðGGðH ˜fðIGðJ (¨ðKGðL ˜mðMGðN ! &ðOGðP   ðQGðR ˜VðSGðT ˜JðUGðV   ðWGðX $ ]ðYGðZ *¨=ð[Gð\ % fð]Gð^ &Ð'8ð_Gð` # KðaGðb ,¨WðcGðd  ðeGðf ˜tògGðh & }ðiGðj ˜oðkGðl ˜vðmGðn ˜FðoGðp  ðqGðr ˜VðsGðt $ WðuGðv $ VðwGðx " :ðyGðz ,Ð->ð{Gð| " 6ð}Gð~ (¨ðGð@ 1°&ðAGðB .Ð/@ðCGðD ˜FðEGðF ,¨VðGGðH Ð0ñIGðJ )/Ø(5ØòOGðPU%Ø% }ðU%à+Ð->ðU%ð .¨}ðU%ð ! +ð	U%ð
 (¨ðU%ð ˜vðU%ð ˜bðU%ð $ ]ðU%ð ˜KðU%ð ˜fðU%ð ˜_ðU%ð # IðU%ð "Ð#:ðU%ð % fðU%ð '¨
ðU%ð  '¨ð!U%ð" ˜mñ#U%ð$ ˜&ð%U%ð& �xð'U%ð( (¨ð)U%ð* # Gð+U%ð, ˜&ð-U%ð.   ð/U%ð0   ð1U%ð2  	ð3U%ð4 % mð5U%ð6 ˜mð7U%ð8 (¨ð9U%ð:  ð;U%ð< ˜{ð=U%ð>  ð?U%ð@ )¨&ðAU%ðB ! &ðCU%ðD .¨}òEU%ðF -¨fðGU%ðH ˜mðIU%ðJ ˜]ðKU%ðL ˜ðMU%ðN ! 'ðOU%ðP ˜ðQU%ðR "Ð#4ðSU%ðT ˜6ðUU%ðV &Ð'BðWU%ðX ˜]ðYU%ðZ ˜6ð[U%ð\ ˜Mð]U%ð^ % mð_U%ð` ˜kðaU%ðb  ðcU%ðd & {ðeU%ðf $ ]ògU%ðh ! -ðiU%ðj ˜VðkU%ðl " 7ðmU%ðn ˜=ðoU%ðp " 6ðqU%ðr ! &ðsU%ðt ˜ðuU%ðv % mðwU%ðx # MðyU%ðz % gð{U%ð| ˜vð}U%ð~   ðU%ð@ ˜FðAU%ðB Ð-ðCU%ðD (¨ðEU%ðF  ðGU%ðH   òIU%ðJ # MðKU%ðL ˜)ðMU%ðN -¨fðOU%ðP -¨fðQU%ðR % fðSU%ðT ˜fðUU%ðV ˜vðWU%ðX ˜lðYU%ðZ # Gð[U%ð\ # Jð]U%ð^ *¨6ð_U%ð` )¨&ðaU%ðb  ðcU%ðd % dðeU%ðf ! +ðgU%ðh ˜FðiU%ðj ˜ñkU%ðn .?Ø"-ØØ*0Ø%+Ø(9Ø'2Ø#Ø&,Ø$.Ø0AñCð&"Ø+Ð->ð&"à  +ð&"ð ,¨Vð&"ð ˜}ð	&"ð
 " ;ð&"ð  ð&"ð  ð&"ð ! .ð&"ð % fð&"ð   ð&"ð # Fð&"ð % fð&"ð " 6ð&"ð # Fð&"ð # Fð&"ð  '¨ð!&"ð" # Fñ#&"ð$ ˜}ð%&"ð& )¨&ð'&"ð( +¨Mð)&"ð* ˜ð+&"ð, " 6ð-&"ð.  ð/&"ð0 'Ð(9ð1&"ð2 ˜mð3&"ð4 '¨ð5&"ð6 ˜}ð7&"ð8 % hð9&"ð: (¨ð;&"ð< % fð=&"ð> ! )ð?&"ð@ # JðA&"ðB ˜kðC&"ðD  ñE&"ðF 1BØ&,Ø"Ø òM&"ðN Ø% }ð à+Ð->ð ð ! +ð ð ˜{ð	 ð
 Ð2ð ð $Ð%6ð ð % kð ð )¨&ð ð .¨}ð ð & vð ð & {ð ð $ ]ð ð �]ð ð ˜=ð ð ˜mð ð  ˜)ð! ð" % fð# ð$ ,Ø$.Ø(.Ø(.Øò- ð.&Ø&¨ð&à  +ð&ð   ð&ð ! -ð	&ð
 " 5ð&ð $ Wð&ð $ Vð&ð & {ð&ð +¨Mð&ð ˜ð&ð " =ð&ð '¨ð&ð # Mð&ð   ð&ð )¨&ð&ð  % fð!&ð" # Jð#&ð$ !.Ø!'Ø+8Ø$ò+&ð. )/Ø+1ñ3ð & }ð%6ð %Ø!'Ø$*Ø 'ñ	)òGG	*ðP 	�‰ôSIðT 	×Ñó Nö Or   c                 ó’   — i }i }t        j                  || j                  «      }| j                  ||«       | j	                  g «       y)zTests an empty conversion.N©r"   ÚConvertToMSBuildSettingsr   r   r   ©r	   Úmsvs_settingsÚexpected_msbuild_settingsÚactual_msbuild_settingss       r
   Ú"testConvertToMSBuildSettings_emptyz8TestSequenceFunctions.testConvertToMSBuildSettings_empty4  sJ   € à€MØ "ÐÜ*×CÑCØØ�‰óÐð 	×ÑÐ.Ð0GÔHØ×Ñ˜2Õr   c                 ó¾   — ddddœddddœdœ}ddd	dœd
dddœdœ}t        j                  || j                  «      }| j                  ||«       | j	                  g «       y)zTests a minimal conversion.Údir1z/foor/   )r&   r(   r0   r9   r;   )r›   rH   r�   )r   r   ÚDefaultr!  rB  r6   )r›   r  r�   )r    rR  Nr\  r^  s       r
   Ú$testConvertToMSBuildSettings_minimalz:TestSequenceFunctions.testConvertToMSBuildSettings_minimal>  s‘   € ð -3Ø!'Ø"%ñð '*Ø!Ø'*ññ
€Mð -3Ø!'Ø"+ñð 'BØ"5Ø'-ññ!
Ðô +×CÑCØØ�‰óÐð 	×ÑÐ.Ð0GÔHØ×Ñ˜2Õr   c                 óÌ   — dddddddœdd	dd
dœddidœ}dddœi ddidœ}t        j                  || j                  «      }| j                  ||«       | j	                  g d¢«       y)z)Tests conversion that generates warnings.r9   r;   Ú12Ú21Ú13Ú14)r&   r(   r0   r2   rl   rR   Ú10Ú31Ú6)r„   r›   rH   r‰   r×   rÖ   )r   r   r   )r&   r(   Ú0x03eb)r    rR  rS  )zwWarning: while converting VCCLCompilerTool/BasicRuntimeChecks to MSBuild, index value (12) not in expected range [0, 4)zvWarning: while converting VCCLCompilerTool/BrowseInformation to MSBuild, index value (21) not in expected range [0, 3)zyWarning: while converting VCCLCompilerTool/UsePrecompiledHeader to MSBuild, index value (13) not in expected range [0, 3)zvWarning: while converting VCCLCompilerTool/GeneratePreprocessedFile to MSBuild, value must be one of [0, 1, 2]; got 14zgWarning: while converting VCLinkerTool/Driver to MSBuild, index value (10) not in expected range [0, 4)zwWarning: while converting VCLinkerTool/LinkTimeCodeGeneration to MSBuild, index value (31) not in expected range [0, 5)zoWarning: while converting VCLinkerTool/ErrorReporting to MSBuild, index value (21) not in expected range [0, 3)zpWarning: while converting VCLinkerTool/FixedBaseAddress to MSBuild, index value (6) not in expected range [0, 3)Nr\  r^  s       r
   Ú%testConvertToMSBuildSettings_warningsz;TestSequenceFunctions.testConvertToMSBuildSettings_warnings^  s«   € ð -0Ø!$à"&Ø!%Ø$(Ø(,ñ.ð Ø&*Ø"Ø #ñ%ð �vð#ñ €Mð( -0Ø!$ñ&ð ð �xð!ñ!"Ðô +×CÑCØØ�‰óÐð 	×ÑÐ.Ð0GÔHØ×Ñò 
õ r   c                 óÎ  — i dd“dd“dd“dd“dd	“d
d“dd“dd“dd“dd	“dd“dd“dd“dd“dd“dd“dd	“i dd“dd“dd“dd“dd“d d“d!d“d"d	“d#d“d$d“d%d“d&d'“d(d'“d)d“d*d“d+d“d,d“¥i d-d“d.d“d/d“d0d“d1d“d2d“d3d4“d5d“d6d“d7d“d8d“d9d	“d:d“d;d“d<d“d=d“d>d“¥dddddddddddd?œ¥i d@d'“dAd“dBd“dCd'“dd“dDd'“dEd“dFd	“dGd'“dHd“dId“dJd“dKd“dLd	“dMd'“dNd“dOd“i dPd'“dQd	“dRd“dSd“dd	“dTd“dUd'“dVd“dWd“dXd“dYd“dZd“d[d“d\d“d]d'“d^d“d_d“¥i d`d“dad“dbd“dcd“ddd“ded“dfd“dgd“dhd“did“djd“dkd“dld“dmd“dnd“dod	“dpd“¥i dqd“drd“dsd“dtd“dud“dvd“dwd“dxd“dyd	“dzd“d{d“d|d“d}d“d~d“dd“d€d“d�d“¥d4dddd‚dddƒddd„œ
¥ddd…ddddddd†œ	i dd“dd“d‡d“dˆd	“d‰d“dŠd“d‹d“dŒd“d�d“dŽd“d�d“d�d“d‘d“d’d“d+d“d“d“d”d“ddddd4dddddddd•œ¥d'ddddddd'dddddd–œi d—d'“dd“d˜d“d™d“dšd“d›d“dœd“d�d“dždŸ“d d“d¡d“d¢d“dd“d£d“d¤d“d¥d“d¦d“ddd§œ¥d¨œ}i dd“dd©“dd“dd“ddª“d
d«“dd“dd“dd“dd¬“dd­“dd®“dd“dd“dd¯“dd“dd“i dd°“d d±“d!d“d"d²“d#d“d$d³“d%d“d&d'“d(d'“d´d“d*d“d+d“d,dµ“d¶d“d.d“d·d“d0d“¥i d1d“d¸d“d3d¹“dºd»“d5d“d¼d“d½d“d7d“d¾dƒ“d¿d“d8d“d9dÀ“d:d“d;d“d<d“d=d“d>dÁ“¥dddddddÂdddÃœ	¥i d@d'“dAd“dCd'“dd“dDd'“dEd“dFdÄ“dGd'“dHd“dIdÅ“dJdÆ“dKd“dLdÄ“dMd'“dNd“dOdO“dPd'“i dQdÄ“dRd“dSd“dTdƒ“dUd'“dVd“dWd“dYd“dZd“d[d“d\d“d^d“dÇd'“d`d“dad“dbd“dcd“¥i dÈdÉ“dfdÊ“dgd“dhd“did“djd“dkd“dld“dmd“dËd“dodÄ“dpd“dqd“drd“dsd“dtd“dudƒ“¥i dvd“dxd“dyd¯“dzd“d{d“d|d“d}dÌ“d~d“dd“d€d“dÍd“dÎdÏ“dÐd“dÑd“d£d“dÒd‚“dÓdÔ“¥dddÕœ¥dddÖddddddd†œ	i dd“dd“d‡d“dˆd×“dØd“dŠdÙ“d‹d“dŒd“d�d“dŽd“d�d“d�d“d‘d“d’d“d+d“d“d“d”d“dddddddÚddddddÛœ¥d'dddddd'dddddÜœd'ddddddddddddddÝœdÞdŸiddƒdßœddddƒdàœdáœ	}t        j                  || j                  «      }| j                  ||«       | j	                  g «       yâ)ãz-Tests conversion of all the MSBuild settings.r&   zfolder1;folder2;folder3r(   Úa_stringr+   r,   r-   r.   r/   r0   r9   r2   r;   r4   r5   r6   r7   r8   r:   Ú4r<   r=   r>   r?   zd1;d2;d3rA   rB   rC   rD   rE   rH   rI   rJ   rK   rL   rM   rN   rO   zfile1;file2;file3rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   Ú3r]   r^   r_   r`   ra   rb   rc   rd   re   rf   ©rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rs   rv   Ú%AdditionalLibraryDirectories_excludedrw   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   rg   r´   rµ   r¶   rï   r·   rÖ   )	r&   r(   r×   rT   r_   rÙ   r®   rg   rj   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   )rÐ   r_   rÑ   rÒ   rf   rg   rÓ   rÔ   rj   rÕ   rn   ro   )rs   rv   rv  r(   rÚ   rŠ   r‘   rÛ   rš   r¢   r¥   rg   rm   rÜ   rÝ   rÞ   rß   rQ  rà   rá   râ   Úmy_namerã   rä   rå   r»   ræ   rè   ré   ©rm   rê   )r   r   r   r   r   r   za_string /Jrí   rî   rñ   rò   ÚEditAndContinuer  r÷   ÚAsyncrù   ÚStrictrû   ÚAnySuitablerý   rÿ   r   ÚFullr  ÚCreater  r  r  r  r
  r  ÚLevel2©	rg   r  rh   ri   rj   rk   ro   rp   rq   r  r  ÚSTAThreadingAttributerÛ   r  ÚNoErrorReportÚPGInstrumentr$  ÚWindowsr+  r¸   Ú
MachineARMr¹   rº   r¼   r½   ÚHighestAvailable©r¾   rÀ   ro  ÚUnsignedr4  ÚAllÚWin32)rÐ   r_   rÑ   rÒ   rf   rg   rÓ   rÔ   rj   r@  rn   ro   )rs   rv   r(   rÚ   rŠ   r‘   rÛ   r¢   r¥   rg   rm   ©rÜ   r(   rÝ   rÞ   rà   rá   rã   rä   rå   rg   r»   ræ   rè   rê   rÙ   rO  rP  )	r    rR  rS  rT  rU  rV  rX  rW  r  Nr\  r^  s       r
   Ú+testConvertToMSBuildSettings_full_syntheticzATestSequenceFunctions.testConvertToMSBuildSettings_full_synthetic’  s_  € ð>7Ø*Ð,Eð>7à ð>7ð )Ð*Cð>7ð '¨ð	>7ð
 ˜sð>7ð ! #ð>7ð   ð>7ð $ ]ð>7ð " 6ð>7ð   ð>7ð ˜ð>7ð % cð>7ð $ Vð>7ð -¨fð>7ð (¨ð>7ð  & zð!>7ð" +¨Cñ#>7ð$ +¨Fð%>7ð& )¨&ð'>7ð( '¨ð)>7ð* ˜Vð+>7ð, ˜cð->7ð.   ð/>7ð0 % fð1>7ð2  ð3>7ð4 & vð5>7ð6 ! #ð7>7ð8 -¨fð9>7ð: !Ð"5ð;>7ð< Ð 3ð=>7ð> '¨ð?>7ð@ ,¨VðA>7ðB (¨ðC>7ðD & sòE>7ðF ˜FðG>7ðH ˜fðI>7ðJ ˜-ðK>7ðL ! &ðM>7ðN   ðO>7ðP �fðQ>7ðR ˜CðS>7ðT $ ]ðU>7ðV '¨ðW>7ðX & zðY>7ðZ & }ð[>7ð\ ˜cð]>7ð^ ˜vð_>7ð` ˜Fða>7ðb  ðc>7ðd ˜Vðe>7ðf $ Sñg>7ðh &,Ø)/Ø28Ø/9Ø"Ø$'Ø'-Ø!ØØ(.Ø(5ò}>7ð~N#Ø$Ð&9ðN#à*Ð,EðN#ð 4Ð5NðN#ð -Ð.Að	N#ð
   ðN#ð 'Ð(;ðN#ð ˜fðN#ð ˜SðN#ð #Ð$7ðN#ð ˜:ðN#ð ˜CðN#ð ! #ðN#ð $ VðN#ð & sðN#ð Ð0ðN#ð  ˜ð!N#ð" �cñ#N#ð$ 'Ð(;ð%N#ð& " 3ð'N#ð( ˜ð)N#ð*  
ð+N#ð, ˜cð-N#ð.  ð/N#ð0 $Ð%8ð1N#ð2 ˜]ð3N#ð4 '¨ð5N#ð6  ð7N#ð8 ˜vð9N#ð: ˜jð;N#ð< ˜zð=N#ð> (¨ð?N#ð@ (Ð)<ðAN#ðB   ðCN#ðD " 6òEN#ðF ˜]ðGN#ðH ˜MðIN#ðJ �}ðKN#ðL   ðMN#ðN ˜sðON#ðP & vðQN#ðR % cðSN#ðT ˜MðUN#ðV ˜&ðWN#ðX ˜=ðYN#ðZ $ ]ð[N#ð\ ˜Zð]N#ð^ ˜}ð_N#ð` # MðaN#ðb # CðcN#ðd ! #ðeN#ðf ˜-ògN#ðh ! &ðiN#ðj �vðkN#ðl $ ]ðmN#ðn " =ðoN#ðp $ SðqN#ðr ˜fðsN#ðt ˜vðuN#ðv ˜6ðwN#ðx ˜CðyN#ðz ˜zð{N#ð|  
ð}N#ð~ " =ðN#ð@ ˜ðAN#ðB ,¨VðCN#ðD $ VðEN#ðF ˜VðGN#ðH ˜fñIN#ðJ !Ø#&Ø)/Ø,Ø%)Ø!$Ø!Ø*1Ø'-Ø!ò]N#ð` -FØ!+ØØ)/Ø'1Ø&0Ø"Ø%+Ø/9ñ	#;ð!Ø*Ð,Eð!à ð!ð ! *ð!ð ˜sð	!ð
 ˜}ð!ð   ð!ð $ Vð!ð  ð!ð " 6ð!ð $ Vð!ð ! &ð!ð & vð!ð " 6ð!ð ˜mð!ð (¨ð!ð  *¨=ð!!ð" ! &ð#!ð$  *Ø'1Ø*Ø'4Ø%(Ø%+Ø!$Ø,Ø/9Ø"(Ø!Øò;!ð> ':Ø,EØ5NØ!+Ø$.Ø%/Ø)/Ø.AØ'-Ø$1Ø'Ø%+Ø'-ñ/ð%Ø%Ð':ð%à ð%ð  
ð%ð   ð	%ð
 (¨ð%ð ˜Vð%ð # Fð%ð % jð%ð # Ið%ð ! -ð%ð " =ð%ð  ð%ð $ Vð%ð ˜}ð%ð  ð%ð  )¨-ð!%ð" ! &ð#%ð$ (.Ø#ò'%ñKX&€Mðt<7Ø*Ð,Eð<7à ð<7ð )Ð*Cð<7ð '¨ð	<7ð
 ˜{ð<7ð !Ð":ð<7ð   ð<7ð $ ]ð<7ð " 6ð<7ð   ð<7ð ˜ð<7ð %Ð&7ð<7ð (¨ð<7ð & zð<7ð +¨Hð<7ð  +¨Fð!<7ð" ˜Vñ#<7ð$ ˜hð%<7ð&   ð'<7ð( % fð)<7ð*  	ð+<7ð, & vð-<7ð. ! (ð/<7ð0 -¨fð1<7ð2 !Ð"5ð3<7ð4 Ð 3ð5<7ð6 # Fð7<7ð8 ,¨Vð9<7ð: (¨ð;<7ð< & }ð=<7ð> ! &ð?<7ð@ ˜fðA<7ðB ˜mðC<7ðD ! &òE<7ðF   ðG<7ðH ˜VðI<7ðJ ˜FðK<7ðL   ðM<7ðN $ ]ðO<7ðP *¨=ðQ<7ðR % fðS<7ðT & zðU<7ðV ,¨WðW<7ðX  ðY<7ðZ & }ð[<7ð\ ˜oð]<7ð^ ˜vð_<7ð` ˜Fða<7ðb  ðc<7ðd ˜Vðe<7ðf $ Wñg<7ðh &,Ø#)Ø)/Ø28Ø/9Ø"Ø$Ø(.Ø(5òy<7ðzF#Ø$Ð&9ðF#à*Ð,EðF#ð -Ð.AðF#ð   ð	F#ð
 'Ð(;ðF#ð ˜fðF#ð ˜RðF#ð #Ð$7ðF#ð ˜:ðF#ð ˜OðF#ð !Ð"9ðF#ð $ VðF#ð & rðF#ð Ð0ðF#ð ˜ðF#ð  �hð!F#ð" 'Ð(;ñ#F#ð$ " 2ð%F#ð& ˜ð'F#ð(  
ð)F#ð*  ð+F#ð, $Ð%8ð-F#ð. ˜]ð/F#ð0 '¨ð1F#ð2 ˜vð3F#ð4 ˜jð5F#ð6 ˜zð7F#ð8 (¨ð9F#ð:   ð;F#ð< -Ð.Að=F#ð> ˜]ð?F#ð@ ˜MðAF#ðB �}ðCF#ðD   òEF#ðF ! /ðGF#ðH % nðIF#ðJ ˜MðKF#ðL ˜&ðMF#ðN ˜=ðOF#ðP $ ]ðQF#ðR ˜ZðSF#ðT ˜}ðUF#ðV # MðWF#ðX ˜FðYF#ðZ ! "ð[F#ð\ ˜-ð]F#ð^ ! &ð_F#ð` �vðaF#ðb $ ]ðcF#ðd " =ðeF#ðf $ WògF#ðh ˜fðiF#ðj ˜6ðkF#ðl ˜HðmF#ðn ˜zðoF#ðp  
ðqF#ðr " =ðsF#ðt ˜ðuF#ðv ,¨VðwF#ðx $ VðyF#ðz ˜Vð{F#ð| ˜fð}F#ð~ ˜\ðF#ð@ " 6ðAF#ðB (¨ðCF#ðD ˜}ðEF#ðF $ TðGF#ðH  Ð!3ñIF#ðJ "Ø!òMF#ðP -FØ!+ØØ)/Ø'1Ø&0Ø"Ø%+Ø/9ñ	;ð!Ø*Ð,Eð!à ð!ð ! *ð!ð ˜zð	!ð
 ˜}ð!ð   ð!ð $ Vð!ð  ð!ð " 6ð!ð $ Vð!ð ! &ð!ð & vð!ð " 6ð!ð ˜mð!ð (¨ð!ð  *¨=ð!!ð" ! &ð#!ð$  *Ø'1Ø*Ø'4Ø%(Ø%+Ø!(Ø,Ø/9Ø%+Ø!Øò;!ð> ':Ø,EØ!+Ø$.Ø%/Ø)/Ø.AØ$1Ø'Ø%+Ø'-ñ/ð (;Ø!+Ø *Ø!.Ø$*Ø&0Ø"/Ø#0Ø -Ø%+Ø,Ø &Ø*7Ø#ñ%ð  % ið$1ð (.Ø*1ñ3ð $Ø &Ø#)Ø&ñ	(ñ[Q!)Ðôd +×CÑCØØ�‰óÐð 	×ÑÐ.Ð0GÔHØ×Ñ˜2Õr   c                 ó–  — i dd“dd“dd“dd“d	d
“dd“dd
“dd“dd“dd
“dd
“dd“dd“dd“dd“dd“dd
“i dd“dd“dd“d d“d!d"“d#d"“d$d“d%d"“d&d“d'd
“d(d“d)d*“d+d,“d-d"“d.d“d/d“d0d
“¥i d1d“d2d“d3d4“d5d“d6d“d7d“d8d“d9d:“d;d<“d=d>“d?d@“dAd“dBd“dCd“dDd“dEd“dFd“¥ddddGddHdddddIdJœ¥i dKdL“dMdN“dOdP“ddQ“dRdS“dTd“dUd
“dVdW“dXdY“dZd“d[d
“d\d“d]dH“d^d_“d`d“dad"“dbdc“i ddd
“ded“dfdg“d!d"“dhd
“didj“dkdl“dmd“dnd“dod“dpdq“drds“dtd“dudv“dwd“dxd“dydz“¥i d{d|“d}d~“dd"“d€dH“d�d“d‚d
“dƒd„“d…d“d†dW“d‡dˆ“d‰dg“dŠd‹“dŒd�“dŽd"“d�d"“d�d‘“d’d“¥i d“d“d”d•“d–d—“d˜d
“d™d“dšd“d›d“dœd
“d�dž“dŸd “d¡dj“d¢d
“d£d“d¤d“d¥d“d¦d“d§d
“¥d
dd¨dsd"dddd©dªœ	¥d¨d«d¬dd­d®dd¯œi d°d±“dd²“d³d´“dµd¶“d·d¸“d¹d“dºd“d»d¼“d½d¾“d¿dÀ“dÁdÂ“dÃdÄ“d¤d“dÅdÆ“dÇd“dÈdÆ“dÉd“dddÊœ¥dËœ}i dd“ddÌ“dd“ddÍ“d	dÎ“ddÏ“dd“ddÐ“dd“ddÑ“ddÒ“ddÓ“dd“dd“ddÔ“dd“d d“i d!dÕ“d#dÖ“d$d“d%d×“d&d“d'dØ“d(d“d)d*“d+d,“dÙd“d.d“d/d“d0dÚ“dÛd“d2d“dÜdÝ“d5d“¥i d6d“dÞd“d8dß“dàdá“d9d<“dâdã“däd“d=d>“dåd“dæd“d?dç“dAdè“dBd“dCd“dDd“dEd“dFdé“¥dddddGddêddëdìœ	¥i dKdL“dMdN“dOdP“ddQ“dRdS“dTd“dUd“dVdW“dXdY“dZdí“d[dî“d\d“d]dï“d^d_“d`d“dadð“dbdc“i ddd“ded“dfdg“dhd“didj“dkdl“dmd“dod“dpdq“drds“dtd“dwd“dñdv“dydz“d{d|“d}d~“dd“¥i dòdó“d‚dô“dƒdõ“d…d“d†dW“d‡dˆ“d‰dg“dŠd‹“dŒd�“död“d�d“d�d÷“d’d“d“d“d”d•“d–d—“d˜d“¥i d™d“d›d“dœdø“d�dž“dŸd “d¡dj“d¢dù“d£d“d¤d“d¥d“dúd“d§dû“düd“dýd“dÅd¨“dþds“dÿ�d “¥dd©�dœ¥d¨d«�ddd­�ddd¯œd±d²d´d¶dd¼dÀdÂdÄddÆddÆd�dœdd�dœddddï�dœ�d�di�d	œ}t        j                  || j                  «      }| j                  ||«       | j	                  g «       �y
(  a$	  Tests the conversion of an actual project.

    A VS2008 project with most of the options defined was created through the
    VS2008 IDE.  It was then converted to VS2010.  The tool settings found in
    the .vcproj and .vcxproj files were converted to the two dictionaries
    msvs_settings and expected_msbuild_settings.

    Note that for many settings, the VS2010 converter adds macros like
    %(AdditionalIncludeDirectories) to make sure than inherited values are
    included.  Since the Gyp projects we generate do not use inheritance,
    we removed these macros.  They were:
        ClCompile:
            AdditionalIncludeDirectories:  ';%(AdditionalIncludeDirectories)'
            AdditionalOptions:  ' %(AdditionalOptions)'
            AdditionalUsingDirectories:  ';%(AdditionalUsingDirectories)'
            DisableSpecificWarnings: ';%(DisableSpecificWarnings)',
            ForcedIncludeFiles:  ';%(ForcedIncludeFiles)',
            ForcedUsingFiles:  ';%(ForcedUsingFiles)',
            PreprocessorDefinitions:  ';%(PreprocessorDefinitions)',
            UndefinePreprocessorDefinitions:
                ';%(UndefinePreprocessorDefinitions)',
        Link:
            AdditionalDependencies:  ';%(AdditionalDependencies)',
            AdditionalLibraryDirectories:  ';%(AdditionalLibraryDirectories)',
            AdditionalManifestDependencies:
                ';%(AdditionalManifestDependencies)',
            AdditionalOptions:  ' %(AdditionalOptions)',
            AddModuleNamesToAssembly:  ';%(AddModuleNamesToAssembly)',
            AssemblyLinkResource:  ';%(AssemblyLinkResource)',
            DelayLoadDLLs:  ';%(DelayLoadDLLs)',
            EmbedManagedResourceFile:  ';%(EmbedManagedResourceFile)',
            ForceSymbolReferences:  ';%(ForceSymbolReferences)',
            IgnoreSpecificDefaultLibraries:
                ';%(IgnoreSpecificDefaultLibraries)',
        ResourceCompile:
            AdditionalIncludeDirectories:  ';%(AdditionalIncludeDirectories)',
            AdditionalOptions:  ' %(AdditionalOptions)',
            PreprocessorDefinitions:  ';%(PreprocessorDefinitions)',
        Manifest:
            AdditionalManifestFiles:  ';%(AdditionalManifestFiles)',
            AdditionalOptions:  ' %(AdditionalOptions)',
            InputResourceManifests:  ';%(InputResourceManifests)',
    r&   rd  r(   z/morer+   Útestr,   z$(IntDir)\ar.   r9   r0   rt  r2   r4   z$(IntDir)\er5   rï   r7   r8   r:   rs  r<   r6   r=   r>   r?   ÚabcrA   rB   rC   rD   rE   rH   r;   rI   rJ   rK   rL   rM   rN   rO   ÚdefrQ   ÚgerR   rS   rT   rU   rV   rW   rX   z$(IntDir)\brY   rZ   r[   r\   r]   z$(IntDir)\$(TargetName).pcher^   z	StdAfx.hdr_   zWIN32;_DEBUG;_CONSOLEr`   z$(IntDir)\vc90b.pdbra   rb   rc   rd   re   rf   Úwerr/   z$(IntDir)\cru  rs   Úzxrv   Úasdrw   Ús2z/mor2ry   Úd1rz   r{   r|   Úd5r}   Ú23423r~   r   r€   r�   r‚   Úd4rƒ   r„   r…   Úd2r†   r‡   rˆ   Úf5r‰   rŠ   Úd3r‹   ÚfssdfsdrŒ   r�   rŽ   r�   rj  r�   rh  r‘   r’   z	flob;flokr“   r”   r•   Úf4r–   Úf7r—   Úf6r˜   r™   rš   r›   rœ   z2$(IntDir)\$(TargetFileName).2intermediate.manifestr�   rž   rŸ   Úf2r    r¡   Úf1r¢   Úsdsdr£   r¤   r¥   z$(OutDir)\$(ProjectName)2.exer¦   r§   r¨   z$(TargetDir)$(TargetName).pgddr©   zFlob.pdbrª   r«   r¬   r­   r®   r¯   Ú15r°   rk  r±   r²   r³   rg   r´   rµ   r¸   Úf3Ú333)	r¹   rº   r»   r¼   r½   r¾   r¿   rm   rÀ   z/more3Ú3084z_UNICODE;UNICODE2z$(IntDir)/$(InputName)3.res)r&   r(   r×   rT   r_   rÙ   r®   rÜ   ÚsfsdfsdÚ	afdsdafsdrÝ   ÚsddfdsadfsarÞ   Úfsdfdsrß   z$(IntDir)\mt.depdfdrQ  rà   rá   Ú	asfsfdafsrâ   z2$(IntDir)\$(TargetFileName).embed.manifest.resfdsfrã   z$(TargetPath).manifestdfsrä   Úsdfsfdrå   Úsdffsdr»   Úsfsdræ   rè   ré   rx  )r   r   r   r   z/more /Jz
$(IntDir)aÚAssemblyCodeÚEnableFastChecksz
$(IntDir)eÚFastCallrò   ry  rö   ÚQueuerz  ÚSizer{  rû   rü   rý   rÿ   z
$(IntDir)br   r}  r  r  r  z$(IntDir)$(TargetName).pcher  r  r  z$(IntDir)vc90b.pdbÚMultiThreadedDebugDLLÚ4BytesÚLevel3z
$(IntDir)cr€  ÚForceSafeILImager  r  ÚUpOnlyrÛ   r  ÚQueueForNextLoginr!  z1$(IntDir)$(TargetFileName).2intermediate.manifestr$  z$(OutDir)$(ProjectName)2.exeÚLinkVerboser)  r+  r,  r¹   rº   r¼   r½   ÚRequireAdministratorr‡  Ú0x0c0cz$(IntDir)%(Filename)3.resr‹  rO  rP  rÙ   z1$(IntDir)$(TargetFileName).embed.manifest.resfdsf)r    rR  rS  rV  rW  r  rX  Nr\  r^  s       r
   Ú#testConvertToMSBuildSettings_actualz9TestSequenceFunctions.testConvertToMSBuildSettings_actualE  s  € ðZ>8Ø*¨Fð>8à ð>8ð )¨&ð>8ð '¨ð	>8ð
 ˜sð>8ð ! #ð>8ð   ð>8ð $ ^ð>8ð " 7ð>8ð   ð>8ð ˜ð>8ð % cð>8ð $ Vð>8ð -¨fð>8ð (¨ð>8ð  & uð!>8ð" +¨Cñ#>8ð$ +¨Fð%>8ð& )¨&ð'>8ð( '¨ð)>8ð* ˜Vð+>8ð, ˜cð->8ð.   ð/>8ð0 % fð1>8ð2  ð3>8ð4 & vð5>8ð6 ! #ð7>8ð8 -¨gð9>8ð: ! %ð;>8ð<  ð=>8ð> '¨ð?>8ð@ ,¨VðA>8ðB (¨ðC>8ðD & sòE>8ðF ˜FðG>8ðH ˜fðI>8ðJ ˜.ðK>8ðL ! &ðM>8ðN   ðO>8ðP �fðQ>8ðR ˜CðS>8ðT $Ð%DðU>8ðV '¨ðW>8ðX &Ð'>ðY>8ðZ &Ð'=ð[>8ð\ ˜cð]>8ð^ ˜wð_>8ð` ˜Fða>8ðb  ðc>8ðd ˜Vðe>8ðf $ Sñg>8ðh &-Ø)0Ø28Ø/4Ø"Ø$'Ø'.Ø!ØØ(.Ø(6ò}>8ð~NØ$ dðNà*¨EðNð -¨dðNð   ð	Nð
 '¨ðNð ˜gðNð ˜SðNð # DðNð ˜7ðNð ˜CðNð ! #ðNð $ VðNð & sðNð ˜TðNð ˜ðNð  �cð!Nð" '¨ñ#Nð$ " 3ð%Nð& ˜ð'Nð(  ð)Nð* ˜cð+Nð,  ð-Nð. $ Tð/Nð0 ˜Yð1Nð2 '¨ð3Nð4  ð5Nð6 ˜vð7Nð8 ˜dð9Nð: ˜tð;Nð< (¨ð=Nð> (¨ð?Nð@   ðANðB " 6ðCNðD ˜TòENðF ˜DðGNðH �tðINðJ   ðKNðL ˜sðMNðN & wðONðP % cðQNðR ØAðUNðV ˜&ðWNðX ˜4ðYNðZ $ Tð[Nð\ ˜Tð]Nð^ ˜tð_Nð` # FðaNðb # CðcNðd ! #ðeNðf Ð:ðgNðh ! &òiNðj �vðkNðl $Ð%EðmNðn " :ðoNðp $ SðqNðr ˜fðsNðt ˜vðuNðv ˜7ðwNðx ˜CðyNðz ˜tð{Nð|  ð}Nð~ " 4ðNð@ ˜ðANðB ,¨VðCNðD $ WðENðF ˜VðGNðH ˜fðINðJ ˜SñKNðL $'Ø)/Ø#Ø%)Ø!$Ø!Ø*0Ø'.Øò]Nð` -1Ø!)ØØ)/Ø':Ø&CØ"ñ#$ð%Ø% yð%à ð%ð  ð%ð   ð	%ð
 (Ð)?ð%ð ˜Wð%ð # Fð%ð % kð%ð #ØAð%ð !Ð"=ð%ð " 8ð%ð  ð%ð $ Wð%ð ˜vð%ð   ð!%ð" )¨&ð#%ð$ ! &ð%%ð& (/Ø#ò)%ñok&€MðZ<6Ø*¨Fð<6à ð<6ð )¨&ð<6ð '¨ð	<6ð
 ˜~ð<6ð !Ð"4ð<6ð   ð<6ð $ \ð<6ð " 7ð<6ð   ð<6ð ˜ð<6ð %Ð&7ð<6ð (¨ð<6ð & uð<6ð +Ð,Eð<6ð  +¨Fð!<6ð" ˜Vñ#<6ð$ ˜gð%<6ð&   ð'<6ð( % fð)<6ð*  ð+<6ð, & vð-<6ð. ! (ð/<6ð0 -¨gð1<6ð2 ! %ð3<6ð4  ð5<6ð6 # Fð7<6ð8 ,¨Vð9<6ð: (¨ð;<6ð< &Ð';ð=<6ð> ! &ð?<6ð@ ˜fðA<6ðB ˜lðC<6ðD ! &òE<6ðF   ðG<6ðH ˜VðI<6ðJ ˜FðK<6ðL   ðM<6ðN $ [ðO<6ðP *Ð+HðQ<6ðR % fðS<6ðT &Ð'>ðU<6ðV ,¨VðW<6ðX  ðY<6ðZ &Ð';ð[<6ð\ Ð5ð]<6ð^ ˜wð_<6ð` ˜Fða<6ðb  ðc<6ðd ˜Vðe<6ðf $ Xñg<6ðh &-Ø#)Ø)0Ø28Ø/4Ø"Ø$Ø(.Ø(4òy<6ðzFØ$ dðFà*¨EðFð -¨dðFð   ð	Fð
 '¨ðFð ˜gðFð ˜VðFð # DðFð ˜7ðFð Ð.ðFð !Ð"9ðFð $ VðFð & rðFð ˜TðFð ˜ðFð  �hð!Fð" '¨ñ#Fð$ " 7ð%Fð& ˜ð'Fð(  ð)Fð*  ð+Fð, $ Tð-Fð. ˜Yð/Fð0 '¨ð1Fð2 ˜vð3Fð4 ˜dð5Fð6 ˜tð7Fð8 (¨ð9Fð:   ð;Fð< -¨kð=Fð> ˜Tð?Fð@ ˜DðAFðB �tðCFðD   òEFðF !Ð"5ðGFðH %Ð&AðIFðJ ÐOðKFðL ˜&ðMFðN ˜4ðOFðP $ TðQFðR ˜TðSFðT ˜tðUFðV # FðWFðX ˜FðYFðZ ! &ð[Fð\ Ð8ð]Fð^ ! &ð_Fð` �vðaFðb $Ð%EðcFðd " :ðeFðf $ WògFðh ˜fðiFðj ˜7ðkFðl ˜MðmFðn ˜tðoFðp  ðqFðr " 4ðsFðt ˜ðuFðv ,¨VðwFðx $ WðyFðz ˜Vð{Fð| ˜fð}Fð~ ˜\ðFð@ " 7ðAFðB (¨ðCFðD ˜tðEFðF $ TðGFðH  Ñ!7ñIFðJ "ØóMFðP -1Ø!)ÙØ)/Ø':Ù&AØ"ñ$ð (1Ø!,Ø -Ø!)Ø$*Ø&1Ø"=Ø#+Ø (Ø%,Ø%Ø &Ø*0Ø#ò%ð  (/Ø*0ò2ð %Ø 'Ø#)Ø!ò	ñ %Ù?ð$AòKh!
ÐôR +×CÑCØØ�‰óÐð 	×ÑÐ.Ð0GÔHØ×Ñ˜2Ör   N)Ú__name__Ú
__module__Ú__qualname__r   r   r$   rë   rZ  rb  rf  rp  rŒ  r¾  © r   r
   r   r      s>   „ òò7ò1ò oòbTOòlòò@2òhqófEr   r   Ú__main__)Ú__doc__r   ÚImportErrorÚioÚunittestÚgyp.MSVSSettingsr"   ÚTestCaser   r¿  ÚmainrÂ  r   r
   ú<module>rË     s^   ðñ /ðÝó Ý 'ôy˜H×-Ñ-ô yðx- ˆzÒØ€(‡-�-…/ð øðE. ò ßðús   „A ÁAÁA