From 5e9901d7be4953333b0f2c3a25e8eb484d5673d6 Mon Sep 17 00:00:00 2001 From: chris_bednarski Date: Sat, 22 Jul 2023 09:01:55 +1000 Subject: Multiple extension support in unit tests --- src/internal/WixInternal.TestSupport/Builder.cs | 35 +++++++++++++++------- .../DependencyExtensionFixture.cs | 3 +- .../SoftwareTagFixture.cs | 3 +- .../UpgradeFixture.cs | 3 +- 4 files changed, 31 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/internal/WixInternal.TestSupport/Builder.cs b/src/internal/WixInternal.TestSupport/Builder.cs index 78804826..51b7bb0a 100644 --- a/src/internal/WixInternal.TestSupport/Builder.cs +++ b/src/internal/WixInternal.TestSupport/Builder.cs @@ -11,14 +11,29 @@ namespace WixInternal.TestSupport public Builder(string sourceFolder, Type extensionType = null, string[] bindPaths = null, string outputFile = null) { this.SourceFolder = sourceFolder; - this.ExtensionType = extensionType; + if (extensionType != null) + { + this.ExtensionTypes = new Type[] { extensionType }; + } + else + { + this.ExtensionTypes = new Type[] { }; + } + this.BindPaths = bindPaths; + this.OutputFile = outputFile ?? "test.msi"; + } + + public Builder(string sourceFolder, Type[] extensionTypes, string[] bindPaths = null, string outputFile = null) + { + this.SourceFolder = sourceFolder; + this.ExtensionTypes = extensionTypes; this.BindPaths = bindPaths; this.OutputFile = outputFile ?? "test.msi"; } public string[] BindPaths { get; set; } - public Type ExtensionType { get; set; } + public Type[] ExtensionTypes { get; set; } public string OutputFile { get; set; } @@ -46,10 +61,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", intermediateFolder, }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { args.Add("-ext"); - args.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + args.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } args.AddRange(sourceFiles); @@ -108,10 +123,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", intermediateFolder, }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { firstBuildArgs.Add("-ext"); - firstBuildArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + firstBuildArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } firstBuildArgs.AddRange(sourceFiles); @@ -140,10 +155,10 @@ namespace WixInternal.TestSupport "-o", decompilePath }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { decompileArgs.Add("-ext"); - decompileArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + decompileArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } decompileFunc(decompileArgs.ToArray()); @@ -157,10 +172,10 @@ namespace WixInternal.TestSupport "-intermediateFolder", decompileIntermediateFolder }; - if (this.ExtensionType != null) + foreach (var ext in this.ExtensionTypes) { secondBuildArgs.Add("-ext"); - secondBuildArgs.Add(Path.GetFullPath(new Uri(this.ExtensionType.Assembly.CodeBase).LocalPath)); + secondBuildArgs.Add(Path.GetFullPath(new Uri(ext.Assembly.CodeBase).LocalPath)); } secondBuildArgs.Add("-bindpath"); diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs index 915e1594..2d774a70 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs @@ -2,6 +2,7 @@ namespace WixToolsetTest.CoreIntegration { + using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -152,7 +153,7 @@ namespace WixToolsetTest.CoreIntegration public void CanBuildPackageUsingProvides() { var folder = TestData.Get(@"TestData\UsingProvides"); - var build = new Builder(folder, null, new[] { folder }); + var build = new Builder(folder, new Type[] { }, new[] { folder }); var results = build.BuildAndQuery(Build, "Wix4DependencyProvider"); WixAssert.CompareLineByLine(new[] diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/SoftwareTagFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/SoftwareTagFixture.cs index a98e4683..4f297b7e 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/SoftwareTagFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/SoftwareTagFixture.cs @@ -2,6 +2,7 @@ namespace WixToolsetTest.CoreIntegration { + using System; using System.IO; using System.Linq; using System.Xml.Linq; @@ -19,7 +20,7 @@ namespace WixToolsetTest.CoreIntegration public void CanBuildPackageWithTag() { var folder = TestData.Get(@"TestData\ProductTag"); - var build = new Builder(folder, null, new[] { folder }); + var build = new Builder(folder, new Type[] { }, new[] { folder }); var results = build.BuildAndQuery(Build, "File", "SoftwareIdentificationTag"); diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs index 7d0883f8..3d2aa722 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs @@ -2,6 +2,7 @@ namespace WixToolsetTest.CoreIntegration { + using System; using System.IO; using System.Linq; using WixInternal.TestSupport; @@ -45,7 +46,7 @@ namespace WixToolsetTest.CoreIntegration public void MajorUpgradeDowngradeMessagePopulatesRowsAsExpected() { var folder = TestData.Get("TestData", "Upgrade"); - var build = new Builder(folder, null, new[] { folder }); + var build = new Builder(folder, new Type[] { }, new[] { folder }); var results = build.BuildAndQuery(Build, "Upgrade", "LaunchCondition"); WixAssert.CompareLineByLine(new[] -- cgit v1.2.3-55-g6feb