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>