mirror of https://github.com/jkjoy/sunpeiwen.git
1548 lines
74 KiB
Python
1548 lines
74 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# Copyright (c) 2012 Google Inc. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Unit tests for the MSVSSettings.py file."""
|
|
|
|
import unittest
|
|
import gyp.MSVSSettings as MSVSSettings
|
|
|
|
from io import StringIO
|
|
|
|
|
|
class TestSequenceFunctions(unittest.TestCase):
|
|
def setUp(self):
|
|
self.stderr = StringIO()
|
|
|
|
def _ExpectedWarnings(self, expected):
|
|
"""Compares recorded lines to expected warnings."""
|
|
self.stderr.seek(0)
|
|
actual = self.stderr.read().split("\n")
|
|
actual = [line for line in actual if line]
|
|
self.assertEqual(sorted(expected), sorted(actual))
|
|
|
|
def testValidateMSVSSettings_tool_names(self):
|
|
"""Tests that only MSVS tool names are allowed."""
|
|
MSVSSettings.ValidateMSVSSettings(
|
|
{
|
|
"VCCLCompilerTool": {},
|
|
"VCLinkerTool": {},
|
|
"VCMIDLTool": {},
|
|
"foo": {},
|
|
"VCResourceCompilerTool": {},
|
|
"VCLibrarianTool": {},
|
|
"VCManifestTool": {},
|
|
"ClCompile": {},
|
|
},
|
|
self.stderr,
|
|
)
|
|
self._ExpectedWarnings(
|
|
["Warning: unrecognized tool foo", "Warning: unrecognized tool ClCompile"]
|
|
)
|
|
|
|
def testValidateMSVSSettings_settings(self):
|
|
"""Tests that for invalid MSVS settings."""
|
|
MSVSSettings.ValidateMSVSSettings(
|
|
{
|
|
"VCCLCompilerTool": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"AdditionalOptions": ["string1", "string2"],
|
|
"AdditionalUsingDirectories": "folder1;folder2",
|
|
"AssemblerListingLocation": "a_file_name",
|
|
"AssemblerOutput": "0",
|
|
"BasicRuntimeChecks": "5",
|
|
"BrowseInformation": "fdkslj",
|
|
"BrowseInformationFile": "a_file_name",
|
|
"BufferSecurityCheck": "true",
|
|
"CallingConvention": "-1",
|
|
"CompileAs": "1",
|
|
"DebugInformationFormat": "2",
|
|
"DefaultCharIsUnsigned": "true",
|
|
"Detect64BitPortabilityProblems": "true",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "string1;string2",
|
|
"EnableEnhancedInstructionSet": "1",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnableFunctionLevelLinking": "true",
|
|
"EnableIntrinsicFunctions": "true",
|
|
"EnablePREfast": "true",
|
|
"Enableprefast": "bogus",
|
|
"ErrorReporting": "1",
|
|
"ExceptionHandling": "1",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "1",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "1",
|
|
"ForceConformanceInForLoopScope": "true",
|
|
"ForcedIncludeFiles": "file1;file2",
|
|
"ForcedUsingFiles": "file1;file2",
|
|
"GeneratePreprocessedFile": "1",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "1",
|
|
"KeepComments": "true",
|
|
"MinimalRebuild": "true",
|
|
"ObjectFile": "a_file_name",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMP": "true",
|
|
"Optimization": "1",
|
|
"PrecompiledHeaderFile": "a_file_name",
|
|
"PrecompiledHeaderThrough": "a_file_name",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"ProgramDataBaseFileName": "a_file_name",
|
|
"RuntimeLibrary": "1",
|
|
"RuntimeTypeInfo": "true",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "1",
|
|
"SuppressStartupBanner": "true",
|
|
"TreatWChar_tAsBuiltInType": "true",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
"UseFullPaths": "true",
|
|
"UsePrecompiledHeader": "1",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "1",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "a_file_name",
|
|
"ZZXYZ": "bogus",
|
|
},
|
|
"VCLinkerTool": {
|
|
"AdditionalDependencies": "file1;file2",
|
|
"AdditionalDependencies_excluded": "file3",
|
|
"AdditionalLibraryDirectories": "folder1;folder2",
|
|
"AdditionalManifestDependencies": "file1;file2",
|
|
"AdditionalOptions": "a string1",
|
|
"AddModuleNamesToAssembly": "file1;file2",
|
|
"AllowIsolation": "true",
|
|
"AssemblyDebug": "2",
|
|
"AssemblyLinkResource": "file1;file2",
|
|
"BaseAddress": "a string1",
|
|
"CLRImageType": "2",
|
|
"CLRThreadAttribute": "2",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"DataExecutionPrevention": "2",
|
|
"DelayLoadDLLs": "file1;file2",
|
|
"DelaySign": "true",
|
|
"Driver": "2",
|
|
"EmbedManagedResourceFile": "file1;file2",
|
|
"EnableCOMDATFolding": "2",
|
|
"EnableUAC": "true",
|
|
"EntryPointSymbol": "a string1",
|
|
"ErrorReporting": "2",
|
|
"FixedBaseAddress": "2",
|
|
"ForceSymbolReferences": "file1;file2",
|
|
"FunctionOrder": "a_file_name",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateManifest": "true",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "a string1",
|
|
"HeapReserveSize": "a string1",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreDefaultLibraryNames": "file1;file2",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreImportLibrary": "true",
|
|
"ImportLibrary": "a_file_name",
|
|
"KeyContainer": "a_file_name",
|
|
"KeyFile": "a_file_name",
|
|
"LargeAddressAware": "2",
|
|
"LinkIncremental": "2",
|
|
"LinkLibraryDependencies": "true",
|
|
"LinkTimeCodeGeneration": "2",
|
|
"ManifestFile": "a_file_name",
|
|
"MapExports": "true",
|
|
"MapFileName": "a_file_name",
|
|
"MergedIDLBaseFileName": "a_file_name",
|
|
"MergeSections": "a string1",
|
|
"MidlCommandFile": "a_file_name",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"OptimizeForWindows98": "1",
|
|
"OptimizeReferences": "2",
|
|
"OutputFile": "a_file_name",
|
|
"PerUserRedirection": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "a_file_name",
|
|
"ProgramDatabaseFile": "a_file_name",
|
|
"RandomizedBaseAddress": "2",
|
|
"RegisterOutput": "true",
|
|
"ResourceOnlyDLL": "true",
|
|
"SetChecksum": "true",
|
|
"ShowProgress": "2",
|
|
"StackCommitSize": "a string1",
|
|
"StackReserveSize": "a string1",
|
|
"StripPrivateSymbols": "a_file_name",
|
|
"SubSystem": "2",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNet": "true",
|
|
"TargetMachine": "2",
|
|
"TerminalServerAware": "2",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"TypeLibraryResourceID": "33",
|
|
"UACExecutionLevel": "2",
|
|
"UACUIAccess": "true",
|
|
"UseLibraryDependencyInputs": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"Version": "a string1",
|
|
},
|
|
"VCMIDLTool": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"AdditionalOptions": "a string1",
|
|
"CPreprocessOptions": "a string1",
|
|
"DefaultCharType": "1",
|
|
"DLLDataFileName": "a_file_name",
|
|
"EnableErrorChecks": "1",
|
|
"ErrorCheckAllocations": "true",
|
|
"ErrorCheckBounds": "true",
|
|
"ErrorCheckEnumRange": "true",
|
|
"ErrorCheckRefPointers": "true",
|
|
"ErrorCheckStubData": "true",
|
|
"GenerateStublessProxies": "true",
|
|
"GenerateTypeLibrary": "true",
|
|
"HeaderFileName": "a_file_name",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InterfaceIdentifierFileName": "a_file_name",
|
|
"MkTypLibCompatible": "true",
|
|
"notgood": "bogus",
|
|
"OutputDirectory": "a string1",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"ProxyFileName": "a_file_name",
|
|
"RedirectOutputAndErrors": "a_file_name",
|
|
"StructMemberAlignment": "1",
|
|
"SuppressStartupBanner": "true",
|
|
"TargetEnvironment": "1",
|
|
"TypeLibraryName": "a_file_name",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
"ValidateParameters": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "1",
|
|
},
|
|
"VCResourceCompilerTool": {
|
|
"AdditionalOptions": "a string1",
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"Culture": "1003",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"notgood2": "bogus",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"ResourceOutputFileName": "a string1",
|
|
"ShowProgress": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
},
|
|
"VCLibrarianTool": {
|
|
"AdditionalDependencies": "file1;file2",
|
|
"AdditionalLibraryDirectories": "folder1;folder2",
|
|
"AdditionalOptions": "a string1",
|
|
"ExportNamedFunctions": "string1;string2",
|
|
"ForceSymbolReferences": "a string1",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreSpecificDefaultLibraries": "file1;file2",
|
|
"LinkLibraryDependencies": "true",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"OutputFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
},
|
|
"VCManifestTool": {
|
|
"AdditionalManifestFiles": "file1;file2",
|
|
"AdditionalOptions": "a string1",
|
|
"AssemblyIdentity": "a string1",
|
|
"ComponentFileName": "a_file_name",
|
|
"DependencyInformationFile": "a_file_name",
|
|
"GenerateCatalogFiles": "true",
|
|
"InputResourceManifests": "a string1",
|
|
"ManifestResourceFile": "a_file_name",
|
|
"OutputManifestFile": "a_file_name",
|
|
"RegistrarScriptFile": "a_file_name",
|
|
"ReplacementsFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"UpdateFileHashes": "truel",
|
|
"UpdateFileHashesSearchPath": "a_file_name",
|
|
"UseFAT32Workaround": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"VerboseOutput": "true",
|
|
},
|
|
},
|
|
self.stderr,
|
|
)
|
|
self._ExpectedWarnings(
|
|
[
|
|
"Warning: for VCCLCompilerTool/BasicRuntimeChecks, "
|
|
"index value (5) not in expected range [0, 4)",
|
|
"Warning: for VCCLCompilerTool/BrowseInformation, "
|
|
"invalid literal for int() with base 10: 'fdkslj'",
|
|
"Warning: for VCCLCompilerTool/CallingConvention, "
|
|
"index value (-1) not in expected range [0, 4)",
|
|
"Warning: for VCCLCompilerTool/DebugInformationFormat, "
|
|
"converted value for 2 not specified.",
|
|
"Warning: unrecognized setting VCCLCompilerTool/Enableprefast",
|
|
"Warning: unrecognized setting VCCLCompilerTool/ZZXYZ",
|
|
"Warning: for VCLinkerTool/TargetMachine, "
|
|
"converted value for 2 not specified.",
|
|
"Warning: unrecognized setting VCMIDLTool/notgood",
|
|
"Warning: unrecognized setting VCResourceCompilerTool/notgood2",
|
|
"Warning: for VCManifestTool/UpdateFileHashes, "
|
|
"expected bool; got 'truel'"
|
|
"",
|
|
]
|
|
)
|
|
|
|
def testValidateMSBuildSettings_settings(self):
|
|
"""Tests that for invalid MSBuild settings."""
|
|
MSVSSettings.ValidateMSBuildSettings(
|
|
{
|
|
"ClCompile": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"AdditionalOptions": ["string1", "string2"],
|
|
"AdditionalUsingDirectories": "folder1;folder2",
|
|
"AssemblerListingLocation": "a_file_name",
|
|
"AssemblerOutput": "NoListing",
|
|
"BasicRuntimeChecks": "StackFrameRuntimeCheck",
|
|
"BrowseInformation": "false",
|
|
"BrowseInformationFile": "a_file_name",
|
|
"BufferSecurityCheck": "true",
|
|
"BuildingInIDE": "true",
|
|
"CallingConvention": "Cdecl",
|
|
"CompileAs": "CompileAsC",
|
|
"CompileAsManaged": "true",
|
|
"CreateHotpatchableImage": "true",
|
|
"DebugInformationFormat": "ProgramDatabase",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "string1;string2",
|
|
"EnableEnhancedInstructionSet": "StreamingSIMDExtensions",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnablePREfast": "true",
|
|
"Enableprefast": "bogus",
|
|
"ErrorReporting": "Prompt",
|
|
"ExceptionHandling": "SyncCThrow",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "Neither",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "Precise",
|
|
"ForceConformanceInForLoopScope": "true",
|
|
"ForcedIncludeFiles": "file1;file2",
|
|
"ForcedUsingFiles": "file1;file2",
|
|
"FunctionLevelLinking": "false",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "OnlyExplicitInline",
|
|
"IntrinsicFunctions": "false",
|
|
"MinimalRebuild": "true",
|
|
"MultiProcessorCompilation": "true",
|
|
"ObjectFileName": "a_file_name",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMPSupport": "true",
|
|
"Optimization": "Disabled",
|
|
"PrecompiledHeader": "NotUsing",
|
|
"PrecompiledHeaderFile": "a_file_name",
|
|
"PrecompiledHeaderOutputFile": "a_file_name",
|
|
"PreprocessKeepComments": "true",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"PreprocessOutputPath": "a string1",
|
|
"PreprocessSuppressLineNumbers": "false",
|
|
"PreprocessToFile": "false",
|
|
"ProcessorNumber": "33",
|
|
"ProgramDataBaseFileName": "a_file_name",
|
|
"RuntimeLibrary": "MultiThreaded",
|
|
"RuntimeTypeInfo": "true",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "1Byte",
|
|
"SuppressStartupBanner": "true",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"TreatSpecificWarningsAsErrors": "string1;string2",
|
|
"TreatWarningAsError": "true",
|
|
"TreatWChar_tAsBuiltInType": "true",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
"UseFullPaths": "true",
|
|
"UseUnicodeForAssemblerListing": "true",
|
|
"WarningLevel": "TurnOffAllWarnings",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "a_file_name",
|
|
"ZZXYZ": "bogus",
|
|
},
|
|
"Link": {
|
|
"AdditionalDependencies": "file1;file2",
|
|
"AdditionalLibraryDirectories": "folder1;folder2",
|
|
"AdditionalManifestDependencies": "file1;file2",
|
|
"AdditionalOptions": "a string1",
|
|
"AddModuleNamesToAssembly": "file1;file2",
|
|
"AllowIsolation": "true",
|
|
"AssemblyDebug": "",
|
|
"AssemblyLinkResource": "file1;file2",
|
|
"BaseAddress": "a string1",
|
|
"BuildingInIDE": "true",
|
|
"CLRImageType": "ForceIJWImage",
|
|
"CLRSupportLastError": "Enabled",
|
|
"CLRThreadAttribute": "MTAThreadingAttribute",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"CreateHotPatchableImage": "X86Image",
|
|
"DataExecutionPrevention": "false",
|
|
"DelayLoadDLLs": "file1;file2",
|
|
"DelaySign": "true",
|
|
"Driver": "NotSet",
|
|
"EmbedManagedResourceFile": "file1;file2",
|
|
"EnableCOMDATFolding": "false",
|
|
"EnableUAC": "true",
|
|
"EntryPointSymbol": "a string1",
|
|
"FixedBaseAddress": "false",
|
|
"ForceFileOutput": "Enabled",
|
|
"ForceSymbolReferences": "file1;file2",
|
|
"FunctionOrder": "a_file_name",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "a string1",
|
|
"HeapReserveSize": "a string1",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreSpecificDefaultLibraries": "a_file_list",
|
|
"ImageHasSafeExceptionHandlers": "true",
|
|
"ImportLibrary": "a_file_name",
|
|
"KeyContainer": "a_file_name",
|
|
"KeyFile": "a_file_name",
|
|
"LargeAddressAware": "false",
|
|
"LinkDLL": "true",
|
|
"LinkErrorReporting": "SendErrorReport",
|
|
"LinkStatus": "true",
|
|
"LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
|
|
"ManifestFile": "a_file_name",
|
|
"MapExports": "true",
|
|
"MapFileName": "a_file_name",
|
|
"MergedIDLBaseFileName": "a_file_name",
|
|
"MergeSections": "a string1",
|
|
"MidlCommandFile": "a_file_name",
|
|
"MinimumRequiredVersion": "a string1",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"MSDOSStubFileName": "a_file_name",
|
|
"NoEntryPoint": "true",
|
|
"OptimizeReferences": "false",
|
|
"OutputFile": "a_file_name",
|
|
"PerUserRedirection": "true",
|
|
"PreventDllBinding": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "a_file_name",
|
|
"ProgramDatabaseFile": "a_file_name",
|
|
"RandomizedBaseAddress": "false",
|
|
"RegisterOutput": "true",
|
|
"SectionAlignment": "33",
|
|
"SetChecksum": "true",
|
|
"ShowProgress": "LinkVerboseREF",
|
|
"SpecifySectionAttributes": "a string1",
|
|
"StackCommitSize": "a string1",
|
|
"StackReserveSize": "a string1",
|
|
"StripPrivateSymbols": "a_file_name",
|
|
"SubSystem": "Console",
|
|
"SupportNobindOfDelayLoadedDLL": "true",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNET": "true",
|
|
"TargetMachine": "MachineX86",
|
|
"TerminalServerAware": "false",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"TreatLinkerWarningAsErrors": "true",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"TypeLibraryResourceID": "33",
|
|
"UACExecutionLevel": "AsInvoker",
|
|
"UACUIAccess": "true",
|
|
"Version": "a string1",
|
|
},
|
|
"ResourceCompile": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"AdditionalOptions": "a string1",
|
|
"Culture": "0x236",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"NullTerminateStrings": "true",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"ResourceOutputFileName": "a string1",
|
|
"ShowProgress": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
},
|
|
"Midl": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2",
|
|
"AdditionalOptions": "a string1",
|
|
"ApplicationConfigurationMode": "true",
|
|
"ClientStubFile": "a_file_name",
|
|
"CPreprocessOptions": "a string1",
|
|
"DefaultCharType": "Signed",
|
|
"DllDataFileName": "a_file_name",
|
|
"EnableErrorChecks": "EnableCustom",
|
|
"ErrorCheckAllocations": "true",
|
|
"ErrorCheckBounds": "true",
|
|
"ErrorCheckEnumRange": "true",
|
|
"ErrorCheckRefPointers": "true",
|
|
"ErrorCheckStubData": "true",
|
|
"GenerateClientFiles": "Stub",
|
|
"GenerateServerFiles": "None",
|
|
"GenerateStublessProxies": "true",
|
|
"GenerateTypeLibrary": "true",
|
|
"HeaderFileName": "a_file_name",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InterfaceIdentifierFileName": "a_file_name",
|
|
"LocaleID": "33",
|
|
"MkTypLibCompatible": "true",
|
|
"OutputDirectory": "a string1",
|
|
"PreprocessorDefinitions": "string1;string2",
|
|
"ProxyFileName": "a_file_name",
|
|
"RedirectOutputAndErrors": "a_file_name",
|
|
"ServerStubFile": "a_file_name",
|
|
"StructMemberAlignment": "NotSet",
|
|
"SuppressCompilerWarnings": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"TargetEnvironment": "Itanium",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"TypeLibFormat": "NewFormat",
|
|
"TypeLibraryName": "a_file_name",
|
|
"UndefinePreprocessorDefinitions": "string1;string2",
|
|
"ValidateAllParameters": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "1",
|
|
},
|
|
"Lib": {
|
|
"AdditionalDependencies": "file1;file2",
|
|
"AdditionalLibraryDirectories": "folder1;folder2",
|
|
"AdditionalOptions": "a string1",
|
|
"DisplayLibrary": "a string1",
|
|
"ErrorReporting": "PromptImmediately",
|
|
"ExportNamedFunctions": "string1;string2",
|
|
"ForceSymbolReferences": "a string1",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreSpecificDefaultLibraries": "file1;file2",
|
|
"LinkTimeCodeGeneration": "true",
|
|
"MinimumRequiredVersion": "a string1",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"Name": "a_file_name",
|
|
"OutputFile": "a_file_name",
|
|
"RemoveObjects": "file1;file2",
|
|
"SubSystem": "Console",
|
|
"SuppressStartupBanner": "true",
|
|
"TargetMachine": "MachineX86i",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"TreatLibWarningAsErrors": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"Verbose": "true",
|
|
},
|
|
"Manifest": {
|
|
"AdditionalManifestFiles": "file1;file2",
|
|
"AdditionalOptions": "a string1",
|
|
"AssemblyIdentity": "a string1",
|
|
"ComponentFileName": "a_file_name",
|
|
"EnableDPIAwareness": "fal",
|
|
"GenerateCatalogFiles": "truel",
|
|
"GenerateCategoryTags": "true",
|
|
"InputResourceManifests": "a string1",
|
|
"ManifestFromManagedAssembly": "a_file_name",
|
|
"notgood3": "bogus",
|
|
"OutputManifestFile": "a_file_name",
|
|
"OutputResourceManifests": "a string1",
|
|
"RegistrarScriptFile": "a_file_name",
|
|
"ReplacementsFile": "a_file_name",
|
|
"SuppressDependencyElement": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"TrackerLogDirectory": "a_folder",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"UpdateFileHashes": "true",
|
|
"UpdateFileHashesSearchPath": "a_file_name",
|
|
"VerboseOutput": "true",
|
|
},
|
|
"ProjectReference": {
|
|
"LinkLibraryDependencies": "true",
|
|
"UseLibraryDependencyInputs": "true",
|
|
},
|
|
"ManifestResourceCompile": {"ResourceOutputFileName": "a_file_name"},
|
|
"": {
|
|
"EmbedManifest": "true",
|
|
"GenerateManifest": "true",
|
|
"IgnoreImportLibrary": "true",
|
|
"LinkIncremental": "false",
|
|
},
|
|
},
|
|
self.stderr,
|
|
)
|
|
self._ExpectedWarnings(
|
|
[
|
|
"Warning: unrecognized setting ClCompile/Enableprefast",
|
|
"Warning: unrecognized setting ClCompile/ZZXYZ",
|
|
"Warning: unrecognized setting Manifest/notgood3",
|
|
"Warning: for Manifest/GenerateCatalogFiles, "
|
|
"expected bool; got 'truel'",
|
|
"Warning: for Lib/TargetMachine, unrecognized enumerated value "
|
|
"MachineX86i",
|
|
"Warning: for Manifest/EnableDPIAwareness, expected bool; got 'fal'",
|
|
]
|
|
)
|
|
|
|
def testConvertToMSBuildSettings_empty(self):
|
|
"""Tests an empty conversion."""
|
|
msvs_settings = {}
|
|
expected_msbuild_settings = {}
|
|
actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
|
|
msvs_settings, self.stderr
|
|
)
|
|
self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
|
|
self._ExpectedWarnings([])
|
|
|
|
def testConvertToMSBuildSettings_minimal(self):
|
|
"""Tests a minimal conversion."""
|
|
msvs_settings = {
|
|
"VCCLCompilerTool": {
|
|
"AdditionalIncludeDirectories": "dir1",
|
|
"AdditionalOptions": "/foo",
|
|
"BasicRuntimeChecks": "0",
|
|
},
|
|
"VCLinkerTool": {
|
|
"LinkTimeCodeGeneration": "1",
|
|
"ErrorReporting": "1",
|
|
"DataExecutionPrevention": "2",
|
|
},
|
|
}
|
|
expected_msbuild_settings = {
|
|
"ClCompile": {
|
|
"AdditionalIncludeDirectories": "dir1",
|
|
"AdditionalOptions": "/foo",
|
|
"BasicRuntimeChecks": "Default",
|
|
},
|
|
"Link": {
|
|
"LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
|
|
"LinkErrorReporting": "PromptImmediately",
|
|
"DataExecutionPrevention": "true",
|
|
},
|
|
}
|
|
actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
|
|
msvs_settings, self.stderr
|
|
)
|
|
self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
|
|
self._ExpectedWarnings([])
|
|
|
|
def testConvertToMSBuildSettings_warnings(self):
|
|
"""Tests conversion that generates warnings."""
|
|
msvs_settings = {
|
|
"VCCLCompilerTool": {
|
|
"AdditionalIncludeDirectories": "1",
|
|
"AdditionalOptions": "2",
|
|
# These are incorrect values:
|
|
"BasicRuntimeChecks": "12",
|
|
"BrowseInformation": "21",
|
|
"UsePrecompiledHeader": "13",
|
|
"GeneratePreprocessedFile": "14",
|
|
},
|
|
"VCLinkerTool": {
|
|
# These are incorrect values:
|
|
"Driver": "10",
|
|
"LinkTimeCodeGeneration": "31",
|
|
"ErrorReporting": "21",
|
|
"FixedBaseAddress": "6",
|
|
},
|
|
"VCResourceCompilerTool": {
|
|
# Custom
|
|
"Culture": "1003"
|
|
},
|
|
}
|
|
expected_msbuild_settings = {
|
|
"ClCompile": {
|
|
"AdditionalIncludeDirectories": "1",
|
|
"AdditionalOptions": "2",
|
|
},
|
|
"Link": {},
|
|
"ResourceCompile": {
|
|
# Custom
|
|
"Culture": "0x03eb"
|
|
},
|
|
}
|
|
actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
|
|
msvs_settings, self.stderr
|
|
)
|
|
self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
|
|
self._ExpectedWarnings(
|
|
[
|
|
"Warning: while converting VCCLCompilerTool/BasicRuntimeChecks to "
|
|
"MSBuild, index value (12) not in expected range [0, 4)",
|
|
"Warning: while converting VCCLCompilerTool/BrowseInformation to "
|
|
"MSBuild, index value (21) not in expected range [0, 3)",
|
|
"Warning: while converting VCCLCompilerTool/UsePrecompiledHeader to "
|
|
"MSBuild, index value (13) not in expected range [0, 3)",
|
|
"Warning: while converting "
|
|
"VCCLCompilerTool/GeneratePreprocessedFile to "
|
|
"MSBuild, value must be one of [0, 1, 2]; got 14",
|
|
"Warning: while converting VCLinkerTool/Driver to "
|
|
"MSBuild, index value (10) not in expected range [0, 4)",
|
|
"Warning: while converting VCLinkerTool/LinkTimeCodeGeneration to "
|
|
"MSBuild, index value (31) not in expected range [0, 5)",
|
|
"Warning: while converting VCLinkerTool/ErrorReporting to "
|
|
"MSBuild, index value (21) not in expected range [0, 3)",
|
|
"Warning: while converting VCLinkerTool/FixedBaseAddress to "
|
|
"MSBuild, index value (6) not in expected range [0, 3)",
|
|
]
|
|
)
|
|
|
|
def testConvertToMSBuildSettings_full_synthetic(self):
|
|
"""Tests conversion of all the MSBuild settings."""
|
|
msvs_settings = {
|
|
"VCCLCompilerTool": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"AdditionalUsingDirectories": "folder1;folder2;folder3",
|
|
"AssemblerListingLocation": "a_file_name",
|
|
"AssemblerOutput": "0",
|
|
"BasicRuntimeChecks": "1",
|
|
"BrowseInformation": "2",
|
|
"BrowseInformationFile": "a_file_name",
|
|
"BufferSecurityCheck": "true",
|
|
"CallingConvention": "0",
|
|
"CompileAs": "1",
|
|
"DebugInformationFormat": "4",
|
|
"DefaultCharIsUnsigned": "true",
|
|
"Detect64BitPortabilityProblems": "true",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "d1;d2;d3",
|
|
"EnableEnhancedInstructionSet": "0",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnableFunctionLevelLinking": "true",
|
|
"EnableIntrinsicFunctions": "true",
|
|
"EnablePREfast": "true",
|
|
"ErrorReporting": "1",
|
|
"ExceptionHandling": "2",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "0",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "1",
|
|
"ForceConformanceInForLoopScope": "true",
|
|
"ForcedIncludeFiles": "file1;file2;file3",
|
|
"ForcedUsingFiles": "file1;file2;file3",
|
|
"GeneratePreprocessedFile": "1",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "2",
|
|
"KeepComments": "true",
|
|
"MinimalRebuild": "true",
|
|
"ObjectFile": "a_file_name",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMP": "true",
|
|
"Optimization": "3",
|
|
"PrecompiledHeaderFile": "a_file_name",
|
|
"PrecompiledHeaderThrough": "a_file_name",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"ProgramDataBaseFileName": "a_file_name",
|
|
"RuntimeLibrary": "0",
|
|
"RuntimeTypeInfo": "true",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "1",
|
|
"SuppressStartupBanner": "true",
|
|
"TreatWChar_tAsBuiltInType": "true",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
"UseFullPaths": "true",
|
|
"UsePrecompiledHeader": "1",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "2",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "a_file_name",
|
|
},
|
|
"VCLinkerTool": {
|
|
"AdditionalDependencies": "file1;file2;file3",
|
|
"AdditionalLibraryDirectories": "folder1;folder2;folder3",
|
|
"AdditionalLibraryDirectories_excluded": "folder1;folder2;folder3",
|
|
"AdditionalManifestDependencies": "file1;file2;file3",
|
|
"AdditionalOptions": "a_string",
|
|
"AddModuleNamesToAssembly": "file1;file2;file3",
|
|
"AllowIsolation": "true",
|
|
"AssemblyDebug": "0",
|
|
"AssemblyLinkResource": "file1;file2;file3",
|
|
"BaseAddress": "a_string",
|
|
"CLRImageType": "1",
|
|
"CLRThreadAttribute": "2",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"DataExecutionPrevention": "0",
|
|
"DelayLoadDLLs": "file1;file2;file3",
|
|
"DelaySign": "true",
|
|
"Driver": "1",
|
|
"EmbedManagedResourceFile": "file1;file2;file3",
|
|
"EnableCOMDATFolding": "0",
|
|
"EnableUAC": "true",
|
|
"EntryPointSymbol": "a_string",
|
|
"ErrorReporting": "0",
|
|
"FixedBaseAddress": "1",
|
|
"ForceSymbolReferences": "file1;file2;file3",
|
|
"FunctionOrder": "a_file_name",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateManifest": "true",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "a_string",
|
|
"HeapReserveSize": "a_string",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreDefaultLibraryNames": "file1;file2;file3",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreImportLibrary": "true",
|
|
"ImportLibrary": "a_file_name",
|
|
"KeyContainer": "a_file_name",
|
|
"KeyFile": "a_file_name",
|
|
"LargeAddressAware": "2",
|
|
"LinkIncremental": "1",
|
|
"LinkLibraryDependencies": "true",
|
|
"LinkTimeCodeGeneration": "2",
|
|
"ManifestFile": "a_file_name",
|
|
"MapExports": "true",
|
|
"MapFileName": "a_file_name",
|
|
"MergedIDLBaseFileName": "a_file_name",
|
|
"MergeSections": "a_string",
|
|
"MidlCommandFile": "a_file_name",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"OptimizeForWindows98": "1",
|
|
"OptimizeReferences": "0",
|
|
"OutputFile": "a_file_name",
|
|
"PerUserRedirection": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "a_file_name",
|
|
"ProgramDatabaseFile": "a_file_name",
|
|
"RandomizedBaseAddress": "1",
|
|
"RegisterOutput": "true",
|
|
"ResourceOnlyDLL": "true",
|
|
"SetChecksum": "true",
|
|
"ShowProgress": "0",
|
|
"StackCommitSize": "a_string",
|
|
"StackReserveSize": "a_string",
|
|
"StripPrivateSymbols": "a_file_name",
|
|
"SubSystem": "2",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNet": "true",
|
|
"TargetMachine": "3",
|
|
"TerminalServerAware": "2",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"TypeLibraryResourceID": "33",
|
|
"UACExecutionLevel": "1",
|
|
"UACUIAccess": "true",
|
|
"UseLibraryDependencyInputs": "false",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"Version": "a_string",
|
|
},
|
|
"VCResourceCompilerTool": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"Culture": "1003",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"ResourceOutputFileName": "a_string",
|
|
"ShowProgress": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
},
|
|
"VCMIDLTool": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"CPreprocessOptions": "a_string",
|
|
"DefaultCharType": "0",
|
|
"DLLDataFileName": "a_file_name",
|
|
"EnableErrorChecks": "2",
|
|
"ErrorCheckAllocations": "true",
|
|
"ErrorCheckBounds": "true",
|
|
"ErrorCheckEnumRange": "true",
|
|
"ErrorCheckRefPointers": "true",
|
|
"ErrorCheckStubData": "true",
|
|
"GenerateStublessProxies": "true",
|
|
"GenerateTypeLibrary": "true",
|
|
"HeaderFileName": "a_file_name",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InterfaceIdentifierFileName": "a_file_name",
|
|
"MkTypLibCompatible": "true",
|
|
"OutputDirectory": "a_string",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"ProxyFileName": "a_file_name",
|
|
"RedirectOutputAndErrors": "a_file_name",
|
|
"StructMemberAlignment": "3",
|
|
"SuppressStartupBanner": "true",
|
|
"TargetEnvironment": "1",
|
|
"TypeLibraryName": "a_file_name",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
"ValidateParameters": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "4",
|
|
},
|
|
"VCLibrarianTool": {
|
|
"AdditionalDependencies": "file1;file2;file3",
|
|
"AdditionalLibraryDirectories": "folder1;folder2;folder3",
|
|
"AdditionalLibraryDirectories_excluded": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"ExportNamedFunctions": "d1;d2;d3",
|
|
"ForceSymbolReferences": "a_string",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreSpecificDefaultLibraries": "file1;file2;file3",
|
|
"LinkLibraryDependencies": "true",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"OutputFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
},
|
|
"VCManifestTool": {
|
|
"AdditionalManifestFiles": "file1;file2;file3",
|
|
"AdditionalOptions": "a_string",
|
|
"AssemblyIdentity": "a_string",
|
|
"ComponentFileName": "a_file_name",
|
|
"DependencyInformationFile": "a_file_name",
|
|
"EmbedManifest": "true",
|
|
"GenerateCatalogFiles": "true",
|
|
"InputResourceManifests": "a_string",
|
|
"ManifestResourceFile": "my_name",
|
|
"OutputManifestFile": "a_file_name",
|
|
"RegistrarScriptFile": "a_file_name",
|
|
"ReplacementsFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"UpdateFileHashes": "true",
|
|
"UpdateFileHashesSearchPath": "a_file_name",
|
|
"UseFAT32Workaround": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
"VerboseOutput": "true",
|
|
},
|
|
}
|
|
expected_msbuild_settings = {
|
|
"ClCompile": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string /J",
|
|
"AdditionalUsingDirectories": "folder1;folder2;folder3",
|
|
"AssemblerListingLocation": "a_file_name",
|
|
"AssemblerOutput": "NoListing",
|
|
"BasicRuntimeChecks": "StackFrameRuntimeCheck",
|
|
"BrowseInformation": "true",
|
|
"BrowseInformationFile": "a_file_name",
|
|
"BufferSecurityCheck": "true",
|
|
"CallingConvention": "Cdecl",
|
|
"CompileAs": "CompileAsC",
|
|
"DebugInformationFormat": "EditAndContinue",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "d1;d2;d3",
|
|
"EnableEnhancedInstructionSet": "NotSet",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnablePREfast": "true",
|
|
"ErrorReporting": "Prompt",
|
|
"ExceptionHandling": "Async",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "Neither",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "Strict",
|
|
"ForceConformanceInForLoopScope": "true",
|
|
"ForcedIncludeFiles": "file1;file2;file3",
|
|
"ForcedUsingFiles": "file1;file2;file3",
|
|
"FunctionLevelLinking": "true",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "AnySuitable",
|
|
"IntrinsicFunctions": "true",
|
|
"MinimalRebuild": "true",
|
|
"ObjectFileName": "a_file_name",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMPSupport": "true",
|
|
"Optimization": "Full",
|
|
"PrecompiledHeader": "Create",
|
|
"PrecompiledHeaderFile": "a_file_name",
|
|
"PrecompiledHeaderOutputFile": "a_file_name",
|
|
"PreprocessKeepComments": "true",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"PreprocessSuppressLineNumbers": "false",
|
|
"PreprocessToFile": "true",
|
|
"ProgramDataBaseFileName": "a_file_name",
|
|
"RuntimeLibrary": "MultiThreaded",
|
|
"RuntimeTypeInfo": "true",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "1Byte",
|
|
"SuppressStartupBanner": "true",
|
|
"TreatWarningAsError": "true",
|
|
"TreatWChar_tAsBuiltInType": "true",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
"UseFullPaths": "true",
|
|
"WarningLevel": "Level2",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "a_file_name",
|
|
},
|
|
"Link": {
|
|
"AdditionalDependencies": "file1;file2;file3",
|
|
"AdditionalLibraryDirectories": "folder1;folder2;folder3",
|
|
"AdditionalManifestDependencies": "file1;file2;file3",
|
|
"AdditionalOptions": "a_string",
|
|
"AddModuleNamesToAssembly": "file1;file2;file3",
|
|
"AllowIsolation": "true",
|
|
"AssemblyDebug": "",
|
|
"AssemblyLinkResource": "file1;file2;file3",
|
|
"BaseAddress": "a_string",
|
|
"CLRImageType": "ForceIJWImage",
|
|
"CLRThreadAttribute": "STAThreadingAttribute",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"DataExecutionPrevention": "",
|
|
"DelayLoadDLLs": "file1;file2;file3",
|
|
"DelaySign": "true",
|
|
"Driver": "Driver",
|
|
"EmbedManagedResourceFile": "file1;file2;file3",
|
|
"EnableCOMDATFolding": "",
|
|
"EnableUAC": "true",
|
|
"EntryPointSymbol": "a_string",
|
|
"FixedBaseAddress": "false",
|
|
"ForceSymbolReferences": "file1;file2;file3",
|
|
"FunctionOrder": "a_file_name",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "a_string",
|
|
"HeapReserveSize": "a_string",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreSpecificDefaultLibraries": "file1;file2;file3",
|
|
"ImportLibrary": "a_file_name",
|
|
"KeyContainer": "a_file_name",
|
|
"KeyFile": "a_file_name",
|
|
"LargeAddressAware": "true",
|
|
"LinkErrorReporting": "NoErrorReport",
|
|
"LinkTimeCodeGeneration": "PGInstrument",
|
|
"ManifestFile": "a_file_name",
|
|
"MapExports": "true",
|
|
"MapFileName": "a_file_name",
|
|
"MergedIDLBaseFileName": "a_file_name",
|
|
"MergeSections": "a_string",
|
|
"MidlCommandFile": "a_file_name",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"NoEntryPoint": "true",
|
|
"OptimizeReferences": "",
|
|
"OutputFile": "a_file_name",
|
|
"PerUserRedirection": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "a_file_name",
|
|
"ProgramDatabaseFile": "a_file_name",
|
|
"RandomizedBaseAddress": "false",
|
|
"RegisterOutput": "true",
|
|
"SetChecksum": "true",
|
|
"ShowProgress": "NotSet",
|
|
"StackCommitSize": "a_string",
|
|
"StackReserveSize": "a_string",
|
|
"StripPrivateSymbols": "a_file_name",
|
|
"SubSystem": "Windows",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNET": "true",
|
|
"TargetMachine": "MachineARM",
|
|
"TerminalServerAware": "true",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"TypeLibraryResourceID": "33",
|
|
"UACExecutionLevel": "HighestAvailable",
|
|
"UACUIAccess": "true",
|
|
"Version": "a_string",
|
|
},
|
|
"ResourceCompile": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"Culture": "0x03eb",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"ResourceOutputFileName": "a_string",
|
|
"ShowProgress": "true",
|
|
"SuppressStartupBanner": "true",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
},
|
|
"Midl": {
|
|
"AdditionalIncludeDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"CPreprocessOptions": "a_string",
|
|
"DefaultCharType": "Unsigned",
|
|
"DllDataFileName": "a_file_name",
|
|
"EnableErrorChecks": "All",
|
|
"ErrorCheckAllocations": "true",
|
|
"ErrorCheckBounds": "true",
|
|
"ErrorCheckEnumRange": "true",
|
|
"ErrorCheckRefPointers": "true",
|
|
"ErrorCheckStubData": "true",
|
|
"GenerateStublessProxies": "true",
|
|
"GenerateTypeLibrary": "true",
|
|
"HeaderFileName": "a_file_name",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InterfaceIdentifierFileName": "a_file_name",
|
|
"MkTypLibCompatible": "true",
|
|
"OutputDirectory": "a_string",
|
|
"PreprocessorDefinitions": "d1;d2;d3",
|
|
"ProxyFileName": "a_file_name",
|
|
"RedirectOutputAndErrors": "a_file_name",
|
|
"StructMemberAlignment": "4",
|
|
"SuppressStartupBanner": "true",
|
|
"TargetEnvironment": "Win32",
|
|
"TypeLibraryName": "a_file_name",
|
|
"UndefinePreprocessorDefinitions": "d1;d2;d3",
|
|
"ValidateAllParameters": "true",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "4",
|
|
},
|
|
"Lib": {
|
|
"AdditionalDependencies": "file1;file2;file3",
|
|
"AdditionalLibraryDirectories": "folder1;folder2;folder3",
|
|
"AdditionalOptions": "a_string",
|
|
"ExportNamedFunctions": "d1;d2;d3",
|
|
"ForceSymbolReferences": "a_string",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreSpecificDefaultLibraries": "file1;file2;file3",
|
|
"ModuleDefinitionFile": "a_file_name",
|
|
"OutputFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"UseUnicodeResponseFiles": "true",
|
|
},
|
|
"Manifest": {
|
|
"AdditionalManifestFiles": "file1;file2;file3",
|
|
"AdditionalOptions": "a_string",
|
|
"AssemblyIdentity": "a_string",
|
|
"ComponentFileName": "a_file_name",
|
|
"GenerateCatalogFiles": "true",
|
|
"InputResourceManifests": "a_string",
|
|
"OutputManifestFile": "a_file_name",
|
|
"RegistrarScriptFile": "a_file_name",
|
|
"ReplacementsFile": "a_file_name",
|
|
"SuppressStartupBanner": "true",
|
|
"TypeLibraryFile": "a_file_name",
|
|
"UpdateFileHashes": "true",
|
|
"UpdateFileHashesSearchPath": "a_file_name",
|
|
"VerboseOutput": "true",
|
|
},
|
|
"ManifestResourceCompile": {"ResourceOutputFileName": "my_name"},
|
|
"ProjectReference": {
|
|
"LinkLibraryDependencies": "true",
|
|
"UseLibraryDependencyInputs": "false",
|
|
},
|
|
"": {
|
|
"EmbedManifest": "true",
|
|
"GenerateManifest": "true",
|
|
"IgnoreImportLibrary": "true",
|
|
"LinkIncremental": "false",
|
|
},
|
|
}
|
|
self.maxDiff = 9999 # on failure display a long diff
|
|
actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
|
|
msvs_settings, self.stderr
|
|
)
|
|
self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
|
|
self._ExpectedWarnings([])
|
|
|
|
def testConvertToMSBuildSettings_actual(self):
|
|
"""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)',
|
|
"""
|
|
msvs_settings = {
|
|
"VCCLCompilerTool": {
|
|
"AdditionalIncludeDirectories": "dir1",
|
|
"AdditionalOptions": "/more",
|
|
"AdditionalUsingDirectories": "test",
|
|
"AssemblerListingLocation": "$(IntDir)\\a",
|
|
"AssemblerOutput": "1",
|
|
"BasicRuntimeChecks": "3",
|
|
"BrowseInformation": "1",
|
|
"BrowseInformationFile": "$(IntDir)\\e",
|
|
"BufferSecurityCheck": "false",
|
|
"CallingConvention": "1",
|
|
"CompileAs": "1",
|
|
"DebugInformationFormat": "4",
|
|
"DefaultCharIsUnsigned": "true",
|
|
"Detect64BitPortabilityProblems": "true",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "abc",
|
|
"EnableEnhancedInstructionSet": "1",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnableFunctionLevelLinking": "true",
|
|
"EnableIntrinsicFunctions": "true",
|
|
"EnablePREfast": "true",
|
|
"ErrorReporting": "2",
|
|
"ExceptionHandling": "2",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "2",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "1",
|
|
"ForceConformanceInForLoopScope": "false",
|
|
"ForcedIncludeFiles": "def",
|
|
"ForcedUsingFiles": "ge",
|
|
"GeneratePreprocessedFile": "2",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "1",
|
|
"KeepComments": "true",
|
|
"MinimalRebuild": "true",
|
|
"ObjectFile": "$(IntDir)\\b",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMP": "true",
|
|
"Optimization": "3",
|
|
"PrecompiledHeaderFile": "$(IntDir)\\$(TargetName).pche",
|
|
"PrecompiledHeaderThrough": "StdAfx.hd",
|
|
"PreprocessorDefinitions": "WIN32;_DEBUG;_CONSOLE",
|
|
"ProgramDataBaseFileName": "$(IntDir)\\vc90b.pdb",
|
|
"RuntimeLibrary": "3",
|
|
"RuntimeTypeInfo": "false",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "3",
|
|
"SuppressStartupBanner": "false",
|
|
"TreatWChar_tAsBuiltInType": "false",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "wer",
|
|
"UseFullPaths": "true",
|
|
"UsePrecompiledHeader": "0",
|
|
"UseUnicodeResponseFiles": "false",
|
|
"WarnAsError": "true",
|
|
"WarningLevel": "3",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "$(IntDir)\\c",
|
|
},
|
|
"VCLinkerTool": {
|
|
"AdditionalDependencies": "zx",
|
|
"AdditionalLibraryDirectories": "asd",
|
|
"AdditionalManifestDependencies": "s2",
|
|
"AdditionalOptions": "/mor2",
|
|
"AddModuleNamesToAssembly": "d1",
|
|
"AllowIsolation": "false",
|
|
"AssemblyDebug": "1",
|
|
"AssemblyLinkResource": "d5",
|
|
"BaseAddress": "23423",
|
|
"CLRImageType": "3",
|
|
"CLRThreadAttribute": "1",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"DataExecutionPrevention": "0",
|
|
"DelayLoadDLLs": "d4",
|
|
"DelaySign": "true",
|
|
"Driver": "2",
|
|
"EmbedManagedResourceFile": "d2",
|
|
"EnableCOMDATFolding": "1",
|
|
"EnableUAC": "false",
|
|
"EntryPointSymbol": "f5",
|
|
"ErrorReporting": "2",
|
|
"FixedBaseAddress": "1",
|
|
"ForceSymbolReferences": "d3",
|
|
"FunctionOrder": "fssdfsd",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateManifest": "false",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "13",
|
|
"HeapReserveSize": "12",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreDefaultLibraryNames": "flob;flok",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreImportLibrary": "true",
|
|
"ImportLibrary": "f4",
|
|
"KeyContainer": "f7",
|
|
"KeyFile": "f6",
|
|
"LargeAddressAware": "2",
|
|
"LinkIncremental": "0",
|
|
"LinkLibraryDependencies": "false",
|
|
"LinkTimeCodeGeneration": "1",
|
|
"ManifestFile": "$(IntDir)\\$(TargetFileName).2intermediate.manifest",
|
|
"MapExports": "true",
|
|
"MapFileName": "d5",
|
|
"MergedIDLBaseFileName": "f2",
|
|
"MergeSections": "f5",
|
|
"MidlCommandFile": "f1",
|
|
"ModuleDefinitionFile": "sdsd",
|
|
"OptimizeForWindows98": "2",
|
|
"OptimizeReferences": "2",
|
|
"OutputFile": "$(OutDir)\\$(ProjectName)2.exe",
|
|
"PerUserRedirection": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "$(TargetDir)$(TargetName).pgdd",
|
|
"ProgramDatabaseFile": "Flob.pdb",
|
|
"RandomizedBaseAddress": "1",
|
|
"RegisterOutput": "true",
|
|
"ResourceOnlyDLL": "true",
|
|
"SetChecksum": "false",
|
|
"ShowProgress": "1",
|
|
"StackCommitSize": "15",
|
|
"StackReserveSize": "14",
|
|
"StripPrivateSymbols": "d3",
|
|
"SubSystem": "1",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "false",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNet": "true",
|
|
"TargetMachine": "1",
|
|
"TerminalServerAware": "1",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "f3",
|
|
"TypeLibraryResourceID": "12",
|
|
"UACExecutionLevel": "2",
|
|
"UACUIAccess": "true",
|
|
"UseLibraryDependencyInputs": "true",
|
|
"UseUnicodeResponseFiles": "false",
|
|
"Version": "333",
|
|
},
|
|
"VCResourceCompilerTool": {
|
|
"AdditionalIncludeDirectories": "f3",
|
|
"AdditionalOptions": "/more3",
|
|
"Culture": "3084",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"PreprocessorDefinitions": "_UNICODE;UNICODE2",
|
|
"ResourceOutputFileName": "$(IntDir)/$(InputName)3.res",
|
|
"ShowProgress": "true",
|
|
},
|
|
"VCManifestTool": {
|
|
"AdditionalManifestFiles": "sfsdfsd",
|
|
"AdditionalOptions": "afdsdafsd",
|
|
"AssemblyIdentity": "sddfdsadfsa",
|
|
"ComponentFileName": "fsdfds",
|
|
"DependencyInformationFile": "$(IntDir)\\mt.depdfd",
|
|
"EmbedManifest": "false",
|
|
"GenerateCatalogFiles": "true",
|
|
"InputResourceManifests": "asfsfdafs",
|
|
"ManifestResourceFile":
|
|
"$(IntDir)\\$(TargetFileName).embed.manifest.resfdsf",
|
|
"OutputManifestFile": "$(TargetPath).manifestdfs",
|
|
"RegistrarScriptFile": "sdfsfd",
|
|
"ReplacementsFile": "sdffsd",
|
|
"SuppressStartupBanner": "false",
|
|
"TypeLibraryFile": "sfsd",
|
|
"UpdateFileHashes": "true",
|
|
"UpdateFileHashesSearchPath": "sfsd",
|
|
"UseFAT32Workaround": "true",
|
|
"UseUnicodeResponseFiles": "false",
|
|
"VerboseOutput": "true",
|
|
},
|
|
}
|
|
expected_msbuild_settings = {
|
|
"ClCompile": {
|
|
"AdditionalIncludeDirectories": "dir1",
|
|
"AdditionalOptions": "/more /J",
|
|
"AdditionalUsingDirectories": "test",
|
|
"AssemblerListingLocation": "$(IntDir)a",
|
|
"AssemblerOutput": "AssemblyCode",
|
|
"BasicRuntimeChecks": "EnableFastChecks",
|
|
"BrowseInformation": "true",
|
|
"BrowseInformationFile": "$(IntDir)e",
|
|
"BufferSecurityCheck": "false",
|
|
"CallingConvention": "FastCall",
|
|
"CompileAs": "CompileAsC",
|
|
"DebugInformationFormat": "EditAndContinue",
|
|
"DisableLanguageExtensions": "true",
|
|
"DisableSpecificWarnings": "abc",
|
|
"EnableEnhancedInstructionSet": "StreamingSIMDExtensions",
|
|
"EnableFiberSafeOptimizations": "true",
|
|
"EnablePREfast": "true",
|
|
"ErrorReporting": "Queue",
|
|
"ExceptionHandling": "Async",
|
|
"ExpandAttributedSource": "true",
|
|
"FavorSizeOrSpeed": "Size",
|
|
"FloatingPointExceptions": "true",
|
|
"FloatingPointModel": "Strict",
|
|
"ForceConformanceInForLoopScope": "false",
|
|
"ForcedIncludeFiles": "def",
|
|
"ForcedUsingFiles": "ge",
|
|
"FunctionLevelLinking": "true",
|
|
"GenerateXMLDocumentationFiles": "true",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"InlineFunctionExpansion": "OnlyExplicitInline",
|
|
"IntrinsicFunctions": "true",
|
|
"MinimalRebuild": "true",
|
|
"ObjectFileName": "$(IntDir)b",
|
|
"OmitDefaultLibName": "true",
|
|
"OmitFramePointers": "true",
|
|
"OpenMPSupport": "true",
|
|
"Optimization": "Full",
|
|
"PrecompiledHeader": "NotUsing", # Actual conversion gives ''
|
|
"PrecompiledHeaderFile": "StdAfx.hd",
|
|
"PrecompiledHeaderOutputFile": "$(IntDir)$(TargetName).pche",
|
|
"PreprocessKeepComments": "true",
|
|
"PreprocessorDefinitions": "WIN32;_DEBUG;_CONSOLE",
|
|
"PreprocessSuppressLineNumbers": "true",
|
|
"PreprocessToFile": "true",
|
|
"ProgramDataBaseFileName": "$(IntDir)vc90b.pdb",
|
|
"RuntimeLibrary": "MultiThreadedDebugDLL",
|
|
"RuntimeTypeInfo": "false",
|
|
"ShowIncludes": "true",
|
|
"SmallerTypeCheck": "true",
|
|
"StringPooling": "true",
|
|
"StructMemberAlignment": "4Bytes",
|
|
"SuppressStartupBanner": "false",
|
|
"TreatWarningAsError": "true",
|
|
"TreatWChar_tAsBuiltInType": "false",
|
|
"UndefineAllPreprocessorDefinitions": "true",
|
|
"UndefinePreprocessorDefinitions": "wer",
|
|
"UseFullPaths": "true",
|
|
"WarningLevel": "Level3",
|
|
"WholeProgramOptimization": "true",
|
|
"XMLDocumentationFileName": "$(IntDir)c",
|
|
},
|
|
"Link": {
|
|
"AdditionalDependencies": "zx",
|
|
"AdditionalLibraryDirectories": "asd",
|
|
"AdditionalManifestDependencies": "s2",
|
|
"AdditionalOptions": "/mor2",
|
|
"AddModuleNamesToAssembly": "d1",
|
|
"AllowIsolation": "false",
|
|
"AssemblyDebug": "true",
|
|
"AssemblyLinkResource": "d5",
|
|
"BaseAddress": "23423",
|
|
"CLRImageType": "ForceSafeILImage",
|
|
"CLRThreadAttribute": "MTAThreadingAttribute",
|
|
"CLRUnmanagedCodeCheck": "true",
|
|
"DataExecutionPrevention": "",
|
|
"DelayLoadDLLs": "d4",
|
|
"DelaySign": "true",
|
|
"Driver": "UpOnly",
|
|
"EmbedManagedResourceFile": "d2",
|
|
"EnableCOMDATFolding": "false",
|
|
"EnableUAC": "false",
|
|
"EntryPointSymbol": "f5",
|
|
"FixedBaseAddress": "false",
|
|
"ForceSymbolReferences": "d3",
|
|
"FunctionOrder": "fssdfsd",
|
|
"GenerateDebugInformation": "true",
|
|
"GenerateMapFile": "true",
|
|
"HeapCommitSize": "13",
|
|
"HeapReserveSize": "12",
|
|
"IgnoreAllDefaultLibraries": "true",
|
|
"IgnoreEmbeddedIDL": "true",
|
|
"IgnoreSpecificDefaultLibraries": "flob;flok",
|
|
"ImportLibrary": "f4",
|
|
"KeyContainer": "f7",
|
|
"KeyFile": "f6",
|
|
"LargeAddressAware": "true",
|
|
"LinkErrorReporting": "QueueForNextLogin",
|
|
"LinkTimeCodeGeneration": "UseLinkTimeCodeGeneration",
|
|
"ManifestFile": "$(IntDir)$(TargetFileName).2intermediate.manifest",
|
|
"MapExports": "true",
|
|
"MapFileName": "d5",
|
|
"MergedIDLBaseFileName": "f2",
|
|
"MergeSections": "f5",
|
|
"MidlCommandFile": "f1",
|
|
"ModuleDefinitionFile": "sdsd",
|
|
"NoEntryPoint": "true",
|
|
"OptimizeReferences": "true",
|
|
"OutputFile": "$(OutDir)$(ProjectName)2.exe",
|
|
"PerUserRedirection": "true",
|
|
"Profile": "true",
|
|
"ProfileGuidedDatabase": "$(TargetDir)$(TargetName).pgdd",
|
|
"ProgramDatabaseFile": "Flob.pdb",
|
|
"RandomizedBaseAddress": "false",
|
|
"RegisterOutput": "true",
|
|
"SetChecksum": "false",
|
|
"ShowProgress": "LinkVerbose",
|
|
"StackCommitSize": "15",
|
|
"StackReserveSize": "14",
|
|
"StripPrivateSymbols": "d3",
|
|
"SubSystem": "Console",
|
|
"SupportUnloadOfDelayLoadedDLL": "true",
|
|
"SuppressStartupBanner": "false",
|
|
"SwapRunFromCD": "true",
|
|
"SwapRunFromNET": "true",
|
|
"TargetMachine": "MachineX86",
|
|
"TerminalServerAware": "false",
|
|
"TurnOffAssemblyGeneration": "true",
|
|
"TypeLibraryFile": "f3",
|
|
"TypeLibraryResourceID": "12",
|
|
"UACExecutionLevel": "RequireAdministrator",
|
|
"UACUIAccess": "true",
|
|
"Version": "333",
|
|
},
|
|
"ResourceCompile": {
|
|
"AdditionalIncludeDirectories": "f3",
|
|
"AdditionalOptions": "/more3",
|
|
"Culture": "0x0c0c",
|
|
"IgnoreStandardIncludePath": "true",
|
|
"PreprocessorDefinitions": "_UNICODE;UNICODE2",
|
|
"ResourceOutputFileName": "$(IntDir)%(Filename)3.res",
|
|
"ShowProgress": "true",
|
|
},
|
|
"Manifest": {
|
|
"AdditionalManifestFiles": "sfsdfsd",
|
|
"AdditionalOptions": "afdsdafsd",
|
|
"AssemblyIdentity": "sddfdsadfsa",
|
|
"ComponentFileName": "fsdfds",
|
|
"GenerateCatalogFiles": "true",
|
|
"InputResourceManifests": "asfsfdafs",
|
|
"OutputManifestFile": "$(TargetPath).manifestdfs",
|
|
"RegistrarScriptFile": "sdfsfd",
|
|
"ReplacementsFile": "sdffsd",
|
|
"SuppressStartupBanner": "false",
|
|
"TypeLibraryFile": "sfsd",
|
|
"UpdateFileHashes": "true",
|
|
"UpdateFileHashesSearchPath": "sfsd",
|
|
"VerboseOutput": "true",
|
|
},
|
|
"ProjectReference": {
|
|
"LinkLibraryDependencies": "false",
|
|
"UseLibraryDependencyInputs": "true",
|
|
},
|
|
"": {
|
|
"EmbedManifest": "false",
|
|
"GenerateManifest": "false",
|
|
"IgnoreImportLibrary": "true",
|
|
"LinkIncremental": "",
|
|
},
|
|
"ManifestResourceCompile": {
|
|
"ResourceOutputFileName":
|
|
"$(IntDir)$(TargetFileName).embed.manifest.resfdsf"
|
|
},
|
|
}
|
|
self.maxDiff = 9999 # on failure display a long diff
|
|
actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings(
|
|
msvs_settings, self.stderr
|
|
)
|
|
self.assertEqual(expected_msbuild_settings, actual_msbuild_settings)
|
|
self._ExpectedWarnings([])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|