aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs')
-rw-r--r--src/test/WixToolsetTest.ManagedHost/DncHostFixture.cs232
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
3namespace 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}