summaryrefslogtreecommitdiff
path: root/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs')
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index f0761762..0f7f8a88 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -6,8 +6,6 @@ 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 System.Runtime.CompilerServices;
10 using System.Threading;
11 using WixBuildTools.TestSupport; 9 using WixBuildTools.TestSupport;
12 using Xunit; 10 using Xunit;
13 11
@@ -326,82 +324,6 @@ namespace WixToolsetTest.Sdk
326 [InlineData(BuildSystem.DotNetCoreSdk)] 324 [InlineData(BuildSystem.DotNetCoreSdk)]
327 [InlineData(BuildSystem.MSBuild)] 325 [InlineData(BuildSystem.MSBuild)]
328 [InlineData(BuildSystem.MSBuild64)] 326 [InlineData(BuildSystem.MSBuild64)]
329 public void CannotBuildMsiPackageWithIceIssues(BuildSystem buildSystem)
330 {
331 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage");
332
333 var testLogsFolder = TestData.GetUnitTestLogsFolder();
334 File.Delete(Path.Combine(testLogsFolder, buildSystem + ".binlog"));
335 File.Delete(Path.Combine(testLogsFolder, buildSystem + ".msi"));
336
337 using (var fs = new TestDataFolderFileSystem())
338 {
339 fs.Initialize(sourceFolder);
340 var baseFolder = fs.BaseFolder;
341 var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj");
342
343 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, suppressValidation: false);
344
345 File.Copy(Path.ChangeExtension(projectPath, ".binlog"), Path.Combine(testLogsFolder, buildSystem + ".binlog"));
346 File.Copy(Path.Combine(baseFolder, "obj", "x86", "Release", "en-US", "MsiPackage.msi"), Path.Combine(testLogsFolder, buildSystem + ".msi"));
347
348 var iceIssues = result.Output.Where(line => line.Contains(": error") || line.Contains(": warning"))
349 .Select(line => line.Replace(baseFolder, "<baseFolder>")
350 .Replace("1>", String.Empty) // remove any multi-proc markers
351 .Replace("WIX204", "WIX0204") // normalize error number reporting because MSBuild is not consistent on zero padding
352 .Trim())
353 .OrderBy(s => s, StringComparer.OrdinalIgnoreCase)
354 .ToArray();
355 WixAssert.CompareLineByLine(new[]
356 {
357 @"<baseFolder>\Package.wxs(17): error WIX0204: ICE12: CustomAction: CausesICE12Error is of type: 35. Therefore it must come after CostFinalize @ 1000 in Seq Table: InstallExecuteSequence. CA Seq#: 49 [<baseFolder>\MsiPackage.wixproj]",
358 @"<baseFolder>\Package.wxs(17): error WIX0204: ICE12: CustomAction: CausesICE12Error is of type: 35. Therefore it must come after CostFinalize @ 1000 in Seq Table: InstallExecuteSequence. CA Seq#: 49 [<baseFolder>\MsiPackage.wixproj]",
359 @"<baseFolder>\Package.wxs(8): warning WIX1076: ICE46: Property 'Myproperty' referenced in column 'LaunchCondition'.'Condition' of row 'Myproperty' differs from a defined property by case only. [<baseFolder>\MsiPackage.wixproj]",
360 @"<baseFolder>\Package.wxs(8): warning WIX1076: ICE46: Property 'Myproperty' referenced in column 'LaunchCondition'.'Condition' of row 'Myproperty' differs from a defined property by case only. [<baseFolder>\MsiPackage.wixproj]",
361 }, iceIssues);
362 }
363 }
364
365 [Theory(Skip = "Flaky")]
366 [InlineData(BuildSystem.DotNetCoreSdk)]
367 [InlineData(BuildSystem.MSBuild)]
368 [InlineData(BuildSystem.MSBuild64)]
369 public void CannotBuildMsiPackageWithIceWarningsAsErrors(BuildSystem buildSystem)
370 {
371 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage");
372
373 using (var fs = new TestDataFolderFileSystem())
374 {
375 fs.Initialize(sourceFolder);
376 var baseFolder = fs.BaseFolder;
377 var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj");
378
379 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
380 {
381 $"-p:TreatWarningsAsErrors=true",
382 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressIces", "ICE12"),
383 }, suppressValidation: false);
384 Assert.Equal(1, result.ExitCode);
385
386 var iceIssues = result.Output.Where(line => (line.Contains(": error") || line.Contains(": warning")))
387 .Select(line => line.Replace(baseFolder, "<baseFolder>")
388 .Replace("1>", String.Empty) // remove any multi-proc markers
389 .Replace("WIX204", "WIX0204") // normalize error number reporting because MSBuild is not consistent on zero padding
390 .Trim())
391 .OrderBy(s => s, StringComparer.OrdinalIgnoreCase)
392 .ToArray();
393 WixAssert.CompareLineByLine(new[]
394 {
395 @"<baseFolder>\Package.wxs(8): error WIX1076: ICE46: Property 'Myproperty' referenced in column 'LaunchCondition'.'Condition' of row 'Myproperty' differs from a defined property by case only. [<baseFolder>\MsiPackage.wixproj]",
396 @"<baseFolder>\Package.wxs(8): error WIX1076: ICE46: Property 'Myproperty' referenced in column 'LaunchCondition'.'Condition' of row 'Myproperty' differs from a defined property by case only. [<baseFolder>\MsiPackage.wixproj]",
397 }, iceIssues);
398 }
399 }
400
401 [Theory]
402 [InlineData(BuildSystem.DotNetCoreSdk)]
403 [InlineData(BuildSystem.MSBuild)]
404 [InlineData(BuildSystem.MSBuild64)]
405 public void CanBuildMsiPackageWithIceSuppressions(BuildSystem buildSystem) 327 public void CanBuildMsiPackageWithIceSuppressions(BuildSystem buildSystem)
406 { 328 {
407 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage"); 329 var sourceFolder = TestData.Get(@"TestData\MsiPackageWithIceError\MsiPackage");