diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-03-30 19:46:56 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-03-30 21:57:49 +1000 |
| commit | 0afd76e4c5d46f237591d860e7d445e267522187 (patch) | |
| tree | 9f3b648da7733464c83ba6e253a65a18d17f5583 /src/test | |
| parent | d74e3dd4bcc573d0c4b1fb5c36c8bf0115cc21a1 (diff) | |
| download | wix-0afd76e4c5d46f237591d860e7d445e267522187.tar.gz wix-0afd76e4c5d46f237591d860e7d445e267522187.tar.bz2 wix-0afd76e4c5d46f237591d860e7d445e267522187.zip | |
Add DetectSHA2Support "search".
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs | 5 | ||||
| -rw-r--r-- | src/test/WixToolsetTest.Util/UtilExtensionFixture.cs | 55 |
2 files changed, 29 insertions, 31 deletions
diff --git a/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs b/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs index cafd4255..82646b37 100644 --- a/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs +++ b/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | <util:RegistrySearchRef Id="RegistrySearchId" /> | 7 | <util:RegistrySearchRef Id="RegistrySearchId" /> |
| 8 | <util:ProductSearchRef Id="ProductSearchId" /> | 8 | <util:ProductSearchRef Id="ProductSearchId" /> |
| 9 | <util:FileSearchRef Id="FileSearchId" /> | 9 | <util:FileSearchRef Id="FileSearchId" /> |
| 10 | <util:DetectSHA2SupportRef Id="DetectSHA2SupportId" /> | ||
| 10 | 11 | ||
| 11 | <Chain> | 12 | <Chain> |
| 12 | <MsiPackage SourceFile="test.msi"> | 13 | <MsiPackage SourceFile="test.msi"> |
| @@ -32,4 +33,8 @@ | |||
| 32 | <Fragment> | 33 | <Fragment> |
| 33 | <util:FileSearch Id="FileSearchId" Variable="FileSearchVariable" Path="%windir%\System32\mscoree.dll" Result="exists" /> | 34 | <util:FileSearch Id="FileSearchId" Variable="FileSearchVariable" Path="%windir%\System32\mscoree.dll" Result="exists" /> |
| 34 | </Fragment> | 35 | </Fragment> |
| 36 | |||
| 37 | <Fragment> | ||
| 38 | <util:DetectSHA2Support Id="DetectSHA2SupportId" Variable="IsSHA2Supported" /> | ||
| 39 | </Fragment> | ||
| 35 | </Wix> | 40 | </Wix> |
diff --git a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs index 8f33eff5..c5b370ac 100644 --- a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs +++ b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs | |||
| @@ -146,6 +146,9 @@ namespace WixToolsetTest.Util | |||
| 146 | { | 146 | { |
| 147 | var baseFolder = fs.GetFolder(); | 147 | var baseFolder = fs.GetFolder(); |
| 148 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | 148 | var intermediateFolder = Path.Combine(baseFolder, "obj"); |
| 149 | var bundlePath = Path.Combine(baseFolder, @"bin\test.exe"); | ||
| 150 | var baFolderPath = Path.Combine(baseFolder, "ba"); | ||
| 151 | var extractFolderPath = Path.Combine(baseFolder, "extract"); | ||
| 149 | 152 | ||
| 150 | var result = WixRunner.Execute(new[] | 153 | var result = WixRunner.Execute(new[] |
| 151 | { | 154 | { |
| @@ -156,45 +159,35 @@ namespace WixToolsetTest.Util | |||
| 156 | "-bindpath", Path.Combine(folder, "data"), | 159 | "-bindpath", Path.Combine(folder, "data"), |
| 157 | "-intermediateFolder", intermediateFolder, | 160 | "-intermediateFolder", intermediateFolder, |
| 158 | "-burnStub", burnStubPath, | 161 | "-burnStub", burnStubPath, |
| 159 | "-o", Path.Combine(baseFolder, @"bin\test.exe") | 162 | "-o", bundlePath |
| 160 | }); | 163 | }); |
| 161 | 164 | ||
| 162 | result.AssertSuccess(); | 165 | result.AssertSuccess(); |
| 163 | 166 | ||
| 164 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); | 167 | Assert.True(File.Exists(bundlePath)); |
| 165 | #if TODO | 168 | #if TODO |
| 166 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | 169 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); |
| 167 | #endif | 170 | #endif |
| 168 | 171 | ||
| 169 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir")); | 172 | var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath); |
| 170 | var section = intermediate.Sections.Single(); | 173 | extractResult.AssertSuccess(); |
| 171 | 174 | ||
| 172 | var searchTuples = section.Tuples.OfType<WixSearchTuple>().OrderBy(t => t.Id.Id).ToList(); | 175 | var bundleExtensionDatas = extractResult.SelectBundleExtensionDataNodes("/be:BundleExtensionData/be:BundleExtension[@Id='WixUtilBundleExtension']"); |
| 173 | Assert.Equal(3, searchTuples.Count); | 176 | Assert.Equal(1, bundleExtensionDatas.Count); |
| 174 | Assert.Equal("FileSearchId", searchTuples[0].Id.Id); | 177 | Assert.Equal("<BundleExtension Id='WixUtilBundleExtension'>" + |
| 175 | Assert.Equal("FileSearchVariable", searchTuples[0].Variable); | 178 | "<WixDetectSHA2Support Id='DetectSHA2SupportId' />" + |
| 176 | Assert.Equal("ProductSearchId", searchTuples[1].Id.Id); | 179 | "</BundleExtension>", bundleExtensionDatas[0].GetTestXml()); |
| 177 | Assert.Equal("ProductSearchVariable", searchTuples[1].Variable); | 180 | |
| 178 | Assert.Equal("1 & 2 < 3", searchTuples[1].Condition); | 181 | var utilSearches = extractResult.SelectManifestNodes("/burn:BurnManifest/*[self::burn:ExtensionSearch or self::burn:FileSearch or self::burn:MsiProductSearch or self::burn:RegistrySearch]"); |
| 179 | Assert.Equal("RegistrySearchId", searchTuples[2].Id.Id); | 182 | Assert.Equal(4, utilSearches.Count); |
| 180 | Assert.Equal("RegistrySearchVariable", searchTuples[2].Variable); | 183 | Assert.Equal("<ExtensionSearch Id='DetectSHA2SupportId' Variable='IsSHA2Supported' " + |
| 181 | 184 | "ExtensionId='WixUtilBundleExtension' />", utilSearches[0].GetTestXml()); | |
| 182 | var fileSearchTuple = section.Tuples.OfType<WixFileSearchTuple>().Single(); | 185 | Assert.Equal("<FileSearch Id='FileSearchId' Variable='FileSearchVariable' " + |
| 183 | Assert.Equal("FileSearchId", fileSearchTuple.Id.Id); | 186 | $@"Path='%windir%\System32\mscoree.dll' Type='exists' />", utilSearches[1].GetTestXml()); |
| 184 | Assert.Equal(@"%windir%\System32\mscoree.dll", fileSearchTuple.Path); | 187 | Assert.Equal("<MsiProductSearch Id='ProductSearchId' Variable='ProductSearchVariable' Condition='1 & 2 < 3' " + |
| 185 | Assert.Equal(WixFileSearchAttributes.Default | WixFileSearchAttributes.WantExists, fileSearchTuple.Attributes); | 188 | "UpgradeCode='{738D02BF-E231-4370-8209-E9FD4E1BE2A1}' Type='version' />", utilSearches[2].GetTestXml()); |
| 186 | 189 | Assert.Equal("<RegistrySearch Id='RegistrySearchId' Variable='RegistrySearchVariable' " + | |
| 187 | var productSearchTuple = section.Tuples.OfType<WixProductSearchTuple>().Single(); | 190 | @"Root='HKLM' Key='SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' Value='Release' Type='value' VariableType='string' />", utilSearches[3].GetTestXml()); |
| 188 | Assert.Equal("ProductSearchId", productSearchTuple.Id.Id); | ||
| 189 | Assert.Equal("{738D02BF-E231-4370-8209-E9FD4E1BE2A1}", productSearchTuple.Guid); | ||
| 190 | Assert.Equal(WixProductSearchAttributes.Version | WixProductSearchAttributes.UpgradeCode, productSearchTuple.Attributes); | ||
| 191 | |||
| 192 | var registrySearchTuple = section.Tuples.OfType<WixRegistrySearchTuple>().Single(); | ||
| 193 | Assert.Equal("RegistrySearchId", registrySearchTuple.Id.Id); | ||
| 194 | Assert.Equal(RegistryRootType.LocalMachine, registrySearchTuple.Root); | ||
| 195 | Assert.Equal(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full", registrySearchTuple.Key); | ||
| 196 | Assert.Equal("Release", registrySearchTuple.Value); | ||
| 197 | Assert.Equal(WixRegistrySearchAttributes.WantValue | WixRegistrySearchAttributes.Raw, registrySearchTuple.Attributes); | ||
| 198 | } | 191 | } |
| 199 | } | 192 | } |
| 200 | 193 | ||
