diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-18 21:17:51 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-18 21:31:28 +1000 |
| commit | 190135bbe8e941dee1d60d10b03e11a91574c11f (patch) | |
| tree | 381651cfbb157c0b46768fed705e6026ad2d3a2e /src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |
| parent | a6091afa5bd24fe65e7fc20f179ed888301afdf8 (diff) | |
| download | wix-190135bbe8e941dee1d60d10b03e11a91574c11f.tar.gz wix-190135bbe8e941dee1d60d10b03e11a91574c11f.tar.bz2 wix-190135bbe8e941dee1d60d10b03e11a91574c11f.zip | |
Implement Burn pdb.
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | 77 |
1 files changed, 36 insertions, 41 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs index 58f61ab8..31cfed34 100644 --- a/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |||
| @@ -5,10 +5,12 @@ namespace WixToolsetTest.CoreIntegration | |||
| 5 | using System; | 5 | using System; |
| 6 | using System.IO; | 6 | using System.IO; |
| 7 | using System.Linq; | 7 | using System.Linq; |
| 8 | using System.Text; | ||
| 8 | using Example.Extension; | 9 | using Example.Extension; |
| 9 | using WixBuildTools.TestSupport; | 10 | using WixBuildTools.TestSupport; |
| 10 | using WixToolset.Core.TestPackage; | 11 | using WixToolset.Core.TestPackage; |
| 11 | using WixToolset.Data; | 12 | using WixToolset.Data; |
| 13 | using WixToolset.Data.Burn; | ||
| 12 | using WixToolset.Data.Tuples; | 14 | using WixToolset.Data.Tuples; |
| 13 | using Xunit; | 15 | using Xunit; |
| 14 | 16 | ||
| @@ -40,21 +42,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 40 | result.AssertSuccess(); | 42 | result.AssertSuccess(); |
| 41 | 43 | ||
| 42 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | 44 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); |
| 43 | #if TODO | ||
| 44 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | 45 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); |
| 45 | #endif | ||
| 46 | |||
| 47 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | ||
| 48 | var section = intermediate.Sections.Single(); | ||
| 49 | |||
| 50 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); | ||
| 51 | Assert.Equal("1.0.0.0", bundleTuple.Version); | ||
| 52 | |||
| 53 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; | ||
| 54 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | ||
| 55 | |||
| 56 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | ||
| 57 | Assert.Equal("test.msi", msiTuple.Id.Id); | ||
| 58 | } | 46 | } |
| 59 | } | 47 | } |
| 60 | 48 | ||
| @@ -68,6 +56,10 @@ namespace WixToolsetTest.CoreIntegration | |||
| 68 | { | 56 | { |
| 69 | var baseFolder = fs.GetFolder(); | 57 | var baseFolder = fs.GetFolder(); |
| 70 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | 58 | var intermediateFolder = Path.Combine(baseFolder, "obj"); |
| 59 | var exePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 60 | var pdbPath = Path.Combine(baseFolder, @"bin\test.wixpdb"); | ||
| 61 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 62 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 71 | 63 | ||
| 72 | var result = WixRunner.Execute(new[] | 64 | var result = WixRunner.Execute(new[] |
| 73 | { | 65 | { |
| @@ -77,27 +69,44 @@ namespace WixToolsetTest.CoreIntegration | |||
| 77 | "-bindpath", Path.Combine(folder, "data"), | 69 | "-bindpath", Path.Combine(folder, "data"), |
| 78 | "-intermediateFolder", intermediateFolder, | 70 | "-intermediateFolder", intermediateFolder, |
| 79 | "-burnStub", burnStubPath, | 71 | "-burnStub", burnStubPath, |
| 80 | "-o", Path.Combine(baseFolder, @"bin\test.exe") | 72 | "-o", exePath, |
| 81 | }); | 73 | }); |
| 82 | 74 | ||
| 83 | result.AssertSuccess(); | 75 | result.AssertSuccess(); |
| 84 | 76 | ||
| 85 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | 77 | Assert.True(File.Exists(exePath)); |
| 86 | #if TODO | 78 | Assert.True(File.Exists(pdbPath)); |
| 87 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | 79 | |
| 88 | #endif | 80 | using (var wixOutput = WixOutput.Read(pdbPath)) |
| 81 | { | ||
| 89 | 82 | ||
| 90 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | 83 | var intermediate = Intermediate.Load(wixOutput); |
| 91 | var section = intermediate.Sections.Single(); | 84 | var section = intermediate.Sections.Single(); |
| 92 | 85 | ||
| 93 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); | 86 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); |
| 94 | Assert.Equal("1.0.0.0", bundleTuple.Version); | 87 | Assert.Equal("1.0.0.0", bundleTuple.Version); |
| 95 | 88 | ||
| 96 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; | 89 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; |
| 97 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | 90 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); |
| 98 | 91 | ||
| 99 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | 92 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); |
| 100 | Assert.Equal("test.msi", msiTuple.Id.Id); | 93 | Assert.Equal("test.msi", msiTuple.Id.Id); |
| 94 | |||
| 95 | var extractResult = BundleExtractor.ExtractBAContainer(null, exePath, baFolderPath, extractFolderPath); | ||
| 96 | extractResult.AssertSuccess(); | ||
| 97 | |||
| 98 | var burnManifestData = wixOutput.GetData(BurnConstants.BurnManifestWixOutputStreamName); | ||
| 99 | var extractedBurnManifestData = File.ReadAllText(Path.Combine(baFolderPath, "manifest.xml"), Encoding.UTF8); | ||
| 100 | Assert.Equal(extractedBurnManifestData, burnManifestData); | ||
| 101 | |||
| 102 | var baManifestData = wixOutput.GetData(BurnConstants.BootstrapperApplicationDataWixOutputStreamName); | ||
| 103 | var extractedBaManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BootstrapperApplicationData.xml"), Encoding.UTF8); | ||
| 104 | Assert.Equal(extractedBaManifestData, baManifestData); | ||
| 105 | |||
| 106 | var bextManifestData = wixOutput.GetData(BurnConstants.BundleExtensionDataWixOutputStreamName); | ||
| 107 | var extractedBextManifestData = File.ReadAllText(Path.Combine(baFolderPath, "BundleExtensionData.xml"), Encoding.UTF8); | ||
| 108 | Assert.Equal(extractedBextManifestData, bextManifestData); | ||
| 109 | } | ||
| 101 | } | 110 | } |
| 102 | } | 111 | } |
| 103 | 112 | ||
| @@ -128,21 +137,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 128 | result.AssertSuccess(); | 137 | result.AssertSuccess(); |
| 129 | 138 | ||
| 130 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | 139 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); |
| 131 | #if TODO | ||
| 132 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | 140 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); |
| 133 | #endif | ||
| 134 | |||
| 135 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | ||
| 136 | var section = intermediate.Sections.Single(); | ||
| 137 | |||
| 138 | var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single(); | ||
| 139 | Assert.Equal("1.0.0.0", bundleTuple.Version); | ||
| 140 | |||
| 141 | var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue; | ||
| 142 | Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString()); | ||
| 143 | |||
| 144 | var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single(); | ||
| 145 | Assert.Equal("test.msi", msiTuple.Id.Id); | ||
| 146 | } | 141 | } |
| 147 | } | 142 | } |
| 148 | } | 143 | } |
