aboutsummaryrefslogtreecommitdiff
path: root/src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/tools/test/WixToolsetTest.HeatTasks/MsbuildHeatFixture.cs89
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();