aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/internal/SetBuildNumber/Directory.Packages.props.pp2
-rw-r--r--src/internal/WixBuildFinalize/WixBuildFinalize.proj2
-rw-r--r--src/internal/WixInternal.MSTestSupport/WixAssert.cs10
-rw-r--r--src/internal/internal.sln2
-rw-r--r--src/testresultfilelist.txt11
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs212
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildValidationFixture.cs21
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/README.md2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj8
-rw-r--r--src/wix/wix.cmd4
10 files changed, 138 insertions, 136 deletions
diff --git a/src/internal/SetBuildNumber/Directory.Packages.props.pp b/src/internal/SetBuildNumber/Directory.Packages.props.pp
index 18a9b5eb..8204df97 100644
--- a/src/internal/SetBuildNumber/Directory.Packages.props.pp
+++ b/src/internal/SetBuildNumber/Directory.Packages.props.pp
@@ -100,7 +100,7 @@
100 </ItemGroup> 100 </ItemGroup>
101 101
102 <ItemGroup> 102 <ItemGroup>
103 <PackageVersion Include="MSTest.TestFramework" Version="3.7.3" /> 103 <PackageVersion Include="MSTest.TestFramework" Version="3.8.0" />
104 </ItemGroup> 104 </ItemGroup>
105 105
106 <ItemGroup> 106 <ItemGroup>
diff --git a/src/internal/WixBuildFinalize/WixBuildFinalize.proj b/src/internal/WixBuildFinalize/WixBuildFinalize.proj
index bd68a471..1025fad1 100644
--- a/src/internal/WixBuildFinalize/WixBuildFinalize.proj
+++ b/src/internal/WixBuildFinalize/WixBuildFinalize.proj
@@ -6,7 +6,7 @@
6 <TargetFramework>net472</TargetFramework> 6 <TargetFramework>net472</TargetFramework>
7 </PropertyGroup> 7 </PropertyGroup>
8 8
9 <Target Name="ZipPdbs" BeforeTargets="AfterBuild"> 9 <Target Name="ZipPdbs" BeforeTargets="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
10 <ZipDirectory 10 <ZipDirectory
11 SourceDirectory="$(PdbsFolder)" 11 SourceDirectory="$(PdbsFolder)"
12 DestinationFile="$(ArtifactsFolder)\wix-pdbs.$(Version).zip" 12 DestinationFile="$(ArtifactsFolder)\wix-pdbs.$(Version).zip"
diff --git a/src/internal/WixInternal.MSTestSupport/WixAssert.cs b/src/internal/WixInternal.MSTestSupport/WixAssert.cs
index b4c59fa5..9110309d 100644
--- a/src/internal/WixInternal.MSTestSupport/WixAssert.cs
+++ b/src/internal/WixInternal.MSTestSupport/WixAssert.cs
@@ -92,6 +92,16 @@ namespace WixInternal.MSTestSupport
92 Assert.IsTrue(collection.All(predicate)); 92 Assert.IsTrue(collection.All(predicate));
93 } 93 }
94 94
95 public static void Any<T>(IEnumerable<T> collection, Func<T, bool> predicate)
96 {
97 Assert.IsTrue(collection.Any(predicate));
98 }
99
100 public static void NotEmpty<T>(IEnumerable<T> collection)
101 {
102 Assert.IsTrue(collection.Count() > 0);
103 }
104
95 public static void Empty<T>(IEnumerable<T> collection) 105 public static void Empty<T>(IEnumerable<T> collection)
96 { 106 {
97 Assert.AreEqual(0, collection.Count()); 107 Assert.AreEqual(0, collection.Count());
diff --git a/src/internal/internal.sln b/src/internal/internal.sln
index 5514e543..8a326615 100644
--- a/src/internal/internal.sln
+++ b/src/internal/internal.sln
@@ -9,8 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WixInternal.TestSupport.Nat
9EndProject 9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixInternal.BaseBuildTasks.Sources", "WixInternal.BaseBuildTasks.Sources\WixInternal.BaseBuildTasks.Sources.csproj", "{6B654490-AB0D-4F94-B564-DAA80044D5A3}" 10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixInternal.BaseBuildTasks.Sources", "WixInternal.BaseBuildTasks.Sources\WixInternal.BaseBuildTasks.Sources.csproj", "{6B654490-AB0D-4F94-B564-DAA80044D5A3}"
11EndProject 11EndProject
12Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixInternal.XunitTestSupport", "WixInternal.XunitTestSupport\WixInternal.XunitTestSupport.csproj", "{AF7C4730-583B-46F8-9BB6-16D1F0330932}"
13EndProject
14Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixInternal.MSTestSupport", "WixInternal.MSTestSupport\WixInternal.MSTestSupport.csproj", "{E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}" 12Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixInternal.MSTestSupport", "WixInternal.MSTestSupport\WixInternal.MSTestSupport.csproj", "{E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}"
15EndProject 13EndProject
16Global 14Global
diff --git a/src/testresultfilelist.txt b/src/testresultfilelist.txt
index 9e156730..71f35d6b 100644
--- a/src/testresultfilelist.txt
+++ b/src/testresultfilelist.txt
@@ -1,10 +1 @@
1build/logs/TestResults/api.trx build/logs/TestResults/*.trx
2build/logs/TestResults/burn.trx
3build/logs/TestResults/libs.trx
4build/logs/TestResults/tools.trx
5build/logs/TestResults/wix.trx
6build/logs/TestResults/WixToolsetTest.BurnE2E.trx
7build/logs/TestResults/util.wixext.trx
8build/logs/TestResults/bal.wixext.trx
9build/logs/TestResults/WixToolsetTest.MsiE2E.trx
10build/logs/TestResults/WixToolsetTest.WixE2ETests.trx \ No newline at end of file
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index 5d2d1b2c..a14c8e5b 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -6,18 +6,19 @@ namespace WixToolsetTest.Sdk
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.IO; 7 using System.IO;
8 using System.Linq; 8 using System.Linq;
9 using WixInternal.TestSupport; 9 using Microsoft.VisualStudio.TestTools.UnitTesting;
10 using Xunit; 10 using WixInternal.MSTestSupport;
11 11
12 [TestClass]
12 public class MsbuildFixture 13 public class MsbuildFixture
13 { 14 {
14 public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Sdk"); 15 public static readonly string WixMsbuildPath = Path.Combine(Path.GetDirectoryName(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).LocalPath), "..", "..", "..", "publish", "WixToolset.Sdk");
15 public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "Sdk", "Sdk.props"); 16 public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "Sdk", "Sdk.props");
16 17
17 [Theory] 18 [TestMethod]
18 [InlineData(BuildSystem.DotNetCoreSdk)] 19 [DataRow(BuildSystem.DotNetCoreSdk)]
19 [InlineData(BuildSystem.MSBuild)] 20 [DataRow(BuildSystem.MSBuild)]
20 [InlineData(BuildSystem.MSBuild64)] 21 [DataRow(BuildSystem.MSBuild64)]
21 public void CanBuildSimpleBundle(BuildSystem buildSystem) 22 public void CanBuildSimpleBundle(BuildSystem buildSystem)
22 { 23 {
23 var sourceFolder = TestData.Get(@"TestData", "SimpleMsiPackage"); 24 var sourceFolder = TestData.Get(@"TestData", "SimpleMsiPackage");
@@ -57,10 +58,10 @@ namespace WixToolsetTest.Sdk
57 } 58 }
58 } 59 }
59 60
60 [Theory] 61 [TestMethod]
61 [InlineData(BuildSystem.DotNetCoreSdk)] 62 [DataRow(BuildSystem.DotNetCoreSdk)]
62 [InlineData(BuildSystem.MSBuild)] 63 [DataRow(BuildSystem.MSBuild)]
63 [InlineData(BuildSystem.MSBuild64)] 64 [DataRow(BuildSystem.MSBuild64)]
64 public void CanBuildUncompressedBundle(BuildSystem buildSystem) 65 public void CanBuildUncompressedBundle(BuildSystem buildSystem)
65 { 66 {
66 var sourceFolder = TestData.Get("TestData", "SimpleMsiPackage"); 67 var sourceFolder = TestData.Get("TestData", "SimpleMsiPackage");
@@ -100,10 +101,10 @@ namespace WixToolsetTest.Sdk
100 } 101 }
101 } 102 }
102 103
103 [Theory] 104 [TestMethod]
104 [InlineData(BuildSystem.DotNetCoreSdk)] 105 [DataRow(BuildSystem.DotNetCoreSdk)]
105 [InlineData(BuildSystem.MSBuild)] 106 [DataRow(BuildSystem.MSBuild)]
106 [InlineData(BuildSystem.MSBuild64)] 107 [DataRow(BuildSystem.MSBuild64)]
107 public void CanBuildSimpleMergeModule(BuildSystem buildSystem) 108 public void CanBuildSimpleMergeModule(BuildSystem buildSystem)
108 { 109 {
109 var sourceFolder = TestData.Get("TestData", "MergeModule", "SimpleMergeModule"); 110 var sourceFolder = TestData.Get("TestData", "MergeModule", "SimpleMergeModule");
@@ -135,10 +136,10 @@ namespace WixToolsetTest.Sdk
135 } 136 }
136 } 137 }
137 138
138 [Theory] 139 [TestMethod]
139 [InlineData(BuildSystem.DotNetCoreSdk)] 140 [DataRow(BuildSystem.DotNetCoreSdk)]
140 [InlineData(BuildSystem.MSBuild)] 141 [DataRow(BuildSystem.MSBuild)]
141 [InlineData(BuildSystem.MSBuild64)] 142 [DataRow(BuildSystem.MSBuild64)]
142 public void CanBuildSimpleMsiPackage(BuildSystem buildSystem) 143 public void CanBuildSimpleMsiPackage(BuildSystem buildSystem)
143 { 144 {
144 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 145 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");
@@ -160,7 +161,7 @@ namespace WixToolsetTest.Sdk
160 result.AssertSuccess(); 161 result.AssertSuccess();
161 162
162 var platformSwitches = result.Output.Where(line => line.Contains("-platform x86")); 163 var platformSwitches = result.Output.Where(line => line.Contains("-platform x86"));
163 Assert.Single(platformSwitches); 164 WixAssert.Single(platformSwitches);
164 165
165 var warnings = result.Output.Where(line => line.Contains(": warning")).Select(line => ExtractWarningFromMessage(line, baseFolder)).ToArray(); 166 var warnings = result.Output.Where(line => line.Contains(": warning")).Select(line => ExtractWarningFromMessage(line, baseFolder)).ToArray();
166 WixAssert.CompareLineByLine(new[] 167 WixAssert.CompareLineByLine(new[]
@@ -193,10 +194,10 @@ namespace WixToolsetTest.Sdk
193 } 194 }
194 } 195 }
195 196
196 [Theory] 197 [TestMethod]
197 [InlineData(BuildSystem.DotNetCoreSdk)] 198 [DataRow(BuildSystem.DotNetCoreSdk)]
198 [InlineData(BuildSystem.MSBuild)] 199 [DataRow(BuildSystem.MSBuild)]
199 [InlineData(BuildSystem.MSBuild64)] 200 [DataRow(BuildSystem.MSBuild64)]
200 public void CanBuildSimpleMsiPackageWithMergeModule(BuildSystem buildSystem) 201 public void CanBuildSimpleMsiPackageWithMergeModule(BuildSystem buildSystem)
201 { 202 {
202 var sourceFolder = TestData.Get(@"TestData", "MergeModule"); 203 var sourceFolder = TestData.Get(@"TestData", "MergeModule");
@@ -229,10 +230,10 @@ namespace WixToolsetTest.Sdk
229 } 230 }
230 } 231 }
231 232
232 [Theory] 233 [TestMethod]
233 [InlineData(BuildSystem.DotNetCoreSdk)] 234 [DataRow(BuildSystem.DotNetCoreSdk)]
234 [InlineData(BuildSystem.MSBuild)] 235 [DataRow(BuildSystem.MSBuild)]
235 [InlineData(BuildSystem.MSBuild64)] 236 [DataRow(BuildSystem.MSBuild64)]
236 public void CanBuildMsiPackageWithBindVariables(BuildSystem buildSystem) 237 public void CanBuildMsiPackageWithBindVariables(BuildSystem buildSystem)
237 { 238 {
238 var sourceFolder = TestData.Get("TestData", "MsiPackageWithBindVariables"); 239 var sourceFolder = TestData.Get("TestData", "MsiPackageWithBindVariables");
@@ -276,10 +277,10 @@ namespace WixToolsetTest.Sdk
276 } 277 }
277 } 278 }
278 279
279 [Theory] 280 [TestMethod]
280 [InlineData(BuildSystem.DotNetCoreSdk)] 281 [DataRow(BuildSystem.DotNetCoreSdk)]
281 [InlineData(BuildSystem.MSBuild)] 282 [DataRow(BuildSystem.MSBuild)]
282 [InlineData(BuildSystem.MSBuild64)] 283 [DataRow(BuildSystem.MSBuild64)]
283 public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) 284 public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem)
284 { 285 {
285 var expectedOutputs = new[] 286 var expectedOutputs = new[]
@@ -293,10 +294,10 @@ namespace WixToolsetTest.Sdk
293 this.AssertWixpdb(buildSystem, "Full", expectedOutputs); 294 this.AssertWixpdb(buildSystem, "Full", expectedOutputs);
294 } 295 }
295 296
296 [Theory] 297 [TestMethod]
297 [InlineData(BuildSystem.DotNetCoreSdk)] 298 [DataRow(BuildSystem.DotNetCoreSdk)]
298 [InlineData(BuildSystem.MSBuild)] 299 [DataRow(BuildSystem.MSBuild)]
299 [InlineData(BuildSystem.MSBuild64)] 300 [DataRow(BuildSystem.MSBuild64)]
300 public void CanBuildWithNoWixpdb(BuildSystem buildSystem) 301 public void CanBuildWithNoWixpdb(BuildSystem buildSystem)
301 { 302 {
302 this.AssertWixpdb(buildSystem, "NONE", new[] 303 this.AssertWixpdb(buildSystem, "NONE", new[]
@@ -306,10 +307,10 @@ namespace WixToolsetTest.Sdk
306 }); 307 });
307 } 308 }
308 309
309 [Theory] 310 [TestMethod]
310 [InlineData(BuildSystem.DotNetCoreSdk)] 311 [DataRow(BuildSystem.DotNetCoreSdk)]
311 [InlineData(BuildSystem.MSBuild)] 312 [DataRow(BuildSystem.MSBuild)]
312 [InlineData(BuildSystem.MSBuild64)] 313 [DataRow(BuildSystem.MSBuild64)]
313 public void CanBuildWithWixpdbToDifferentFolder(BuildSystem buildSystem) 314 public void CanBuildWithWixpdbToDifferentFolder(BuildSystem buildSystem)
314 { 315 {
315 var expectedOutputFiles = new[] 316 var expectedOutputFiles = new[]
@@ -346,10 +347,10 @@ namespace WixToolsetTest.Sdk
346 } 347 }
347 } 348 }
348 349
349 [Theory] 350 [TestMethod]
350 [InlineData(BuildSystem.DotNetCoreSdk)] 351 [DataRow(BuildSystem.DotNetCoreSdk)]
351 [InlineData(BuildSystem.MSBuild)] 352 [DataRow(BuildSystem.MSBuild)]
352 [InlineData(BuildSystem.MSBuild64)] 353 [DataRow(BuildSystem.MSBuild64)]
353 public void CanBuild64BitMsiPackage(BuildSystem buildSystem) 354 public void CanBuild64BitMsiPackage(BuildSystem buildSystem)
354 { 355 {
355 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 356 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");
@@ -369,7 +370,7 @@ namespace WixToolsetTest.Sdk
369 result.AssertSuccess(); 370 result.AssertSuccess();
370 371
371 var platformSwitches = result.Output.Where(line => line.Contains("-platform x64")); 372 var platformSwitches = result.Output.Where(line => line.Contains("-platform x64"));
372 Assert.Single(platformSwitches); 373 WixAssert.Single(platformSwitches);
373 374
374 var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) 375 var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
375 .Select(s => s.Substring(baseFolder.Length + 1)) 376 .Select(s => s.Substring(baseFolder.Length + 1))
@@ -384,10 +385,10 @@ namespace WixToolsetTest.Sdk
384 } 385 }
385 } 386 }
386 387
387 [Theory] 388 [TestMethod]
388 [InlineData(BuildSystem.DotNetCoreSdk)] 389 [DataRow(BuildSystem.DotNetCoreSdk)]
389 [InlineData(BuildSystem.MSBuild)] 390 [DataRow(BuildSystem.MSBuild)]
390 [InlineData(BuildSystem.MSBuild64)] 391 [DataRow(BuildSystem.MSBuild64)]
391 public void CanBuildMsiPackageWithIceSuppressions(BuildSystem buildSystem) 392 public void CanBuildMsiPackageWithIceSuppressions(BuildSystem buildSystem)
392 { 393 {
393 var sourceFolder = TestData.Get("TestData", "MsiPackageWithIceError", "MsiPackage"); 394 var sourceFolder = TestData.Get("TestData", "MsiPackageWithIceError", "MsiPackage");
@@ -408,10 +409,10 @@ namespace WixToolsetTest.Sdk
408 } 409 }
409 } 410 }
410 411
411 [Theory] 412 [TestMethod]
412 [InlineData(BuildSystem.DotNetCoreSdk)] 413 [DataRow(BuildSystem.DotNetCoreSdk)]
413 [InlineData(BuildSystem.MSBuild)] 414 [DataRow(BuildSystem.MSBuild)]
414 [InlineData(BuildSystem.MSBuild64)] 415 [DataRow(BuildSystem.MSBuild64)]
415 public void CanBuildSimpleMsiPackageWithWarningSuppressions(BuildSystem buildSystem) 416 public void CanBuildSimpleMsiPackageWithWarningSuppressions(BuildSystem buildSystem)
416 { 417 {
417 var sourceFolder = TestData.Get("TestData", "SimpleMsiPackage", "MsiPackage"); 418 var sourceFolder = TestData.Get("TestData", "SimpleMsiPackage", "MsiPackage");
@@ -435,10 +436,10 @@ namespace WixToolsetTest.Sdk
435 } 436 }
436 } 437 }
437 438
438 [Theory] 439 [TestMethod]
439 [InlineData(BuildSystem.DotNetCoreSdk)] 440 [DataRow(BuildSystem.DotNetCoreSdk)]
440 [InlineData(BuildSystem.MSBuild)] 441 [DataRow(BuildSystem.MSBuild)]
441 [InlineData(BuildSystem.MSBuild64)] 442 [DataRow(BuildSystem.MSBuild64)]
442 public void CanBuildSingleCultureWithFallbackMsiPackage(BuildSystem buildSystem) 443 public void CanBuildSingleCultureWithFallbackMsiPackage(BuildSystem buildSystem)
443 { 444 {
444 var sourceFolder = TestData.Get(@"TestData", "SingleCultureWithFallbackMsiPackage"); 445 var sourceFolder = TestData.Get(@"TestData", "SingleCultureWithFallbackMsiPackage");
@@ -469,10 +470,10 @@ namespace WixToolsetTest.Sdk
469 } 470 }
470 } 471 }
471 472
472 [Theory] 473 [TestMethod]
473 [InlineData(BuildSystem.DotNetCoreSdk)] 474 [DataRow(BuildSystem.DotNetCoreSdk)]
474 [InlineData(BuildSystem.MSBuild)] 475 [DataRow(BuildSystem.MSBuild)]
475 [InlineData(BuildSystem.MSBuild64)] 476 [DataRow(BuildSystem.MSBuild64)]
476 public void CanBuildMultiCulturalMsiPackage(BuildSystem buildSystem) 477 public void CanBuildMultiCulturalMsiPackage(BuildSystem buildSystem)
477 { 478 {
478 var sourceFolder = TestData.Get(@"TestData", "MultiCulturalMsiPackage"); 479 var sourceFolder = TestData.Get(@"TestData", "MultiCulturalMsiPackage");
@@ -514,10 +515,10 @@ namespace WixToolsetTest.Sdk
514 } 515 }
515 } 516 }
516 517
517 [Theory] 518 [TestMethod]
518 [InlineData(BuildSystem.DotNetCoreSdk)] 519 [DataRow(BuildSystem.DotNetCoreSdk)]
519 [InlineData(BuildSystem.MSBuild)] 520 [DataRow(BuildSystem.MSBuild)]
520 [InlineData(BuildSystem.MSBuild64)] 521 [DataRow(BuildSystem.MSBuild64)]
521 public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem) 522 public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem)
522 { 523 {
523 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 524 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");
@@ -537,7 +538,7 @@ namespace WixToolsetTest.Sdk
537 result.AssertSuccess(); 538 result.AssertSuccess();
538 539
539 var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem); 540 var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem);
540 Assert.Single(wixBuildCommands); 541 WixAssert.Single(wixBuildCommands);
541 542
542 var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) 543 var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
543 .Select(s => s.Substring(baseFolder.Length + 1)) 544 .Select(s => s.Substring(baseFolder.Length + 1))
@@ -546,10 +547,10 @@ namespace WixToolsetTest.Sdk
546 } 547 }
547 } 548 }
548 549
549 [Theory] 550 [TestMethod]
550 [InlineData(BuildSystem.DotNetCoreSdk)] 551 [DataRow(BuildSystem.DotNetCoreSdk)]
551 [InlineData(BuildSystem.MSBuild)] 552 [DataRow(BuildSystem.MSBuild)]
552 [InlineData(BuildSystem.MSBuild64)] 553 [DataRow(BuildSystem.MSBuild64)]
553 public void CanBuildSimpleWixlib(BuildSystem buildSystem) 554 public void CanBuildSimpleWixlib(BuildSystem buildSystem)
554 { 555 {
555 var sourceFolder = TestData.Get(@"TestData", "Wixlib", "SimpleWixlib"); 556 var sourceFolder = TestData.Get(@"TestData", "Wixlib", "SimpleWixlib");
@@ -568,7 +569,7 @@ namespace WixToolsetTest.Sdk
568 result.AssertSuccess(); 569 result.AssertSuccess();
569 570
570 var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem); 571 var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem);
571 Assert.Single(wixBuildCommands); 572 WixAssert.Single(wixBuildCommands);
572 573
573 var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) 574 var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
574 .Select(s => s.Substring(baseFolder.Length + 1)) 575 .Select(s => s.Substring(baseFolder.Length + 1))
@@ -577,10 +578,10 @@ namespace WixToolsetTest.Sdk
577 } 578 }
578 } 579 }
579 580
580 [Theory] 581 [TestMethod]
581 [InlineData(BuildSystem.DotNetCoreSdk)] 582 [DataRow(BuildSystem.DotNetCoreSdk)]
582 [InlineData(BuildSystem.MSBuild)] 583 [DataRow(BuildSystem.MSBuild)]
583 [InlineData(BuildSystem.MSBuild64)] 584 [DataRow(BuildSystem.MSBuild64)]
584 public void CanBuildPackageIncludingSimpleWixlib(BuildSystem buildSystem) 585 public void CanBuildPackageIncludingSimpleWixlib(BuildSystem buildSystem)
585 { 586 {
586 var sourceFolder = TestData.Get(@"TestData", "Wixlib"); 587 var sourceFolder = TestData.Get(@"TestData", "Wixlib");
@@ -610,10 +611,10 @@ namespace WixToolsetTest.Sdk
610 } 611 }
611 } 612 }
612 613
613 [Theory] 614 [TestMethod]
614 [InlineData(BuildSystem.DotNetCoreSdk)] 615 [DataRow(BuildSystem.DotNetCoreSdk)]
615 [InlineData(BuildSystem.MSBuild)] 616 [DataRow(BuildSystem.MSBuild)]
616 [InlineData(BuildSystem.MSBuild64)] 617 [DataRow(BuildSystem.MSBuild64)]
617 public void CanBuildAndCleanSimpleMsiPackage(BuildSystem buildSystem) 618 public void CanBuildAndCleanSimpleMsiPackage(BuildSystem buildSystem)
618 { 619 {
619 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 620 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");
@@ -636,7 +637,7 @@ namespace WixToolsetTest.Sdk
636 .Select(s => s.Substring(baseFolder.Length + 1)) 637 .Select(s => s.Substring(baseFolder.Length + 1))
637 .OrderBy(s => s) 638 .OrderBy(s => s)
638 .ToArray(); 639 .ToArray();
639 Assert.NotEmpty(createdPaths); 640 WixAssert.NotEmpty(createdPaths);
640 641
641 // Clean 642 // Clean
642 result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] 643 result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
@@ -670,10 +671,10 @@ namespace WixToolsetTest.Sdk
670 } 671 }
671 } 672 }
672 673
673 [Theory] 674 [TestMethod]
674 [InlineData(BuildSystem.DotNetCoreSdk)] 675 [DataRow(BuildSystem.DotNetCoreSdk)]
675 [InlineData(BuildSystem.MSBuild)] 676 [DataRow(BuildSystem.MSBuild)]
676 [InlineData(BuildSystem.MSBuild64)] 677 [DataRow(BuildSystem.MSBuild64)]
677 public void CanBuildMultiTargetingWixlibUsingRids(BuildSystem buildSystem) 678 public void CanBuildMultiTargetingWixlibUsingRids(BuildSystem buildSystem)
678 { 679 {
679 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib"); 680 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib");
@@ -708,10 +709,10 @@ namespace WixToolsetTest.Sdk
708 } 709 }
709 } 710 }
710 711
711 [Theory] 712 [TestMethod]
712 [InlineData(BuildSystem.DotNetCoreSdk)] 713 [DataRow(BuildSystem.DotNetCoreSdk)]
713 [InlineData(BuildSystem.MSBuild)] 714 [DataRow(BuildSystem.MSBuild)]
714 [InlineData(BuildSystem.MSBuild64)] 715 [DataRow(BuildSystem.MSBuild64)]
715 public void CanBuildMultiTargetingWixlibUsingRidsWithReleaseAndDebug(BuildSystem buildSystem) 716 public void CanBuildMultiTargetingWixlibUsingRidsWithReleaseAndDebug(BuildSystem buildSystem)
716 { 717 {
717 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib"); 718 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib");
@@ -750,10 +751,10 @@ namespace WixToolsetTest.Sdk
750 } 751 }
751 } 752 }
752 753
753 [Theory] 754 [TestMethod]
754 [InlineData(BuildSystem.DotNetCoreSdk)] 755 [DataRow(BuildSystem.DotNetCoreSdk)]
755 [InlineData(BuildSystem.MSBuild)] 756 [DataRow(BuildSystem.MSBuild)]
756 [InlineData(BuildSystem.MSBuild64)] 757 [DataRow(BuildSystem.MSBuild64)]
757 public void CannotBuildMultiTargetingWixlibUsingExplicitSubsetOfTfmAndRid(BuildSystem buildSystem) 758 public void CannotBuildMultiTargetingWixlibUsingExplicitSubsetOfTfmAndRid(BuildSystem buildSystem)
758 { 759 {
759 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib"); 760 var sourceFolder = TestData.Get(@"TestData", "MultiTargetingWixlib");
@@ -779,10 +780,10 @@ namespace WixToolsetTest.Sdk
779 } 780 }
780 } 781 }
781 782
782 [Theory] 783 [TestMethod]
783 [InlineData(BuildSystem.DotNetCoreSdk)] 784 [DataRow(BuildSystem.DotNetCoreSdk)]
784 [InlineData(BuildSystem.MSBuild)] 785 [DataRow(BuildSystem.MSBuild)]
785 [InlineData(BuildSystem.MSBuild64)] 786 [DataRow(BuildSystem.MSBuild64)]
786 public void CanBuildWithWarningWhenExtensionIsMissing(BuildSystem buildSystem) 787 public void CanBuildWithWarningWhenExtensionIsMissing(BuildSystem buildSystem)
787 { 788 {
788 var sourceFolder = TestData.Get(@"TestData", "WixlibMissingExtension"); 789 var sourceFolder = TestData.Get(@"TestData", "WixlibMissingExtension");
@@ -818,10 +819,10 @@ namespace WixToolsetTest.Sdk
818 } 819 }
819 } 820 }
820 821
821 [Theory] 822 [TestMethod]
822 [InlineData(BuildSystem.DotNetCoreSdk)] 823 [DataRow(BuildSystem.DotNetCoreSdk)]
823 [InlineData(BuildSystem.MSBuild)] 824 [DataRow(BuildSystem.MSBuild)]
824 [InlineData(BuildSystem.MSBuild64)] 825 [DataRow(BuildSystem.MSBuild64)]
825 public void CanBuildPackageWithComma(BuildSystem buildSystem) 826 public void CanBuildPackageWithComma(BuildSystem buildSystem)
826 { 827 {
827 var sourceFolder = TestData.Get(@"TestData", "PackageWith,Comma"); 828 var sourceFolder = TestData.Get(@"TestData", "PackageWith,Comma");
@@ -852,10 +853,11 @@ namespace WixToolsetTest.Sdk
852 } 853 }
853 } 854 }
854 855
855 [Theory(Skip = "Depends on creating broken publish which is not supported at this time")] 856 [TestMethod]
856 [InlineData(BuildSystem.DotNetCoreSdk)] 857 [Ignore("Depends on creating broken publish which is not supported at this time")]
857 [InlineData(BuildSystem.MSBuild)] 858 [DataRow(BuildSystem.DotNetCoreSdk)]
858 [InlineData(BuildSystem.MSBuild64)] 859 [DataRow(BuildSystem.MSBuild)]
860 [DataRow(BuildSystem.MSBuild64)]
859 public void ReportsInnerExceptionForUnexpectedExceptions(BuildSystem buildSystem) 861 public void ReportsInnerExceptionForUnexpectedExceptions(BuildSystem buildSystem)
860 { 862 {
861 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 863 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");
@@ -871,10 +873,10 @@ namespace WixToolsetTest.Sdk
871 { 873 {
872 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildFixture.WixMsbuildPath, "broken", "net461")), 874 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildFixture.WixMsbuildPath, "broken", "net461")),
873 }); 875 });
874 Assert.Equal(1, result.ExitCode); 876 Assert.AreEqual(1, result.ExitCode);
875 877
876 var expectedMessage = "System.PlatformNotSupportedException: Could not find platform specific 'wixnative.exe' ---> System.IO.FileNotFoundException: Could not find internal piece of WiX Toolset from"; 878 var expectedMessage = "System.PlatformNotSupportedException: Could not find platform specific 'wixnative.exe' ---> System.IO.FileNotFoundException: Could not find internal piece of WiX Toolset from";
877 Assert.Contains(result.Output, m => m.Contains(expectedMessage)); 879 WixAssert.Any(result.Output, m => m.Contains(expectedMessage));
878 } 880 }
879 } 881 }
880 882
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildValidationFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildValidationFixture.cs
index 82e72e6b..7fc06b40 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildValidationFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildValidationFixture.cs
@@ -5,8 +5,8 @@ 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 Xunit; 9 using WixInternal.MSTestSupport;
10 10
11 // When these tests are run repeatedly, they will expose an issue 11 // When these tests are run repeatedly, they will expose an issue
12 // in the Windows Installer where ICE validations will occasionally 12 // in the Windows Installer where ICE validations will occasionally
@@ -17,12 +17,13 @@ namespace WixToolsetTest.Sdk
17 // around for manual testing. Uncomment or define the following 17 // around for manual testing. Uncomment or define the following
18 // line to do so. 18 // line to do so.
19#if DISABLE_VALIDATION_TESTS_DUE_TO_WINDOWS_INSTALLER_INCONSISTENCIES 19#if DISABLE_VALIDATION_TESTS_DUE_TO_WINDOWS_INSTALLER_INCONSISTENCIES
20 [TestClass]
20 public class MsbuildValidationFixture 21 public class MsbuildValidationFixture
21 { 22 {
22 [Theory] 23 [TestMethod]
23 [InlineData(BuildSystem.DotNetCoreSdk)] 24 [DataRow(BuildSystem.DotNetCoreSdk)]
24 [InlineData(BuildSystem.MSBuild)] 25 [DataRow(BuildSystem.MSBuild)]
25 [InlineData(BuildSystem.MSBuild64)] 26 [DataRow(BuildSystem.MSBuild64)]
26 public void CannotBuildMsiPackageWithIceIssues(BuildSystem buildSystem) 27 public void CannotBuildMsiPackageWithIceIssues(BuildSystem buildSystem)
27 { 28 {
28 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage"); 29 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage");
@@ -59,10 +60,10 @@ namespace WixToolsetTest.Sdk
59 } 60 }
60 } 61 }
61 62
62 [Theory] 63 [TestMethod]
63 [InlineData(BuildSystem.DotNetCoreSdk)] 64 [DataRow(BuildSystem.DotNetCoreSdk)]
64 [InlineData(BuildSystem.MSBuild)] 65 [DataRow(BuildSystem.MSBuild)]
65 [InlineData(BuildSystem.MSBuild64)] 66 [DataRow(BuildSystem.MSBuild64)]
66 public void CannotBuildMsiPackageWithIceWarningsAsErrors(BuildSystem buildSystem) 67 public void CannotBuildMsiPackageWithIceWarningsAsErrors(BuildSystem buildSystem)
67 { 68 {
68 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage"); 69 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage");
diff --git a/src/wix/test/WixToolsetTest.Sdk/README.md b/src/wix/test/WixToolsetTest.Sdk/README.md
index daf85e5a..d593cca7 100644
--- a/src/wix/test/WixToolsetTest.Sdk/README.md
+++ b/src/wix/test/WixToolsetTest.Sdk/README.md
@@ -2,4 +2,4 @@ In order to properly test wix.targets,
2all of the supported architectures for WixToolset.BuildTasks need to be available in the layout used in the Nuget package. 2all of the supported architectures for WixToolset.BuildTasks need to be available in the layout used in the Nuget package.
3Making this happen on every build for the solution takes too long, 3Making this happen on every build for the solution takes too long,
4so this project relies on manually running devbuild.cmd to publish everything before the tests can be run. 4so this project relies on manually running devbuild.cmd to publish everything before the tests can be run.
5devbuild.cmd needs to be ran again every time changes are made in other projects, including the targets themselves. \ No newline at end of file 5devbuild.cmd needs to be run again every time changes are made in other projects, including the targets themselves. \ No newline at end of file
diff --git a/src/wix/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj b/src/wix/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj
index 7fe39da3..5a617fb1 100644
--- a/src/wix/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj
+++ b/src/wix/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj
@@ -1,12 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?> 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. --> 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 3
4<Project Sdk="Microsoft.NET.Sdk"> 4<Project Sdk="MSTest.Sdk">
5 <PropertyGroup> 5 <PropertyGroup>
6 <TargetFramework>net472</TargetFramework> 6 <TargetFramework>net472</TargetFramework>
7 <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes> 7 <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes>
8 <RequiresNativeWixAssets>true</RequiresNativeWixAssets> 8 <RequiresNativeWixAssets>true</RequiresNativeWixAssets>
9 <IsWixTestProject>true</IsWixTestProject> 9 <IsWixMSTestProject>true</IsWixMSTestProject>
10 </PropertyGroup> 10 </PropertyGroup>
11 11
12 <ItemGroup> 12 <ItemGroup>
@@ -14,10 +14,10 @@
14 </ItemGroup> 14 </ItemGroup>
15 15
16 <ItemGroup> 16 <ItemGroup>
17 <ProjectReference Include="..\..\WixInternal.Core.TestPackage\WixInternal.Core.TestPackage.csproj" /> 17 <ProjectReference Include="..\..\WixInternal.Core.MSTestPackage\WixInternal.Core.MSTestPackage.csproj" />
18 </ItemGroup> 18 </ItemGroup>
19 19
20 <ItemGroup> 20 <ItemGroup>
21 <PackageReference Include="WixInternal.TestSupport" /> 21 <PackageReference Include="WixInternal.MSTestSupport" />
22 </ItemGroup> 22 </ItemGroup>
23</Project> 23</Project>
diff --git a/src/wix/wix.cmd b/src/wix/wix.cmd
index e49cfd53..ba5738cb 100644
--- a/src/wix/wix.cmd
+++ b/src/wix/wix.cmd
@@ -26,7 +26,7 @@ msbuild -t:Restore wix.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl
26:: Build 26:: Build
27msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wixnative_build.binlog || exit /b 27msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wixnative_build.binlog || exit /b
28 28
29msbuild wix.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wix_build.binlog || exit /b 29msbuild wix.sln -p:Configuration=%_C% -p:SuppressWixTests=true -tl -nologo -m -warnaserror -bl:%_L%\wix_build.binlog || exit /b
30 30
31msbuild publish_t.proj -p:Configuration=%_C% -tl -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b 31msbuild publish_t.proj -p:Configuration=%_C% -tl -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b
32 32
@@ -35,6 +35,7 @@ msbuild -t:Publish -p:Configuration=%_C% -tl -nologo -warnaserror WixToolset.Sdk
35:: TODO - used by MsbuildFixture.ReportsInnerExceptionForUnexpectedExceptions test 35:: TODO - used by MsbuildFixture.ReportsInnerExceptionForUnexpectedExceptions test
36:: msbuild -t:Publish -Restore -p:Configuration=%_C% -p:TargetFramework=net472 -p:RuntimeIdentifier=linux-x86 -p:PublishDir=%_P%WixToolset.Sdk\broken\net472\ wix\wix.csproj || exit /b 36:: msbuild -t:Publish -Restore -p:Configuration=%_C% -p:TargetFramework=net472 -p:RuntimeIdentifier=linux-x86 -p:PublishDir=%_P%WixToolset.Sdk\broken\net472\ wix\wix.csproj || exit /b
37 37
38msbuild -t:RunWixTests test\WixToolsetTest.Sdk\WixToolsetTest.Sdk.csproj -p:Configuration=%_C% -p:NoBuild=true -tl -nologo -warnaserror || exit /b
38 39
39:: Test 40:: Test
40dotnet test ^ 41dotnet test ^
@@ -44,7 +45,6 @@ dotnet test ^
44 %_B%\test\WixToolsetTest.Core.Native\net6.0\win-x64\WixToolsetTest.Core.Native.dll ^ 45 %_B%\test\WixToolsetTest.Core.Native\net6.0\win-x64\WixToolsetTest.Core.Native.dll ^
45 %_B%\test\WixToolsetTest.CoreIntegration\net6.0\WixToolsetTest.CoreIntegration.dll ^ 46 %_B%\test\WixToolsetTest.CoreIntegration\net6.0\WixToolsetTest.CoreIntegration.dll ^
46 %_B%\test\WixToolsetTest.BuildTasks\net472\WixToolsetTest.BuildTasks.dll ^ 47 %_B%\test\WixToolsetTest.BuildTasks\net472\WixToolsetTest.BuildTasks.dll ^
47 %_B%\test\WixToolsetTest.Sdk\net472\WixToolsetTest.Sdk.dll ^
48 --nologo -l "trx;LogFileName=%_L%\TestResults\wix.trx" || exit /b 48 --nologo -l "trx;LogFileName=%_L%\TestResults\wix.trx" || exit /b
49 49
50 50