aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-18 21:17:51 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-18 21:31:28 +1000
commit190135bbe8e941dee1d60d10b03e11a91574c11f (patch)
tree381651cfbb157c0b46768fed705e6026ad2d3a2e /src/test
parenta6091afa5bd24fe65e7fc20f179ed888301afdf8 (diff)
downloadwix-190135bbe8e941dee1d60d10b03e11a91574c11f.tar.gz
wix-190135bbe8e941dee1d60d10b03e11a91574c11f.tar.bz2
wix-190135bbe8e941dee1d60d10b03e11a91574c11f.zip
Implement Burn pdb.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs77
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs14
2 files changed, 36 insertions, 55 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 }
diff --git a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
index 0e740554..44a0e283 100644
--- a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
@@ -50,21 +50,7 @@ namespace WixToolsetTest.CoreIntegration
50 result.AssertSuccess(); 50 result.AssertSuccess();
51 51
52 Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe"))); 52 Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.exe")));
53#if TODO
54 Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); 53 Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb")));
55#endif
56
57 var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wir"));
58 var section = intermediate.Sections.Single();
59
60 var bundleTuple = section.Tuples.OfType<WixBundleTuple>().Single();
61 Assert.Equal("1.0.0.0", bundleTuple.Version);
62
63 var previousVersion = bundleTuple.Fields[(int)WixBundleTupleFields.Version].PreviousValue;
64 Assert.Equal("!(bind.packageVersion.test.msi)", previousVersion.AsString());
65
66 var msiTuple = section.Tuples.OfType<WixBundlePackageTuple>().Single();
67 Assert.Equal("test.msi", msiTuple.Id.Id);
68 } 54 }
69 } 55 }
70 56