diff options
Diffstat (limited to 'src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs b/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs new file mode 100644 index 00000000..f5714c67 --- /dev/null +++ b/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs | |||
@@ -0,0 +1,232 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolsetTest.ManagedHost | ||
4 | { | ||
5 | using System.IO; | ||
6 | using WixBuildTools.TestSupport; | ||
7 | using WixToolset.Core.TestPackage; | ||
8 | using Xunit; | ||
9 | |||
10 | public class DncHostFixture | ||
11 | { | ||
12 | [Fact] | ||
13 | public void CanLoadSCDEarliestCoreMBA() | ||
14 | { | ||
15 | using (var fs = new DisposableFileSystem()) | ||
16 | { | ||
17 | var baseFolder = fs.GetFolder(); | ||
18 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
19 | var bundleFile = Path.Combine(binFolder, "SCDEarliestCoreMBA.exe"); | ||
20 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
21 | var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA"); | ||
22 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
23 | |||
24 | var compileResult = WixRunner.Execute(new[] | ||
25 | { | ||
26 | "build", | ||
27 | Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"), | ||
28 | Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"), | ||
29 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
30 | "-intermediateFolder", intermediateFolder, | ||
31 | "-bindpath", baSourceFolder, | ||
32 | "-burnStub", TestEngine.BurnStubFile, | ||
33 | "-o", bundleFile, | ||
34 | }); | ||
35 | compileResult.AssertSuccess(); | ||
36 | var testEngine = new TestEngine(); | ||
37 | |||
38 | var result = testEngine.RunShutdownEngine(bundleFile, baseFolder); | ||
39 | var logMessages = result.Output; | ||
40 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
41 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
42 | Assert.Equal("EarliestCoreBA", logMessages[2]); | ||
43 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
44 | } | ||
45 | } | ||
46 | |||
47 | [Fact] | ||
48 | public void CanLoadTrimmedSCDEarliestCoreMBA() | ||
49 | { | ||
50 | using (var fs = new DisposableFileSystem()) | ||
51 | { | ||
52 | var baseFolder = fs.GetFolder(); | ||
53 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
54 | var bundleFile = Path.Combine(binFolder, "TrimmedSCDEarliestCoreMBA.exe"); | ||
55 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
56 | var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA"); | ||
57 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
58 | |||
59 | var compileResult = WixRunner.Execute(new[] | ||
60 | { | ||
61 | "build", | ||
62 | Path.Combine(bundleSourceFolder, "TrimmedSelfContainedBundle.wxs"), | ||
63 | Path.Combine(bundleSourceFolder, "HarvestedTrimmedSCD.wxs"), | ||
64 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
65 | "-intermediateFolder", intermediateFolder, | ||
66 | "-bindpath", baSourceFolder, | ||
67 | "-burnStub", TestEngine.BurnStubFile, | ||
68 | "-o", bundleFile, | ||
69 | }); | ||
70 | compileResult.AssertSuccess(); | ||
71 | var testEngine = new TestEngine(); | ||
72 | |||
73 | var result = testEngine.RunShutdownEngine(bundleFile, baseFolder); | ||
74 | var logMessages = result.Output; | ||
75 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
76 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
77 | Assert.Equal("EarliestCoreBA", logMessages[2]); | ||
78 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | [Fact] | ||
83 | public void CanReloadSCDEarliestCoreMBA() | ||
84 | { | ||
85 | using (var fs = new DisposableFileSystem()) | ||
86 | { | ||
87 | var baseFolder = fs.GetFolder(); | ||
88 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
89 | var bundleFile = Path.Combine(binFolder, "SCDEarliestCoreMBA.exe"); | ||
90 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
91 | var bundleSourceFolder = TestData.Get(@"TestData\EarliestCoreMBA"); | ||
92 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
93 | |||
94 | var compileResult = WixRunner.Execute(new[] | ||
95 | { | ||
96 | "build", | ||
97 | Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"), | ||
98 | Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"), | ||
99 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
100 | "-intermediateFolder", intermediateFolder, | ||
101 | "-bindpath", baSourceFolder, | ||
102 | "-burnStub", TestEngine.BurnStubFile, | ||
103 | "-o", bundleFile, | ||
104 | }); | ||
105 | compileResult.AssertSuccess(); | ||
106 | var testEngine = new TestEngine(); | ||
107 | |||
108 | var result = testEngine.RunReloadEngine(bundleFile, baseFolder); | ||
109 | var logMessages = result.Output; | ||
110 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
111 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
112 | Assert.Equal("EarliestCoreBA", logMessages[2]); | ||
113 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
114 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[4]); | ||
115 | Assert.Equal("Reloaded 1 time(s)", logMessages[5]); // dnchost doesn't currently support unloading | ||
116 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[6]); | ||
117 | Assert.Equal("EarliestCoreBA", logMessages[7]); | ||
118 | Assert.Equal("Shutdown,Restart,0", logMessages[8]); | ||
119 | } | ||
120 | } | ||
121 | |||
122 | [Fact] | ||
123 | public void CanLoadSCDLatestCoreMBA() | ||
124 | { | ||
125 | using (var fs = new DisposableFileSystem()) | ||
126 | { | ||
127 | var baseFolder = fs.GetFolder(); | ||
128 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
129 | var bundleFile = Path.Combine(binFolder, "SCDLatestCoreMBA.exe"); | ||
130 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
131 | var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA"); | ||
132 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
133 | |||
134 | var compileResult = WixRunner.Execute(new[] | ||
135 | { | ||
136 | "build", | ||
137 | Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"), | ||
138 | Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"), | ||
139 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
140 | "-intermediateFolder", intermediateFolder, | ||
141 | "-bindpath", baSourceFolder, | ||
142 | "-burnStub", TestEngine.BurnStubFile, | ||
143 | "-o", bundleFile, | ||
144 | }); | ||
145 | compileResult.AssertSuccess(); | ||
146 | var testEngine = new TestEngine(); | ||
147 | |||
148 | var result = testEngine.RunShutdownEngine(bundleFile, baseFolder); | ||
149 | var logMessages = result.Output; | ||
150 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
151 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
152 | Assert.Equal("LatestCoreBA", logMessages[2]); | ||
153 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
154 | } | ||
155 | } | ||
156 | |||
157 | [Fact] | ||
158 | public void CanLoadTrimmedSCDLatestCoreMBA() | ||
159 | { | ||
160 | using (var fs = new DisposableFileSystem()) | ||
161 | { | ||
162 | var baseFolder = fs.GetFolder(); | ||
163 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
164 | var bundleFile = Path.Combine(binFolder, "TrimmedSCDLatestCoreMBA.exe"); | ||
165 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
166 | var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA"); | ||
167 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
168 | |||
169 | var compileResult = WixRunner.Execute(new[] | ||
170 | { | ||
171 | "build", | ||
172 | Path.Combine(bundleSourceFolder, "TrimmedSelfContainedBundle.wxs"), | ||
173 | Path.Combine(bundleSourceFolder, "HarvestedTrimmedSCD.wxs"), | ||
174 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
175 | "-intermediateFolder", intermediateFolder, | ||
176 | "-bindpath", baSourceFolder, | ||
177 | "-burnStub", TestEngine.BurnStubFile, | ||
178 | "-o", bundleFile, | ||
179 | }); | ||
180 | compileResult.AssertSuccess(); | ||
181 | var testEngine = new TestEngine(); | ||
182 | |||
183 | var result = testEngine.RunShutdownEngine(bundleFile, baseFolder); | ||
184 | var logMessages = result.Output; | ||
185 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
186 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
187 | Assert.Equal("LatestCoreBA", logMessages[2]); | ||
188 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
189 | } | ||
190 | } | ||
191 | |||
192 | [Fact] | ||
193 | public void CanReloadSCDLatestCoreMBA() | ||
194 | { | ||
195 | using (var fs = new DisposableFileSystem()) | ||
196 | { | ||
197 | var baseFolder = fs.GetFolder(); | ||
198 | var binFolder = Path.Combine(baseFolder, "bin"); | ||
199 | var bundleFile = Path.Combine(binFolder, "SCDLatestCoreMBA.exe"); | ||
200 | var baSourceFolder = TestData.Get(@"..\examples"); | ||
201 | var bundleSourceFolder = TestData.Get(@"TestData\LatestCoreMBA"); | ||
202 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
203 | |||
204 | var compileResult = WixRunner.Execute(new[] | ||
205 | { | ||
206 | "build", | ||
207 | Path.Combine(bundleSourceFolder, "SelfContainedBundle.wxs"), | ||
208 | Path.Combine(bundleSourceFolder, "HarvestedSCD.wxs"), | ||
209 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
210 | "-intermediateFolder", intermediateFolder, | ||
211 | "-bindpath", baSourceFolder, | ||
212 | "-burnStub", TestEngine.BurnStubFile, | ||
213 | "-o", bundleFile, | ||
214 | }); | ||
215 | compileResult.AssertSuccess(); | ||
216 | var testEngine = new TestEngine(); | ||
217 | |||
218 | var result = testEngine.RunReloadEngine(bundleFile, baseFolder); | ||
219 | var logMessages = result.Output; | ||
220 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[0]); | ||
221 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[1]); | ||
222 | Assert.Equal("LatestCoreBA", logMessages[2]); | ||
223 | Assert.Equal("Shutdown,ReloadBootstrapper,0", logMessages[3]); | ||
224 | Assert.Equal("Loading .NET Core SCD bootstrapper application.", logMessages[4]); | ||
225 | Assert.Equal("Reloaded 1 time(s)", logMessages[5]); // dnchost doesn't currently support unloading | ||
226 | Assert.Equal("Creating BA thread to run asynchronously.", logMessages[6]); | ||
227 | Assert.Equal("LatestCoreBA", logMessages[7]); | ||
228 | Assert.Equal("Shutdown,Restart,0", logMessages[8]); | ||
229 | } | ||
230 | } | ||
231 | } | ||
232 | } | ||