diff options
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs b/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs index ae83150a..3829cdf0 100644 --- a/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/BundleManifestFixture.cs | |||
| @@ -51,6 +51,93 @@ namespace WixToolsetTest.CoreIntegration | |||
| 51 | } | 51 | } |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | [Fact(Skip = "Test demonstrates failure")] | ||
| 55 | public void PopulatesBAManifestWithPackageInformation() | ||
| 56 | { | ||
| 57 | var folder = TestData.Get(@"TestData"); | ||
| 58 | |||
| 59 | using (var fs = new DisposableFileSystem()) | ||
| 60 | { | ||
| 61 | var baseFolder = fs.GetFolder(); | ||
| 62 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 63 | var bundlePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 64 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 65 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 66 | |||
| 67 | var result = WixRunner.Execute(false, new[] | ||
| 68 | { | ||
| 69 | "build", | ||
| 70 | Path.Combine(folder, "CustomPackageDescription", "CustomPackageDescription.wxs"), | ||
| 71 | Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), | ||
| 72 | "-bindpath", Path.Combine(folder, ".Data"), | ||
| 73 | "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), | ||
| 74 | "-intermediateFolder", intermediateFolder, | ||
| 75 | "-o", bundlePath | ||
| 76 | }); | ||
| 77 | |||
| 78 | result.AssertSuccess(); | ||
| 79 | |||
| 80 | Assert.True(File.Exists(bundlePath)); | ||
| 81 | |||
| 82 | var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); | ||
| 83 | extractResult.AssertSuccess(); | ||
| 84 | |||
| 85 | var packageElements = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixPackageProperties"); | ||
| 86 | var ignoreAttributesByElementName = new Dictionary<string, List<string>> | ||
| 87 | { | ||
| 88 | { "WixPackageProperties", new List<string> { "DownloadSize", "PackageSize", "InstalledSize", "Version" } }, | ||
| 89 | }; | ||
| 90 | Assert.Equal(3, packageElements.Count); | ||
| 91 | Assert.Equal("<WixPackageProperties Package='burn.exe' Vital='yes' DisplayName='Windows Installer XML Toolset' Description='WiX Toolset Bootstrapper' DownloadSize='*' PackageSize='*' InstalledSize='*' PackageType='Exe' Permanent='yes' LogPathVariable='WixBundleLog_burn.exe' RollbackLogPathVariable='WixBundleRollbackLog_burn.exe' Compressed='yes' Version='*' Cache='yes' />", packageElements[0].GetTestXml(ignoreAttributesByElementName)); | ||
| 92 | Assert.Equal("<WixPackageProperties Package='RemotePayloadExe' Vital='yes' DisplayName='Override RemotePayload display name' Description='Override RemotePayload description' DownloadSize='1' PackageSize='1' InstalledSize='1' PackageType='Exe' Permanent='yes' LogPathVariable='WixBundleLog_RemotePayloadExe' RollbackLogPathVariable='WixBundleRollbackLog_RemotePayloadExe' Compressed='no' Version='1.0.0.0' Cache='yes' />", packageElements[1].GetTestXml()); | ||
| 93 | Assert.Equal("<WixPackageProperties Package='calc.exe' Vital='yes' DisplayName='Override harvested display name' Description='Override harvested description' DownloadSize='*' PackageSize='*' InstalledSize='*' PackageType='Exe' Permanent='yes' LogPathVariable='WixBundleLog_calc.exe' RollbackLogPathVariable='WixBundleRollbackLog_calc.exe' Compressed='yes' Version='*' Cache='yes' />", packageElements[2].GetTestXml(ignoreAttributesByElementName)); | ||
| 94 | } | ||
| 95 | } | ||
| 96 | |||
| 97 | [Fact(Skip = "Test demonstrates failure")] | ||
| 98 | public void PopulatesBAManifestWithPayloadInformation() | ||
| 99 | { | ||
| 100 | var folder = TestData.Get(@"TestData"); | ||
| 101 | |||
| 102 | using (var fs = new DisposableFileSystem()) | ||
| 103 | { | ||
| 104 | var baseFolder = fs.GetFolder(); | ||
| 105 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 106 | var bundlePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 107 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 108 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 109 | |||
| 110 | var result = WixRunner.Execute(false, new[] | ||
| 111 | { | ||
| 112 | "build", | ||
| 113 | Path.Combine(folder, "SharedPayloadsBetweenPackages", "SharedPayloadsBetweenPackages.wxs"), | ||
| 114 | Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), | ||
| 115 | "-bindpath", Path.Combine(folder, ".Data"), | ||
| 116 | "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), | ||
| 117 | "-intermediateFolder", intermediateFolder, | ||
| 118 | "-o", bundlePath | ||
| 119 | }); | ||
| 120 | |||
| 121 | result.AssertSuccess(); | ||
| 122 | |||
| 123 | Assert.True(File.Exists(bundlePath)); | ||
| 124 | |||
| 125 | var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); | ||
| 126 | extractResult.AssertSuccess(); | ||
| 127 | |||
| 128 | var payloadElements = extractResult.SelectBADataNodes("/ba:BootstrapperApplicationData/ba:WixPayloadProperties"); | ||
| 129 | var ignoreAttributesByElementName = new Dictionary<string, List<string>> | ||
| 130 | { | ||
| 131 | { "WixPayloadProperties", new List<string> { "Size" } }, | ||
| 132 | }; | ||
| 133 | Assert.Equal(4, payloadElements.Count); | ||
| 134 | Assert.Equal("<WixPayloadProperties Payload='credwiz.exe' Package='credwiz.exe' Container='WixAttachedContainer' Name='credwiz.exe' Size='*' LayoutOnly='no' />", payloadElements[0].GetTestXml(ignoreAttributesByElementName)); | ||
| 135 | Assert.Equal("<WixPayloadProperties Payload='payue_e5DuhsDGlzJxWYPhqr6S7rkc' Package='credwiz.exe' Container='WixAttachedContainer' Name='SharedPayloadsBetweenPackages.wxs' Size='*' LayoutOnly='no' />", payloadElements[1].GetTestXml(ignoreAttributesByElementName)); | ||
| 136 | Assert.Equal("<WixPayloadProperties Payload='cscript.exe' Package='cscript.exe' Container='WixAttachedContainer' Name='cscript.exe' Size='*' LayoutOnly='no' />", payloadElements[2].GetTestXml(ignoreAttributesByElementName)); | ||
| 137 | Assert.Equal("<WixPayloadProperties Payload='payue_e5DuhsDGlzJxWYPhqr6S7rkc' Package='cscript.exe' Container='WixAttachedContainer' Name='SharedPayloadsBetweenPackages.wxs' Size='*' LayoutOnly='no' />", payloadElements[3].GetTestXml(ignoreAttributesByElementName)); | ||
| 138 | } | ||
| 139 | } | ||
| 140 | |||
| 54 | [Fact] | 141 | [Fact] |
| 55 | public void PopulatesBEManifestWithBundleExtensionBundleCustomData() | 142 | public void PopulatesBEManifestWithBundleExtensionBundleCustomData() |
| 56 | { | 143 | { |
| @@ -191,6 +278,48 @@ namespace WixToolsetTest.CoreIntegration | |||
| 191 | } | 278 | } |
| 192 | } | 279 | } |
| 193 | 280 | ||
| 281 | [Fact(Skip = "Test demonstrates failure")] | ||
| 282 | public void PopulatesManifestWithExePackages() | ||
| 283 | { | ||
| 284 | var folder = TestData.Get(@"TestData"); | ||
| 285 | |||
| 286 | using (var fs = new DisposableFileSystem()) | ||
| 287 | { | ||
| 288 | var baseFolder = fs.GetFolder(); | ||
| 289 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 290 | var bundlePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 291 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 292 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 293 | |||
| 294 | var result = WixRunner.Execute(false, new[] | ||
| 295 | { | ||
| 296 | "build", | ||
| 297 | Path.Combine(folder, "SharedPayloadsBetweenPackages", "SharedPayloadsBetweenPackages.wxs"), | ||
| 298 | Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"), | ||
| 299 | "-bindpath", Path.Combine(folder, ".Data"), | ||
| 300 | "-bindpath", Path.Combine(folder, "SimpleBundle", "data"), | ||
| 301 | "-intermediateFolder", intermediateFolder, | ||
| 302 | "-o", bundlePath | ||
| 303 | }); | ||
| 304 | |||
| 305 | result.AssertSuccess(); | ||
| 306 | |||
| 307 | Assert.True(File.Exists(bundlePath)); | ||
| 308 | |||
| 309 | var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); | ||
| 310 | extractResult.AssertSuccess(); | ||
| 311 | |||
| 312 | var exePackageElements = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Chain/burn:ExePackage"); | ||
| 313 | var ignoreAttributesByElementName = new Dictionary<string, List<string>> | ||
| 314 | { | ||
| 315 | { "ExePackage", new List<string> { "CacheId", "InstallSize", "Size" } }, | ||
| 316 | }; | ||
| 317 | Assert.Equal(2, exePackageElements.Count); | ||
| 318 | Assert.Equal("<ExePackage Id='credwiz.exe' Cache='yes' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='yes' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' LogPathVariable='WixBundleLog_credwiz.exe' RollbackLogPathVariable='WixBundleRollbackLog_credwiz.exe' DetectCondition='' InstallArguments='' UninstallArguments='' RepairArguments='' Repairable='no'><PayloadRef Id='credwiz.exe' /><PayloadRef Id='payue_e5DuhsDGlzJxWYPhqr6S7rkc' /></ExePackage>", exePackageElements[0].GetTestXml(ignoreAttributesByElementName)); | ||
| 319 | Assert.Equal("<ExePackage Id='cscript.exe' Cache='yes' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='yes' Vital='yes' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_cscript.exe' RollbackLogPathVariable='WixBundleRollbackLog_cscript.exe' DetectCondition='' InstallArguments='' UninstallArguments='' RepairArguments='' Repairable='no'><PayloadRef Id='cscript.exe' /><PayloadRef Id='payue_e5DuhsDGlzJxWYPhqr6S7rkc' /></ExePackage>", exePackageElements[1].GetTestXml(ignoreAttributesByElementName)); | ||
| 320 | } | ||
| 321 | } | ||
| 322 | |||
| 194 | [Fact] | 323 | [Fact] |
| 195 | public void PopulatesManifestWithSetVariables() | 324 | public void PopulatesManifestWithSetVariables() |
| 196 | { | 325 | { |
