From ba0069bf9572d26a9deac77bac3613bc2f96e01a Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sat, 30 May 2020 23:01:11 +1000 Subject: Provide x86 and x64 versions of net461 build tasks. --- src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs | 68 ++++++++++++++++++++++ .../MergeMsiPackage/MergeMsiPackage.wixproj | 44 ++++++++++++++ .../MergeModule/MergeMsiPackage/Package.wxs | 22 +++++++ .../MergeModule/SimpleMergeModule/MergeModule.wxs | 22 +++++++ .../SimpleMergeModule/SimpleMergeModule.wixproj | 42 +++++++++++++ .../SimpleMergeModule/data/MergeModule.txt | 1 + .../WixToolsetTest.MSBuild.csproj | 5 ++ 7 files changed, 204 insertions(+) create mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj create mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs create mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs create mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj create mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt (limited to 'src/test') diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs index 3515b314..cd9ef9fc 100644 --- a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs +++ b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs @@ -46,6 +46,41 @@ namespace WixToolsetTest.MSBuild } } + [Theory] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMergeModule(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\MergeModule\SimpleMergeModule"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "SimpleMergeModule.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var platformSwitches = result.Output.Where(line => line.TrimStart().StartsWith("wix.exe build -platform x86")); + Assert.Single(platformSwitches); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Debug\SimpleMergeModule.msm", + @"bin\x86\Debug\SimpleMergeModule.wixpdb", + }, paths); + } + } + [Theory] [InlineData(BuildSystem.MSBuild)] [InlineData(BuildSystem.MSBuild64)] @@ -82,6 +117,39 @@ namespace WixToolsetTest.MSBuild } } + [Theory] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMsiPackageWithMergeModule(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\MergeModule"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = Path.Combine(fs.BaseFolder, "MergeMsiPackage"); + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MergeMsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Debug\cab1.cab", + @"bin\x86\Debug\MergeMsiPackage.msi", + @"bin\x86\Debug\MergeMsiPackage.wixpdb", + }, paths); + } + } + [Theory] [InlineData(BuildSystem.MSBuild)] [InlineData(BuildSystem.MSBuild64)] diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj new file mode 100644 index 00000000..77ee4420 --- /dev/null +++ b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj @@ -0,0 +1,44 @@ + + + + + Debug + x86 + + + + {B00939D5-7952-4ADF-BEB1-507D227B2FE2} + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + SimpleMergeModule + {9F84998B-7F45-4CB3-8795-915801DBBB74} + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs new file mode 100644 index 00000000..1c25e684 --- /dev/null +++ b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs new file mode 100644 index 00000000..b9ab953a --- /dev/null +++ b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj new file mode 100644 index 00000000..91579790 --- /dev/null +++ b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj @@ -0,0 +1,42 @@ + + + + + Debug + x86 + Module + + + + {9F84998B-7F45-4CB3-8795-915801DBBB74} + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj b/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj index bb109557..916300af 100644 --- a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj +++ b/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj @@ -15,6 +15,11 @@ + + + + + -- cgit v1.2.3-55-g6feb