diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2021-04-24 16:28:44 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-04-25 23:06:35 -0500 |
| commit | f4709371fa21ca1d0c06e04d1b53c0b10bfafeed (patch) | |
| tree | 622576e0b46b0cea56143fd707936f9635389bad /src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |
| parent | 23de0a19bffe457916b0a45e07044650ace8f456 (diff) | |
| download | wix-f4709371fa21ca1d0c06e04d1b53c0b10bfafeed.tar.gz wix-f4709371fa21ca1d0c06e04d1b53c0b10bfafeed.tar.bz2 wix-f4709371fa21ca1d0c06e04d1b53c0b10bfafeed.zip | |
Perform more bundle validation during linking.
#5273, #6291, #6398
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | 63 |
1 files changed, 59 insertions, 4 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs index cc91d212..ab644080 100644 --- a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |||
| @@ -10,6 +10,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 10 | using System.Xml; | 10 | using System.Xml; |
| 11 | using Example.Extension; | 11 | using Example.Extension; |
| 12 | using WixBuildTools.TestSupport; | 12 | using WixBuildTools.TestSupport; |
| 13 | using WixToolset.Core; | ||
| 13 | using WixToolset.Core.Burn; | 14 | using WixToolset.Core.Burn; |
| 14 | using WixToolset.Core.TestPackage; | 15 | using WixToolset.Core.TestPackage; |
| 15 | using WixToolset.Data; | 16 | using WixToolset.Data; |
| @@ -368,7 +369,61 @@ namespace WixToolsetTest.CoreIntegration | |||
| 368 | } | 369 | } |
| 369 | } | 370 | } |
| 370 | 371 | ||
| 371 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6291")] | 372 | [Fact] |
| 373 | public void CantBuildWithOrphanPayload() | ||
| 374 | { | ||
| 375 | var folder = TestData.Get(@"TestData"); | ||
| 376 | |||
| 377 | using (var fs = new DisposableFileSystem()) | ||
| 378 | { | ||
| 379 | var baseFolder = fs.GetFolder(); | ||
| 380 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 381 | var exePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 382 | |||
| 383 | var result = WixRunner.Execute(new[] | ||
| 384 | { | ||
| 385 | "build", | ||
| 386 | Path.Combine(folder, "BadInput", "OrphanPayload.wxs"), | ||
| 387 | Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), | ||
| 388 | Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"), | ||
| 389 | "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), | ||
| 390 | "-bindpath", Path.Combine(folder, ".Data"), | ||
| 391 | "-intermediateFolder", intermediateFolder, | ||
| 392 | "-o", exePath, | ||
| 393 | }); | ||
| 394 | |||
| 395 | Assert.Equal((int)LinkerErrors.Ids.OrphanedPayload, result.ExitCode); | ||
| 396 | } | ||
| 397 | } | ||
| 398 | |||
| 399 | [Fact] | ||
| 400 | public void CantBuildWithPackageInMultipleContainers() | ||
| 401 | { | ||
| 402 | var folder = TestData.Get(@"TestData"); | ||
| 403 | |||
| 404 | using (var fs = new DisposableFileSystem()) | ||
| 405 | { | ||
| 406 | var baseFolder = fs.GetFolder(); | ||
| 407 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 408 | var exePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 409 | |||
| 410 | var result = WixRunner.Execute(new[] | ||
| 411 | { | ||
| 412 | "build", | ||
| 413 | Path.Combine(folder, "BadInput", "PackageInMultipleContainers.wxs"), | ||
| 414 | Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), | ||
| 415 | Path.Combine(folder, "BundleWithPackageGroupRef", "MinimalPackageGroup.wxs"), | ||
| 416 | "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), | ||
| 417 | "-bindpath", Path.Combine(folder, ".Data"), | ||
| 418 | "-intermediateFolder", intermediateFolder, | ||
| 419 | "-o", exePath, | ||
| 420 | }); | ||
| 421 | |||
| 422 | Assert.Equal((int)LinkerErrors.Ids.PackageInMultipleContainers, result.ExitCode); | ||
| 423 | } | ||
| 424 | } | ||
| 425 | |||
| 426 | [Fact] | ||
| 372 | public void CantBuildWithUnscheduledPackage() | 427 | public void CantBuildWithUnscheduledPackage() |
| 373 | { | 428 | { |
| 374 | var folder = TestData.Get(@"TestData"); | 429 | var folder = TestData.Get(@"TestData"); |
| @@ -390,11 +445,11 @@ namespace WixToolsetTest.CoreIntegration | |||
| 390 | "-o", exePath, | 445 | "-o", exePath, |
| 391 | }); | 446 | }); |
| 392 | 447 | ||
| 393 | Assert.InRange(result.ExitCode, 2, Int32.MaxValue); | 448 | Assert.Equal((int)LinkerErrors.Ids.UnscheduledChainPackage, result.ExitCode); |
| 394 | } | 449 | } |
| 395 | } | 450 | } |
| 396 | 451 | ||
| 397 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6291")] | 452 | [Fact] |
| 398 | public void CantBuildWithUnscheduledRollbackBoundary() | 453 | public void CantBuildWithUnscheduledRollbackBoundary() |
| 399 | { | 454 | { |
| 400 | var folder = TestData.Get(@"TestData"); | 455 | var folder = TestData.Get(@"TestData"); |
| @@ -416,7 +471,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 416 | "-o", exePath, | 471 | "-o", exePath, |
| 417 | }); | 472 | }); |
| 418 | 473 | ||
| 419 | Assert.InRange(result.ExitCode, 2, Int32.MaxValue); | 474 | Assert.Equal((int)LinkerErrors.Ids.UnscheduledRollbackBoundary, result.ExitCode); |
| 420 | } | 475 | } |
| 421 | } | 476 | } |
| 422 | } | 477 | } |
