diff options
| author | Rob Mensching <rob@firegiant.com> | 2019-10-25 00:48:35 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2019-10-25 00:53:29 -0700 |
| commit | 9c714a8f1baa6e0130e5cd00cbdca649cebaf6a5 (patch) | |
| tree | ebf26d0e37244f3014e0c4924a29af7f7e56e2f2 /src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs | |
| parent | 87580cbe111a8df836231a0192dee674cf482f08 (diff) | |
| download | wix-9c714a8f1baa6e0130e5cd00cbdca649cebaf6a5.tar.gz wix-9c714a8f1baa6e0130e5cd00cbdca649cebaf6a5.tar.bz2 wix-9c714a8f1baa6e0130e5cd00cbdca649cebaf6a5.zip | |
Update to WixOutput file structure to fix embedded file handling
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs | 87 |
1 files changed, 76 insertions, 11 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs index d056a1d6..e201b61f 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs | |||
| @@ -312,9 +312,8 @@ namespace WixToolsetTest.CoreIntegration | |||
| 312 | var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb"); | 312 | var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb"); |
| 313 | Assert.True(File.Exists(pdbPath)); | 313 | Assert.True(File.Exists(pdbPath)); |
| 314 | 314 | ||
| 315 | var pdb = Pdb.Load(pdbPath, suppressVersionCheck: true); | 315 | var output = Output.Load(pdbPath, suppressVersionCheck: true); |
| 316 | Assert.NotNull(pdb); | 316 | Assert.NotNull(output); |
| 317 | Assert.NotNull(pdb.Output); | ||
| 318 | } | 317 | } |
| 319 | } | 318 | } |
| 320 | 319 | ||
| @@ -449,6 +448,74 @@ namespace WixToolsetTest.CoreIntegration | |||
| 449 | } | 448 | } |
| 450 | 449 | ||
| 451 | [Fact] | 450 | [Fact] |
| 451 | public void CanBuildBinaryWixlib() | ||
| 452 | { | ||
| 453 | var folder = TestData.Get(@"TestData\SingleFile"); | ||
| 454 | |||
| 455 | using (var fs = new DisposableFileSystem()) | ||
| 456 | { | ||
| 457 | var baseFolder = fs.GetFolder(); | ||
| 458 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 459 | |||
| 460 | var result = WixRunner.Execute( | ||
| 461 | "build", | ||
| 462 | Path.Combine(folder, "Package.wxs"), | ||
| 463 | Path.Combine(folder, "PackageComponents.wxs"), | ||
| 464 | "-loc", Path.Combine(folder, "Package.en-us.wxl"), | ||
| 465 | "-bindpath", Path.Combine(folder, "data"), | ||
| 466 | "-intermediateFolder", intermediateFolder, | ||
| 467 | "-bindfiles", | ||
| 468 | "-o", Path.Combine(baseFolder, @"bin\test.wixlib")); | ||
| 469 | |||
| 470 | result.AssertSuccess(); | ||
| 471 | |||
| 472 | using (var wixout = WixOutput.Read(Path.Combine(baseFolder, @"bin\test.wixlib"))) | ||
| 473 | { | ||
| 474 | Assert.NotNull(wixout.GetDataStream("wix-ir.json")); | ||
| 475 | |||
| 476 | var text = wixout.GetData("wix-ir/test.txt"); | ||
| 477 | Assert.Equal("This is test.txt.", text); | ||
| 478 | } | ||
| 479 | } | ||
| 480 | } | ||
| 481 | |||
| 482 | [Fact] | ||
| 483 | public void CanBuildBinaryWixlibWithCollidingFilenames() | ||
| 484 | { | ||
| 485 | var folder = TestData.Get(@"TestData\SameFileFolders"); | ||
| 486 | |||
| 487 | using (var fs = new DisposableFileSystem()) | ||
| 488 | { | ||
| 489 | var baseFolder = fs.GetFolder(); | ||
| 490 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 491 | |||
| 492 | var result = WixRunner.Execute( | ||
| 493 | "build", | ||
| 494 | Path.Combine(folder, "TestComponents.wxs"), | ||
| 495 | "-bindpath", Path.Combine(folder, "data"), | ||
| 496 | "-intermediateFolder", intermediateFolder, | ||
| 497 | "-bindfiles", | ||
| 498 | "-o", Path.Combine(baseFolder, @"bin\test.wixlib")); | ||
| 499 | |||
| 500 | result.AssertSuccess(); | ||
| 501 | |||
| 502 | using (var wixout = WixOutput.Read(Path.Combine(baseFolder, @"bin\test.wixlib"))) | ||
| 503 | { | ||
| 504 | Assert.NotNull(wixout.GetDataStream("wix-ir.json")); | ||
| 505 | |||
| 506 | var text = wixout.GetData("wix-ir/test.txt"); | ||
| 507 | Assert.Equal(@"This is a\test.txt.", text); | ||
| 508 | |||
| 509 | var text2 = wixout.GetData("wix-ir/test.txt-1"); | ||
| 510 | Assert.Equal(@"This is b\test.txt.", text2); | ||
| 511 | |||
| 512 | var text3 = wixout.GetData("wix-ir/test.txt-2"); | ||
| 513 | Assert.Equal(@"This is c\test.txt.", text3); | ||
| 514 | } | ||
| 515 | } | ||
| 516 | } | ||
| 517 | |||
| 518 | [Fact] | ||
| 452 | public void CanBuildWithIncludePath() | 519 | public void CanBuildWithIncludePath() |
| 453 | { | 520 | { |
| 454 | var folder = TestData.Get(@"TestData\IncludePath"); | 521 | var folder = TestData.Get(@"TestData\IncludePath"); |
| @@ -459,8 +526,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 459 | var baseFolder = fs.GetFolder(); | 526 | var baseFolder = fs.GetFolder(); |
| 460 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | 527 | var intermediateFolder = Path.Combine(baseFolder, "obj"); |
| 461 | 528 | ||
| 462 | var result = WixRunner.Execute(new[] | 529 | var result = WixRunner.Execute( |
| 463 | { | ||
| 464 | "build", | 530 | "build", |
| 465 | Path.Combine(folder, "Package.wxs"), | 531 | Path.Combine(folder, "Package.wxs"), |
| 466 | Path.Combine(folder, "PackageComponents.wxs"), | 532 | Path.Combine(folder, "PackageComponents.wxs"), |
| @@ -468,8 +534,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 468 | "-bindpath", bindpath, | 534 | "-bindpath", bindpath, |
| 469 | "-intermediateFolder", intermediateFolder, | 535 | "-intermediateFolder", intermediateFolder, |
| 470 | "-o", Path.Combine(baseFolder, @"bin\test.msi"), | 536 | "-o", Path.Combine(baseFolder, @"bin\test.msi"), |
| 471 | "-i", bindpath, | 537 | "-i", bindpath); |
| 472 | }); | ||
| 473 | 538 | ||
| 474 | result.AssertSuccess(); | 539 | result.AssertSuccess(); |
| 475 | 540 | ||
| @@ -635,8 +700,8 @@ namespace WixToolsetTest.CoreIntegration | |||
| 635 | 700 | ||
| 636 | result.AssertSuccess(); | 701 | result.AssertSuccess(); |
| 637 | 702 | ||
| 638 | var pdb = Pdb.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false); | 703 | var output = Output.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false); |
| 639 | var caRows = pdb.Output.Tables["CustomAction"].Rows.Single(); | 704 | var caRows = output.Tables["CustomAction"].Rows.Single(); |
| 640 | Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0)); | 705 | Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0)); |
| 641 | Assert.Equal("51", caRows.FieldAsString(1)); | 706 | Assert.Equal("51", caRows.FieldAsString(1)); |
| 642 | Assert.Equal("INSTALLLOCATION", caRows.FieldAsString(2)); | 707 | Assert.Equal("INSTALLLOCATION", caRows.FieldAsString(2)); |
| @@ -711,8 +776,8 @@ namespace WixToolsetTest.CoreIntegration | |||
| 711 | 776 | ||
| 712 | result.AssertSuccess(); | 777 | result.AssertSuccess(); |
| 713 | 778 | ||
| 714 | var pdb = Pdb.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false); | 779 | var output = Output.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false); |
| 715 | Assert.NotEmpty(pdb.Output.SubStorages); | 780 | Assert.NotEmpty(output.SubStorages); |
| 716 | } | 781 | } |
| 717 | } | 782 | } |
| 718 | } | 783 | } |
