diff options
Diffstat (limited to '')
-rw-r--r-- | src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs index f8bc3fda..61efad47 100644 --- a/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs +++ b/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs | |||
@@ -5,12 +5,13 @@ namespace WixToolsetTest.Sdk | |||
5 | using System; | 5 | using System; |
6 | using System.IO; | 6 | using System.IO; |
7 | using System.Linq; | 7 | using System.Linq; |
8 | using WixInternal.TestSupport; | 8 | using Microsoft.VisualStudio.TestTools.UnitTesting; |
9 | using WixInternal.Core.TestPackage; | 9 | using WixInternal.MSTestSupport; |
10 | using WixInternal.Core.MSTestPackage; | ||
10 | using WixToolset.Data; | 11 | using WixToolset.Data; |
11 | using WixToolset.Data.Symbols; | 12 | using WixToolset.Data.Symbols; |
12 | using Xunit; | ||
13 | 13 | ||
14 | [TestClass] | ||
14 | public class MsbuildHeatFixture | 15 | public class MsbuildHeatFixture |
15 | { | 16 | { |
16 | public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets"); | 17 | public static readonly string HeatTargetsPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildHeatFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Heat", "build", "WixToolset.Heat.targets"); |
@@ -20,10 +21,10 @@ namespace WixToolsetTest.Sdk | |||
20 | EnsureWixSdkCached(); | 21 | EnsureWixSdkCached(); |
21 | } | 22 | } |
22 | 23 | ||
23 | [Theory] | 24 | [TestMethod] |
24 | [InlineData(BuildSystem.DotNetCoreSdk)] | 25 | [DataRow(BuildSystem.DotNetCoreSdk)] |
25 | [InlineData(BuildSystem.MSBuild)] | 26 | [DataRow(BuildSystem.MSBuild)] |
26 | [InlineData(BuildSystem.MSBuild64)] | 27 | [DataRow(BuildSystem.MSBuild64)] |
27 | public void CanBuildHeatFilePackage(BuildSystem buildSystem) | 28 | public void CanBuildHeatFilePackage(BuildSystem buildSystem) |
28 | { | 29 | { |
29 | var sourceFolder = TestData.Get("TestData", "HeatFilePackage"); | 30 | var sourceFolder = TestData.Get("TestData", "HeatFilePackage"); |
@@ -44,10 +45,10 @@ namespace WixToolsetTest.Sdk | |||
44 | result.AssertSuccess(); | 45 | result.AssertSuccess(); |
45 | 46 | ||
46 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem); | 47 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem); |
47 | Assert.Single(heatCommandLines); | 48 | WixAssert.Single(heatCommandLines); |
48 | 49 | ||
49 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 50 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
50 | Assert.All(warnings, warning => warning.Contains("warning HEAT5149")); | 51 | WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149")); |
51 | 52 | ||
52 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); | 53 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); |
53 | var generatedContents = File.ReadAllText(generatedFilePath); | 54 | var generatedContents = File.ReadAllText(generatedFilePath); |
@@ -76,10 +77,10 @@ namespace WixToolsetTest.Sdk | |||
76 | } | 77 | } |
77 | } | 78 | } |
78 | 79 | ||
79 | [Theory] | 80 | [TestMethod] |
80 | [InlineData(BuildSystem.DotNetCoreSdk)] | 81 | [DataRow(BuildSystem.DotNetCoreSdk)] |
81 | [InlineData(BuildSystem.MSBuild)] | 82 | [DataRow(BuildSystem.MSBuild)] |
82 | [InlineData(BuildSystem.MSBuild64)] | 83 | [DataRow(BuildSystem.MSBuild64)] |
83 | public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) | 84 | public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) |
84 | { | 85 | { |
85 | var sourceFolder = TestData.Get(@"TestData", "HeatFileMultipleFilesSameFileName"); | 86 | var sourceFolder = TestData.Get(@"TestData", "HeatFileMultipleFilesSameFileName"); |
@@ -100,13 +101,13 @@ namespace WixToolsetTest.Sdk | |||
100 | result.AssertSuccess(); | 101 | result.AssertSuccess(); |
101 | 102 | ||
102 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem); | 103 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem); |
103 | Assert.Equal(2, heatCommandLines.Count()); | 104 | Assert.AreEqual(2, heatCommandLines.Count()); |
104 | 105 | ||
105 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 106 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
106 | Assert.All(warnings, warning => warning.Contains("warning HEAT5149")); | 107 | WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149")); |
107 | 108 | ||
108 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); | 109 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); |
109 | Assert.True(File.Exists(generatedFilePath)); | 110 | Assert.IsTrue(File.Exists(generatedFilePath)); |
110 | 111 | ||
111 | var generatedContents = File.ReadAllText(generatedFilePath); | 112 | var generatedContents = File.ReadAllText(generatedFilePath); |
112 | var testXml = generatedContents.GetTestXml(); | 113 | var testXml = generatedContents.GetTestXml(); |
@@ -126,7 +127,7 @@ namespace WixToolsetTest.Sdk | |||
126 | "</Wix>", testXml); | 127 | "</Wix>", testXml); |
127 | 128 | ||
128 | generatedFilePath = Path.Combine(intermediateFolder, "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); | 129 | generatedFilePath = Path.Combine(intermediateFolder, "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); |
129 | Assert.True(File.Exists(generatedFilePath)); | 130 | Assert.IsTrue(File.Exists(generatedFilePath)); |
130 | 131 | ||
131 | generatedContents = File.ReadAllText(generatedFilePath); | 132 | generatedContents = File.ReadAllText(generatedFilePath); |
132 | testXml = generatedContents.GetTestXml(); | 133 | testXml = generatedContents.GetTestXml(); |
@@ -146,7 +147,7 @@ namespace WixToolsetTest.Sdk | |||
146 | "</Wix>", testXml); | 147 | "</Wix>", testXml); |
147 | 148 | ||
148 | var pdbPath = Path.Combine(binFolder, "HeatFileMultipleFilesSameFileName.wixpdb"); | 149 | var pdbPath = Path.Combine(binFolder, "HeatFileMultipleFilesSameFileName.wixpdb"); |
149 | Assert.True(File.Exists(pdbPath)); | 150 | Assert.IsTrue(File.Exists(pdbPath)); |
150 | 151 | ||
151 | var intermediate = Intermediate.Load(pdbPath); | 152 | var intermediate = Intermediate.Load(pdbPath); |
152 | var section = intermediate.Sections.Single(); | 153 | var section = intermediate.Sections.Single(); |
@@ -157,13 +158,13 @@ namespace WixToolsetTest.Sdk | |||
157 | } | 158 | } |
158 | } | 159 | } |
159 | 160 | ||
160 | [Theory] | 161 | [TestMethod] |
161 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | 162 | [DataRow(BuildSystem.DotNetCoreSdk, true)] |
162 | [InlineData(BuildSystem.DotNetCoreSdk, false)] | 163 | [DataRow(BuildSystem.DotNetCoreSdk, false)] |
163 | [InlineData(BuildSystem.MSBuild, true)] | 164 | [DataRow(BuildSystem.MSBuild, true)] |
164 | [InlineData(BuildSystem.MSBuild, false)] | 165 | [DataRow(BuildSystem.MSBuild, false)] |
165 | [InlineData(BuildSystem.MSBuild64, true)] | 166 | [DataRow(BuildSystem.MSBuild64, true)] |
166 | [InlineData(BuildSystem.MSBuild64, false)] | 167 | [DataRow(BuildSystem.MSBuild64, false)] |
167 | public void CanBuildHeatProjectPreSdkStyle(BuildSystem buildSystem, bool useToolsVersion) | 168 | public void CanBuildHeatProjectPreSdkStyle(BuildSystem buildSystem, bool useToolsVersion) |
168 | { | 169 | { |
169 | var sourceFolder = TestData.Get(@"TestData", "HeatProject"); | 170 | var sourceFolder = TestData.Get(@"TestData", "HeatProject"); |
@@ -186,22 +187,22 @@ namespace WixToolsetTest.Sdk | |||
186 | result.AssertSuccess(); | 187 | result.AssertSuccess(); |
187 | 188 | ||
188 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem); | 189 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem); |
189 | var heatCommandLine = Assert.Single(heatCommandLines); | 190 | var heatCommandLine = WixAssert.Single(heatCommandLines); |
190 | 191 | ||
191 | if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk) | 192 | if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk) |
192 | { | 193 | { |
193 | Assert.Contains("-usetoolsversion", heatCommandLine); | 194 | Assert.IsTrue(heatCommandLine.Contains("-usetoolsversion")); |
194 | } | 195 | } |
195 | else | 196 | else |
196 | { | 197 | { |
197 | Assert.DoesNotContain("-usetoolsversion", heatCommandLine); | 198 | Assert.IsFalse(heatCommandLine.Contains("-usetoolsversion")); |
198 | } | 199 | } |
199 | 200 | ||
200 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 201 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
201 | Assert.All(warnings, warning => warning.Contains("warning HEAT5149")); | 202 | WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149")); |
202 | 203 | ||
203 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_Tools Version 4Cs.wxs"); | 204 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_Tools Version 4Cs.wxs"); |
204 | Assert.True(File.Exists(generatedFilePath)); | 205 | Assert.IsTrue(File.Exists(generatedFilePath)); |
205 | 206 | ||
206 | var generatedContents = File.ReadAllText(generatedFilePath); | 207 | var generatedContents = File.ReadAllText(generatedFilePath); |
207 | var testXml = generatedContents.GetTestXml(); | 208 | var testXml = generatedContents.GetTestXml(); |
@@ -260,7 +261,7 @@ namespace WixToolsetTest.Sdk | |||
260 | "</Wix>", testXml); | 261 | "</Wix>", testXml); |
261 | 262 | ||
262 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectPreSdkStyle.wixpdb"); | 263 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectPreSdkStyle.wixpdb"); |
263 | Assert.True(File.Exists(pdbPath)); | 264 | Assert.IsTrue(File.Exists(pdbPath)); |
264 | 265 | ||
265 | var intermediate = Intermediate.Load(pdbPath); | 266 | var intermediate = Intermediate.Load(pdbPath); |
266 | var section = intermediate.Sections.Single(); | 267 | var section = intermediate.Sections.Single(); |
@@ -270,13 +271,13 @@ namespace WixToolsetTest.Sdk | |||
270 | } | 271 | } |
271 | } | 272 | } |
272 | 273 | ||
273 | [Theory] | 274 | [TestMethod] |
274 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | 275 | [DataRow(BuildSystem.DotNetCoreSdk, true)] |
275 | [InlineData(BuildSystem.DotNetCoreSdk, false)] | 276 | [DataRow(BuildSystem.DotNetCoreSdk, false)] |
276 | [InlineData(BuildSystem.MSBuild, true)] | 277 | [DataRow(BuildSystem.MSBuild, true)] |
277 | [InlineData(BuildSystem.MSBuild, false)] | 278 | [DataRow(BuildSystem.MSBuild, false)] |
278 | [InlineData(BuildSystem.MSBuild64, true)] | 279 | [DataRow(BuildSystem.MSBuild64, true)] |
279 | [InlineData(BuildSystem.MSBuild64, false)] | 280 | [DataRow(BuildSystem.MSBuild64, false)] |
280 | public void CanBuildHeatProjectSdkStyle(BuildSystem buildSystem, bool useToolsVersion) | 281 | public void CanBuildHeatProjectSdkStyle(BuildSystem buildSystem, bool useToolsVersion) |
281 | { | 282 | { |
282 | var sourceFolder = TestData.Get(@"TestData\HeatProject"); | 283 | var sourceFolder = TestData.Get(@"TestData\HeatProject"); |
@@ -307,22 +308,22 @@ namespace WixToolsetTest.Sdk | |||
307 | result.AssertSuccess(); | 308 | result.AssertSuccess(); |
308 | 309 | ||
309 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem); | 310 | var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "project", buildSystem); |
310 | var heatCommandLine = Assert.Single(heatCommandLines); | 311 | var heatCommandLine = WixAssert.Single(heatCommandLines); |
311 | 312 | ||
312 | if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk) | 313 | if (useToolsVersion && buildSystem != BuildSystem.DotNetCoreSdk) |
313 | { | 314 | { |
314 | Assert.Contains("-usetoolsversion", heatCommandLine); | 315 | Assert.IsTrue(heatCommandLine.Contains("-usetoolsversion")); |
315 | } | 316 | } |
316 | else | 317 | else |
317 | { | 318 | { |
318 | Assert.DoesNotContain("-usetoolsversion", heatCommandLine); | 319 | Assert.IsFalse(heatCommandLine.Contains("-usetoolsversion")); |
319 | } | 320 | } |
320 | 321 | ||
321 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); | 322 | var warnings = result.Output.Where(line => line.Contains(": warning")).ToArray(); |
322 | Assert.All(warnings, warning => warning.Contains("warning HEAT5149")); | 323 | WixAssert.All(warnings, warning => warning.Contains("warning HEAT5149")); |
323 | 324 | ||
324 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs"); | 325 | var generatedFilePath = Path.Combine(intermediateFolder, "Release", "_SdkStyleCs.wxs"); |
325 | Assert.True(File.Exists(generatedFilePath)); | 326 | Assert.IsTrue(File.Exists(generatedFilePath)); |
326 | 327 | ||
327 | var generatedContents = File.ReadAllText(generatedFilePath); | 328 | var generatedContents = File.ReadAllText(generatedFilePath); |
328 | var testXml = generatedContents.GetTestXml(); | 329 | var testXml = generatedContents.GetTestXml(); |
@@ -379,7 +380,7 @@ namespace WixToolsetTest.Sdk | |||
379 | "</Wix>", testXml); | 380 | "</Wix>", testXml); |
380 | 381 | ||
381 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectSdkStyle.wixpdb"); | 382 | var pdbPath = Path.Combine(binFolder, "Release", "HeatProjectSdkStyle.wixpdb"); |
382 | Assert.True(File.Exists(pdbPath)); | 383 | Assert.IsTrue(File.Exists(pdbPath)); |
383 | 384 | ||
384 | var intermediate = Intermediate.Load(pdbPath); | 385 | var intermediate = Intermediate.Load(pdbPath); |
385 | var section = intermediate.Sections.Single(); | 386 | var section = intermediate.Sections.Single(); |