@joebigelow / wix / commits / 8e51e27a

Add failing test for authoring Provides in chain packages.

Sean Hall committed Mar 8, 2021 at 14:20 UTC 8e51e27adbcfe1892463463b4e7dc251019f427c
2 files changed +53
src/test/WixToolsetTest.CoreIntegration/DependencyExtensionFixture.cs
+43
@@ -12,6 +12,49 @@ namespace WixToolsetTest.CoreIntegration
12
13 public class DependencyExtensionFixture
14 {
15 + [Fact(Skip = "Test demonstrates failure")]
16 + public void CanBuildBundleUsingExePackageWithProvides()
17 + {
18 + var folder = TestData.Get(@"TestData");
19 +
20 + using (var fs = new DisposableFileSystem())
21 + {
22 + var baseFolder = fs.GetFolder();
23 + var intermediateFolder = Path.Combine(baseFolder, "obj");
24 + var binFolder = Path.Combine(baseFolder, "bin");
25 + var bundlePath = Path.Combine(binFolder, "test.exe");
26 + var baFolderPath = Path.Combine(baseFolder, "ba");
27 + var extractFolderPath = Path.Combine(baseFolder, "extract");
28 +
29 + var result = WixRunner.Execute(new[]
30 + {
31 + "build",
32 + Path.Combine(folder, "Dependency", "ExePackageProvidesBundle.wxs"),
33 + Path.Combine(folder, "BundleWithPackageGroupRef", "Bundle.wxs"),
34 + "-bindpath", Path.Combine(folder, ".Data"),
35 + "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
36 + "-intermediateFolder", intermediateFolder,
37 + "-o", bundlePath,
38 + });
39 +
40 + result.AssertSuccess();
41 +
42 + Assert.True(File.Exists(bundlePath));
43 +
44 + var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
45 + extractResult.AssertSuccess();
46 +
47 + var provides = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Chain/burn:ExePackage/burn:Provides")
48 + .Cast<XmlElement>()
49 + .Select(e => e.GetTestXml())
50 + .ToArray();
51 + WixAssert.CompareLineByLine(new string[]
52 + {
53 + "<Provides Key='DependencyTests_ExeA,v1.0' Version='1.0.0.0' />",
54 + }, provides);
55 + }
56 + }
57 +
58 [Fact]
59 public void CanBuildBundleUsingMsiWithProvides()
60 {
src/test/WixToolsetTest.CoreIntegration/TestData/Dependency/ExePackageProvidesBundle.wxs new
+10
@@ -0,0 +1,10 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 + <Fragment>
4 + <PackageGroup Id="BundlePackages">
5 + <ExePackage DetectCondition="DetectedSomething" SourceFile="burn.exe">
6 + <Provides Key="DependencyTests_ExeA,v1.0" Version="1.0.0.0" />
7 + </ExePackage>
8 + </PackageGroup>
9 + </Fragment>
10 +</Wix>