diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-07-15 16:47:24 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-07-16 16:40:52 +1000 |
| commit | 64deb692cd9f690e3ce5560530fe93d7f0e3cd67 (patch) | |
| tree | 9be14c60e213a6e045fb8c0a303b63e65aeaa118 /src | |
| parent | 1d77b037520a804a1d8f586faad86619b291a1a9 (diff) | |
| download | wix-64deb692cd9f690e3ce5560530fe93d7f0e3cd67.tar.gz wix-64deb692cd9f690e3ce5560530fe93d7f0e3cd67.tar.bz2 wix-64deb692cd9f690e3ce5560530fe93d7f0e3cd67.zip | |
Add WixBuildTools.TestSupport.Native.
Diffstat (limited to 'src')
10 files changed, 369 insertions, 0 deletions
diff --git a/src/Cpp.Build.props b/src/Cpp.Build.props new file mode 100644 index 00000000..44a042c7 --- /dev/null +++ b/src/Cpp.Build.props | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
| 3 | |||
| 4 | <Project> | ||
| 5 | <PropertyGroup> | ||
| 6 | <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform> | ||
| 7 | <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir> | ||
| 8 | <OutDir>$(OutputPath)$(Platform)\</OutDir> | ||
| 9 | </PropertyGroup> | ||
| 10 | |||
| 11 | <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'"> | ||
| 12 | <WindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</WindowsTargetPlatformVersion> | ||
| 13 | </PropertyGroup> | ||
| 14 | |||
| 15 | <ItemDefinitionGroup> | ||
| 16 | <ClCompile> | ||
| 17 | <DisableSpecificWarnings>$(DisableSpecificCompilerWarnings)</DisableSpecificWarnings> | ||
| 18 | <WarningLevel>Level4</WarningLevel> | ||
| 19 | <AdditionalIncludeDirectories>$(ProjectDir)inc;$(MSBuildProjectDirectory);$(IntDir);$(SqlCESdkIncludePath);$(ProjectAdditionalIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
| 20 | <PreprocessorDefinitions>WIN32;_WINDOWS;_WIN32_MSI=500;_WIN32_WINNT=0x0501;$(ArmPreprocessorDefinitions);$(UnicodePreprocessorDefinitions);_CRT_STDIO_LEGACY_WIDE_SPECIFIERS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
| 21 | <PrecompiledHeader>Use</PrecompiledHeader> | ||
| 22 | <PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile> | ||
| 23 | <CallingConvention Condition="'$(Platform)'=='Win32'">StdCall</CallingConvention> | ||
| 24 | <TreatWarningAsError>true</TreatWarningAsError> | ||
| 25 | <ExceptionHandling>false</ExceptionHandling> | ||
| 26 | <AdditionalOptions>-YlprecompDefine</AdditionalOptions> | ||
| 27 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions> | ||
| 28 | <MultiProcessorCompilation Condition=" $(NUMBER_OF_PROCESSORS) > 4 ">true</MultiProcessorCompilation> | ||
| 29 | </ClCompile> | ||
| 30 | <ResourceCompile> | ||
| 31 | <PreprocessorDefinitions>$(ArmPreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
| 32 | <AdditionalIncludeDirectories>$(ProjectAdditionalResourceIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
| 33 | </ResourceCompile> | ||
| 34 | <Lib> | ||
| 35 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ProjectAdditionalLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
| 36 | </Lib> | ||
| 37 | <Link> | ||
| 38 | <SubSystem>$(ProjectSubSystem)</SubSystem> | ||
| 39 | <ModuleDefinitionFile>$(ProjectModuleDefinitionFile)</ModuleDefinitionFile> | ||
| 40 | <NoEntryPoint>$(ResourceOnlyDll)</NoEntryPoint> | ||
| 41 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
| 42 | <AdditionalDependencies>$(ProjectAdditionalLinkLibraries);advapi32.lib;comdlg32.lib;user32.lib;oleaut32.lib;gdi32.lib;shell32.lib;ole32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
| 43 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ArmLibraryDirectories);$(ProjectAdditionalLinkLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
| 44 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/IGNORE:4099 %(AdditionalOptions)</AdditionalOptions> | ||
| 45 | </Link> | ||
| 46 | </ItemDefinitionGroup> | ||
| 47 | |||
| 48 | <ItemDefinitionGroup Condition=" '$(Platform)'=='Win32' and '$(PlatformToolset)'!='v100'"> | ||
| 49 | <ClCompile> | ||
| 50 | <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> | ||
| 51 | </ClCompile> | ||
| 52 | </ItemDefinitionGroup> | ||
| 53 | <ItemDefinitionGroup Condition=" '$(Platform)'=='arm' "> | ||
| 54 | <ClCompile> | ||
| 55 | <CallingConvention>CDecl</CallingConvention> | ||
| 56 | </ClCompile> | ||
| 57 | </ItemDefinitionGroup> | ||
| 58 | <ItemDefinitionGroup Condition=" '$(ConfigurationType)'=='StaticLibrary' "> | ||
| 59 | <ClCompile> | ||
| 60 | <DebugInformationFormat>OldStyle</DebugInformationFormat> | ||
| 61 | <OmitDefaultLibName>true</OmitDefaultLibName> | ||
| 62 | <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> | ||
| 63 | </ClCompile> | ||
| 64 | </ItemDefinitionGroup> | ||
| 65 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' "> | ||
| 66 | <ClCompile> | ||
| 67 | <Optimization>Disabled</Optimization> | ||
| 68 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||
| 69 | <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
| 70 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||
| 71 | </ClCompile> | ||
| 72 | </ItemDefinitionGroup> | ||
| 73 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' "> | ||
| 74 | <ClCompile> | ||
| 75 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
| 76 | <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary> | ||
| 77 | </ClCompile> | ||
| 78 | </ItemDefinitionGroup> | ||
| 79 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' "> | ||
| 80 | <ClCompile> | ||
| 81 | <Optimization>MinSpace</Optimization> | ||
| 82 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
| 83 | <FunctionLevelLinking>true</FunctionLevelLinking> | ||
| 84 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
| 85 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||
| 86 | </ClCompile> | ||
| 87 | <Link> | ||
| 88 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
| 89 | <OptimizeReferences>true</OptimizeReferences> | ||
| 90 | </Link> | ||
| 91 | </ItemDefinitionGroup> | ||
| 92 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' "> | ||
| 93 | <ClCompile> | ||
| 94 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
| 95 | <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary> | ||
| 96 | </ClCompile> | ||
| 97 | </ItemDefinitionGroup> | ||
| 98 | <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' "> | ||
| 99 | <Link> | ||
| 100 | <KeyFile>$(LinkKeyFile)</KeyFile> | ||
| 101 | <DelaySign>$(LinkDelaySign)</DelaySign> | ||
| 102 | </Link> | ||
| 103 | </ItemDefinitionGroup> | ||
| 104 | </Project> | ||
diff --git a/src/WixBuildTools.TestSupport.Native/AssemblyInfo.cpp b/src/WixBuildTools.TestSupport.Native/AssemblyInfo.cpp new file mode 100644 index 00000000..23a48993 --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/AssemblyInfo.cpp | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 2 | |||
| 3 | #include "precomp.h" | ||
| 4 | |||
| 5 | using namespace System::Reflection; | ||
| 6 | using namespace System::Runtime::CompilerServices; | ||
| 7 | using namespace System::Runtime::InteropServices; | ||
| 8 | |||
| 9 | // | ||
| 10 | // General Information about an assembly is controlled through the following | ||
| 11 | // set of attributes. Change these attribute values to modify the information | ||
| 12 | // associated with an assembly. | ||
| 13 | // | ||
| 14 | [assembly: AssemblyTitleAttribute("WixBuildTools.TestSupport.Native")]; | ||
| 15 | [assembly: AssemblyDescriptionAttribute("")]; | ||
| 16 | [assembly: AssemblyCultureAttribute("")]; | ||
| 17 | [assembly: ComVisible(false)]; | ||
diff --git a/src/WixBuildTools.TestSupport.Native/NativeAssert.h b/src/WixBuildTools.TestSupport.Native/NativeAssert.h new file mode 100644 index 00000000..34af4f34 --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/NativeAssert.h | |||
| @@ -0,0 +1,85 @@ | |||
| 1 | #pragma once | ||
| 2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 3 | |||
| 4 | |||
| 5 | namespace WixBuildTools { | ||
| 6 | namespace TestSupport { | ||
| 7 | |||
| 8 | using namespace System; | ||
| 9 | using namespace System::Collections::Generic; | ||
| 10 | using namespace System::Linq; | ||
| 11 | using namespace Xunit; | ||
| 12 | |||
| 13 | public ref class NativeAssert : WixAssert | ||
| 14 | { | ||
| 15 | public: | ||
| 16 | static void NotNull(LPCWSTR wz) | ||
| 17 | { | ||
| 18 | if (!wz) | ||
| 19 | { | ||
| 20 | Assert::NotNull(nullptr); | ||
| 21 | } | ||
| 22 | } | ||
| 23 | |||
| 24 | // For some reason, naming these NotStringEqual methods "NotEqual" breaks Intellisense in files that call any overload of the NotEqual method. | ||
| 25 | static void NotStringEqual(LPCWSTR expected, LPCWSTR actual) | ||
| 26 | { | ||
| 27 | NativeAssert::NotStringEqual(expected, actual, FALSE); | ||
| 28 | } | ||
| 29 | |||
| 30 | static void NotStringEqual(LPCWSTR expected, LPCWSTR actual, BOOL ignoreCase) | ||
| 31 | { | ||
| 32 | IEqualityComparer<String^>^ comparer = ignoreCase ? StringComparer::InvariantCultureIgnoreCase : StringComparer::InvariantCulture; | ||
| 33 | Assert::NotEqual(NativeAssert::LPWSTRToString(expected), NativeAssert::LPWSTRToString(actual), comparer); | ||
| 34 | } | ||
| 35 | |||
| 36 | // For some reason, naming these StringEqual methods "Equal" breaks Intellisense in files that call any overload of the Equal method. | ||
| 37 | static void StringEqual(LPCWSTR expected, LPCWSTR actual) | ||
| 38 | { | ||
| 39 | NativeAssert::StringEqual(expected, actual, FALSE); | ||
| 40 | } | ||
| 41 | |||
| 42 | static void StringEqual(LPCWSTR expected, LPCWSTR actual, BOOL ignoreCase) | ||
| 43 | { | ||
| 44 | IEqualityComparer<String^>^ comparer = ignoreCase ? StringComparer::InvariantCultureIgnoreCase : StringComparer::InvariantCulture; | ||
| 45 | Assert::Equal(NativeAssert::LPWSTRToString(expected), NativeAssert::LPWSTRToString(actual), comparer); | ||
| 46 | } | ||
| 47 | |||
| 48 | static void Succeeded(HRESULT hr, LPCSTR zFormat, LPCSTR zArg, ... array<LPCSTR>^ zArgs) | ||
| 49 | { | ||
| 50 | array<Object^>^ formatArgs = gcnew array<Object^, 1>(zArgs->Length + 1); | ||
| 51 | formatArgs[0] = NativeAssert::LPSTRToString(zArg); | ||
| 52 | for (int i = 0; i < zArgs->Length; ++i) | ||
| 53 | { | ||
| 54 | formatArgs[i + 1] = NativeAssert::LPSTRToString(zArgs[i]); | ||
| 55 | } | ||
| 56 | WixAssert::Succeeded(hr, gcnew String(zFormat), formatArgs); | ||
| 57 | } | ||
| 58 | |||
| 59 | static void Succeeded(HRESULT hr, LPCSTR zFormat, ... array<LPCWSTR>^ wzArgs) | ||
| 60 | { | ||
| 61 | array<Object^>^ formatArgs = gcnew array<Object^, 1>(wzArgs->Length); | ||
| 62 | for (int i = 0; i < wzArgs->Length; ++i) | ||
| 63 | { | ||
| 64 | formatArgs[i] = NativeAssert::LPWSTRToString(wzArgs[i]); | ||
| 65 | } | ||
| 66 | WixAssert::Succeeded(hr, gcnew String(zFormat), formatArgs); | ||
| 67 | } | ||
| 68 | |||
| 69 | static void ValidReturnCode(HRESULT hr, ... array<HRESULT>^ validReturnCodes) | ||
| 70 | { | ||
| 71 | Assert::Contains(hr, (IEnumerable<HRESULT>^)validReturnCodes); | ||
| 72 | } | ||
| 73 | |||
| 74 | private: | ||
| 75 | static String^ LPSTRToString(LPCSTR z) | ||
| 76 | { | ||
| 77 | return z ? gcnew String(z) : nullptr; | ||
| 78 | } | ||
| 79 | static String^ LPWSTRToString(LPCWSTR wz) | ||
| 80 | { | ||
| 81 | return wz ? gcnew String(wz) : nullptr; | ||
| 82 | } | ||
| 83 | }; | ||
| 84 | } | ||
| 85 | } | ||
diff --git a/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj b/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj new file mode 100644 index 00000000..9f58a0bd --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
| 3 | |||
| 4 | |||
| 5 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 6 | <Import Project="build\WixBuildTools.TestSupport.Native.props" /> | ||
| 7 | <ItemGroup Label="ProjectConfigurations"> | ||
| 8 | <ProjectConfiguration Include="Debug|Win32"> | ||
| 9 | <Configuration>Debug</Configuration> | ||
| 10 | <Platform>Win32</Platform> | ||
| 11 | </ProjectConfiguration> | ||
| 12 | <ProjectConfiguration Include="Release|Win32"> | ||
| 13 | <Configuration>Release</Configuration> | ||
| 14 | <Platform>Win32</Platform> | ||
| 15 | </ProjectConfiguration> | ||
| 16 | </ItemGroup> | ||
| 17 | <PropertyGroup Label="Globals"> | ||
| 18 | <ProjectTypes>{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes> | ||
| 19 | <ProjectGuid>{95BABD97-FBDB-453A-AF8A-FA031A07B599}</ProjectGuid> | ||
| 20 | <RootNamespace>WixBuildTools::TestSupport</RootNamespace> | ||
| 21 | <Keyword>ManagedCProj</Keyword> | ||
| 22 | <ConfigurationType>DynamicLibrary</ConfigurationType> | ||
| 23 | <CharacterSet>Unicode</CharacterSet> | ||
| 24 | <CLRSupport>true</CLRSupport> | ||
| 25 | </PropertyGroup> | ||
| 26 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||
| 27 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||
| 28 | <PropertyGroup> | ||
| 29 | <ProjectAdditionalIncludeDirectories> | ||
| 30 | </ProjectAdditionalIncludeDirectories> | ||
| 31 | <ProjectAdditionalLinkLibraries> | ||
| 32 | </ProjectAdditionalLinkLibraries> | ||
| 33 | </PropertyGroup> | ||
| 34 | <ItemGroup> | ||
| 35 | <ClCompile Include="AssemblyInfo.cpp" /> | ||
| 36 | <ClCompile Include="precomp.cpp"> | ||
| 37 | <PrecompiledHeader>Create</PrecompiledHeader> | ||
| 38 | <!-- Warnings from NativeAssert.h from referencing netstandard dlls --> | ||
| 39 | <DisableSpecificWarnings>4564;4691</DisableSpecificWarnings> | ||
| 40 | </ClCompile> | ||
| 41 | </ItemGroup> | ||
| 42 | <ItemGroup> | ||
| 43 | <ClInclude Include="precomp.h" /> | ||
| 44 | <ClInclude Include="NativeAssert.h" /> | ||
| 45 | </ItemGroup> | ||
| 46 | <ItemGroup> | ||
| 47 | <None Include="packages.config" /> | ||
| 48 | </ItemGroup> | ||
| 49 | <ItemGroup> | ||
| 50 | <Reference Include="System" /> | ||
| 51 | <Reference Include="System.Core" /> | ||
| 52 | </ItemGroup> | ||
| 53 | <ItemGroup> | ||
| 54 | <ProjectReference Include="..\WixBuildTools.TestSupport\WixBuildTools.TestSupport.csproj"> | ||
| 55 | <Project>{6C57EF2C-979A-4106-A9E5-FE342810619A}</Project> | ||
| 56 | </ProjectReference> | ||
| 57 | </ItemGroup> | ||
| 58 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||
| 59 | <Import Project="build\WixBuildTools.TestSupport.Native.targets" /> | ||
| 60 | </Project> \ No newline at end of file | ||
diff --git a/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj.filters b/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj.filters new file mode 100644 index 00000000..34c1380f --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/WixBuildTools.TestSupport.Native.vcxproj.filters | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 3 | <ItemGroup> | ||
| 4 | <Filter Include="Source Files"> | ||
| 5 | <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||
| 6 | <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||
| 7 | </Filter> | ||
| 8 | <Filter Include="Header Files"> | ||
| 9 | <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||
| 10 | <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||
| 11 | </Filter> | ||
| 12 | <Filter Include="Resource Files"> | ||
| 13 | <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||
| 14 | <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||
| 15 | </Filter> | ||
| 16 | </ItemGroup> | ||
| 17 | <ItemGroup> | ||
| 18 | <ClInclude Include="precomp.h"> | ||
| 19 | <Filter>Header Files</Filter> | ||
| 20 | </ClInclude> | ||
| 21 | <ClInclude Include="NativeAssert.h"> | ||
| 22 | <Filter>Header Files</Filter> | ||
| 23 | </ClInclude> | ||
| 24 | </ItemGroup> | ||
| 25 | <ItemGroup> | ||
| 26 | <ClCompile Include="AssemblyInfo.cpp"> | ||
| 27 | <Filter>Source Files</Filter> | ||
| 28 | </ClCompile> | ||
| 29 | <ClCompile Include="precomp.cpp"> | ||
| 30 | <Filter>Source Files</Filter> | ||
| 31 | </ClCompile> | ||
| 32 | </ItemGroup> | ||
| 33 | </Project> \ No newline at end of file | ||
diff --git a/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.props b/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.props new file mode 100644 index 00000000..4a7a0035 --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.props | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
| 3 | |||
| 4 | |||
| 5 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 6 | <PropertyGroup> | ||
| 7 | <RepoRootDir Condition=" '$(RepoRootDir)' == '' ">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), version.json))</RepoRootDir> | ||
| 8 | </PropertyGroup> | ||
| 9 | <Import Project="$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.props" Condition="Exists('$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.props')" /> | ||
| 10 | <Import Project="$(RepoRootDir)\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props" Condition="Exists('$(RepoRootDir)\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props')" /> | ||
| 11 | <PropertyGroup> | ||
| 12 | <PlatformToolset>v142</PlatformToolset> | ||
| 13 | <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> | ||
| 14 | </PropertyGroup> | ||
| 15 | <ItemGroup> | ||
| 16 | <Reference Include="xunit.abstractions"> | ||
| 17 | <HintPath>$(RepoRootDir)\packages\xunit.abstractions.2.0.3\lib\netstandard2.0\xunit.abstractions.dll</HintPath> | ||
| 18 | </Reference> | ||
| 19 | <Reference Include="xunit.assert"> | ||
| 20 | <HintPath>$(RepoRootDir)\packages\xunit.assert.2.4.1\lib\netstandard1.1\xunit.assert.dll</HintPath> | ||
| 21 | </Reference> | ||
| 22 | <Reference Include="xunit.core"> | ||
| 23 | <HintPath>$(RepoRootDir)\packages\xunit.extensibility.core.2.4.1\lib\netstandard1.1\xunit.core.dll</HintPath> | ||
| 24 | </Reference> | ||
| 25 | <Reference Include="xunit.execution.desktop"> | ||
| 26 | <HintPath>$(RepoRootDir)\packages\xunit.extensibility.execution.2.4.1\lib\net452\xunit.execution.desktop.dll</HintPath> | ||
| 27 | </Reference> | ||
| 28 | </ItemGroup> | ||
| 29 | </Project> \ No newline at end of file | ||
diff --git a/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets b/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets new file mode 100644 index 00000000..09746229 --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
| 3 | |||
| 4 | |||
| 5 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 6 | <Import Project="$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.targets" Condition="Exists('$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.targets')" /> | ||
| 7 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||
| 8 | <PropertyGroup> | ||
| 9 | <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | ||
| 10 | </PropertyGroup> | ||
| 11 | <Error Condition="!Exists('$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.props'))" /> | ||
| 12 | <Error Condition="!Exists('$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(RepoRootDir)\packages\xunit.core.2.4.1\build\xunit.core.targets'))" /> | ||
| 13 | <Error Condition="!Exists('$(RepoRootDir)\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '$(RepoRootDir)\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props'))" /> | ||
| 14 | </Target> | ||
| 15 | </Project> \ No newline at end of file | ||
diff --git a/src/WixBuildTools.TestSupport.Native/packages.config b/src/WixBuildTools.TestSupport.Native/packages.config new file mode 100644 index 00000000..b62d37e6 --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/packages.config | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
| 3 | |||
| 4 | |||
| 5 | <packages> | ||
| 6 | <package id="xunit.abstractions" version="2.0.3" /> | ||
| 7 | <package id="xunit.assert" version="2.4.1" /> | ||
| 8 | <package id="xunit.core" version="2.4.1" /> | ||
| 9 | <package id="xunit.extensibility.core" version="2.4.1" /> | ||
| 10 | <package id="xunit.extensibility.execution" version="2.4.1" /> | ||
| 11 | <package id="xunit.runner.visualstudio" version="2.4.1" /> | ||
| 12 | </packages> | ||
diff --git a/src/WixBuildTools.TestSupport.Native/precomp.cpp b/src/WixBuildTools.TestSupport.Native/precomp.cpp new file mode 100644 index 00000000..37664a1c --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/precomp.cpp | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 2 | |||
| 3 | #include "precomp.h" | ||
diff --git a/src/WixBuildTools.TestSupport.Native/precomp.h b/src/WixBuildTools.TestSupport.Native/precomp.h new file mode 100644 index 00000000..f54b55be --- /dev/null +++ b/src/WixBuildTools.TestSupport.Native/precomp.h | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | #pragma once | ||
| 2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 3 | |||
| 4 | |||
| 5 | #include <windows.h> | ||
| 6 | #include <strsafe.h> | ||
| 7 | |||
| 8 | #include "NativeAssert.h" | ||
| 9 | |||
| 10 | #pragma managed | ||
| 11 | #include <vcclr.h> | ||
