diff options
Diffstat (limited to 'src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs')
-rw-r--r-- | src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | 114 |
1 files changed, 112 insertions, 2 deletions
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index 40ebad5b..bd6f70bc 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
@@ -273,7 +273,47 @@ namespace WixToolsetTest.Sdk | |||
273 | }); | 273 | }); |
274 | } | 274 | } |
275 | 275 | ||
276 | private void AssertWixpdb(BuildSystem buildSystem, string wixpdbType, string[] expectedOutputFiles) | 276 | [Theory] |
277 | [InlineData(BuildSystem.DotNetCoreSdk)] | ||
278 | [InlineData(BuildSystem.MSBuild)] | ||
279 | [InlineData(BuildSystem.MSBuild64)] | ||
280 | public void CanBuildWithWixpdbToDifferentFolder(BuildSystem buildSystem) | ||
281 | { | ||
282 | var expectedOutputFiles = new[] | ||
283 | { | ||
284 | @"bin\x86\Release\en-US\cab1.cab", | ||
285 | @"bin\x86\Release\en-US\MsiPackage.msi", | ||
286 | @"pdb\en-US\MsiPackage.wixpdb", | ||
287 | }; | ||
288 | |||
289 | var sourceFolder = TestData.Get(@"TestData", "SimpleMsiPackage", "MsiPackage"); | ||
290 | |||
291 | using (var fs = new TestDataFolderFileSystem()) | ||
292 | { | ||
293 | fs.Initialize(sourceFolder); | ||
294 | var baseFolder = fs.BaseFolder; | ||
295 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
296 | var pdbFolder = Path.Combine(baseFolder, @"pdb\"); | ||
297 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | ||
298 | |||
299 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
300 | { | ||
301 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
302 | $"-p:PdbOutputDir={pdbFolder}", | ||
303 | "-p:SuppressValidation=true" | ||
304 | }); | ||
305 | result.AssertSuccess(); | ||
306 | |||
307 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
308 | .Concat(Directory.EnumerateFiles(pdbFolder, @"*.*", SearchOption.AllDirectories)) | ||
309 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
310 | .OrderBy(s => s) | ||
311 | .ToArray(); | ||
312 | WixAssert.CompareLineByLine(expectedOutputFiles, paths); | ||
313 | } | ||
314 | } | ||
315 | |||
316 | private void AssertWixpdb(BuildSystem buildSystem, string debugType, string[] expectedOutputFiles) | ||
277 | { | 317 | { |
278 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 318 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
279 | 319 | ||
@@ -287,7 +327,7 @@ namespace WixToolsetTest.Sdk | |||
287 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 327 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
288 | { | 328 | { |
289 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | 329 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), |
290 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", | 330 | debugType == null ? String.Empty : $"-p:DebugType={debugType}", |
291 | "-p:SuppressValidation=true" | 331 | "-p:SuppressValidation=true" |
292 | }); | 332 | }); |
293 | result.AssertSuccess(); | 333 | result.AssertSuccess(); |
@@ -425,6 +465,76 @@ namespace WixToolsetTest.Sdk | |||
425 | } | 465 | } |
426 | 466 | ||
427 | [Theory] | 467 | [Theory] |
468 | [InlineData(BuildSystem.DotNetCoreSdk, null)] | ||
469 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | ||
470 | [InlineData(BuildSystem.MSBuild, null)] | ||
471 | [InlineData(BuildSystem.MSBuild, true)] | ||
472 | [InlineData(BuildSystem.MSBuild64, null)] | ||
473 | [InlineData(BuildSystem.MSBuild64, true)] | ||
474 | public void CanBuildSimpleWixlib(BuildSystem buildSystem, bool? outOfProc) | ||
475 | { | ||
476 | var sourceFolder = TestData.Get(@"TestData", "Wixlib", "SimpleWixlib"); | ||
477 | |||
478 | using (var fs = new TestDataFolderFileSystem()) | ||
479 | { | ||
480 | fs.Initialize(sourceFolder); | ||
481 | var baseFolder = fs.BaseFolder; | ||
482 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
483 | var projectPath = Path.Combine(baseFolder, "SimpleWixlib.wixproj"); | ||
484 | |||
485 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
486 | { | ||
487 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
488 | }, outOfProc: outOfProc); | ||
489 | result.AssertSuccess(); | ||
490 | |||
491 | var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem, outOfProc); | ||
492 | Assert.Single(wixBuildCommands); | ||
493 | |||
494 | var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
495 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
496 | .Single(); | ||
497 | WixAssert.StringEqual(@"bin\x86\Release\SimpleWixlib.wixlib", path); | ||
498 | } | ||
499 | } | ||
500 | |||
501 | [Theory] | ||
502 | [InlineData(BuildSystem.DotNetCoreSdk, null)] | ||
503 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | ||
504 | [InlineData(BuildSystem.MSBuild, null)] | ||
505 | [InlineData(BuildSystem.MSBuild, true)] | ||
506 | [InlineData(BuildSystem.MSBuild64, null)] | ||
507 | [InlineData(BuildSystem.MSBuild64, true)] | ||
508 | public void CanBuildPackageIncludingSimpleWixlib(BuildSystem buildSystem, bool? outOfProc) | ||
509 | { | ||
510 | var sourceFolder = TestData.Get(@"TestData", "Wixlib"); | ||
511 | |||
512 | using (var fs = new TestDataFolderFileSystem()) | ||
513 | { | ||
514 | fs.Initialize(sourceFolder); | ||
515 | var baseFolder = fs.BaseFolder; | ||
516 | var binFolder = Path.Combine(baseFolder, "PackageIncludesWixlib", @"bin\"); | ||
517 | var projectPath = Path.Combine(baseFolder, "PackageIncludesWixlib", "PackageIncludesWixlib.wixproj"); | ||
518 | |||
519 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
520 | { | ||
521 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
522 | }, outOfProc: outOfProc); | ||
523 | result.AssertSuccess(); | ||
524 | |||
525 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
526 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
527 | .ToArray(); | ||
528 | WixAssert.CompareLineByLine(new[] | ||
529 | { | ||
530 | @"PackageIncludesWixlib\bin\x86\Release\cab1.cab", | ||
531 | @"PackageIncludesWixlib\bin\x86\Release\PackageIncludesWixlib.msi", | ||
532 | @"PackageIncludesWixlib\bin\x86\Release\PackageIncludesWixlib.wixpdb", | ||
533 | }, paths); | ||
534 | } | ||
535 | } | ||
536 | |||
537 | [Theory] | ||
428 | [InlineData(BuildSystem.DotNetCoreSdk)] | 538 | [InlineData(BuildSystem.DotNetCoreSdk)] |
429 | [InlineData(BuildSystem.MSBuild)] | 539 | [InlineData(BuildSystem.MSBuild)] |
430 | [InlineData(BuildSystem.MSBuild64)] | 540 | [InlineData(BuildSystem.MSBuild64)] |