diff options
Diffstat (limited to 'src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs | 113 |
1 files changed, 58 insertions, 55 deletions
diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs index 4a831061..3515b314 100644 --- a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs +++ b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs | |||
@@ -11,10 +11,10 @@ namespace WixToolsetTest.MSBuild | |||
11 | 11 | ||
12 | public class MsbuildFixture | 12 | public class MsbuildFixture |
13 | { | 13 | { |
14 | private static readonly string WixPropsPath = Path.Combine(new Uri(typeof(MsbuildFixture).Assembly.CodeBase).AbsolutePath, "..", "..", "publish", "WixToolset.MSBuild", "build", "WixToolset.MSBuild.props"); | 14 | [Theory] |
15 | 15 | [InlineData(BuildSystem.MSBuild)] | |
16 | [Fact] | 16 | [InlineData(BuildSystem.MSBuild64)] |
17 | public void CanBuildSimpleBundle() | 17 | public void CanBuildSimpleBundle(BuildSystem buildSystem) |
18 | { | 18 | { |
19 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage"); | 19 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage"); |
20 | 20 | ||
@@ -25,10 +25,7 @@ namespace WixToolsetTest.MSBuild | |||
25 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 25 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
26 | var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); | 26 | var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); |
27 | 27 | ||
28 | var result = MsbuildRunner.Execute(projectPath, new[] | 28 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); |
29 | { | ||
30 | $"-p:WixMSBuildProps={WixPropsPath}", | ||
31 | }); | ||
32 | result.AssertSuccess(); | 29 | result.AssertSuccess(); |
33 | 30 | ||
34 | var platformSwitches = result.Output.Where(line => line.TrimStart().StartsWith("wix.exe build -platform x86")); | 31 | var platformSwitches = result.Output.Where(line => line.TrimStart().StartsWith("wix.exe build -platform x86")); |
@@ -49,8 +46,10 @@ namespace WixToolsetTest.MSBuild | |||
49 | } | 46 | } |
50 | } | 47 | } |
51 | 48 | ||
52 | [Fact] | 49 | [Theory] |
53 | public void CanBuildSimpleMsiPackage() | 50 | [InlineData(BuildSystem.MSBuild)] |
51 | [InlineData(BuildSystem.MSBuild64)] | ||
52 | public void CanBuildSimpleMsiPackage(BuildSystem buildSystem) | ||
54 | { | 53 | { |
55 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 54 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
56 | 55 | ||
@@ -61,10 +60,7 @@ namespace WixToolsetTest.MSBuild | |||
61 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 60 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
62 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 61 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
63 | 62 | ||
64 | var result = MsbuildRunner.Execute(projectPath, new[] | 63 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); |
65 | { | ||
66 | $"-p:WixMSBuildProps={WixPropsPath}", | ||
67 | }); | ||
68 | result.AssertSuccess(); | 64 | result.AssertSuccess(); |
69 | 65 | ||
70 | var platformSwitches = result.Output.Where(line => line.TrimStart().StartsWith("wix.exe build -platform x86")); | 66 | var platformSwitches = result.Output.Where(line => line.TrimStart().StartsWith("wix.exe build -platform x86")); |
@@ -86,8 +82,10 @@ namespace WixToolsetTest.MSBuild | |||
86 | } | 82 | } |
87 | } | 83 | } |
88 | 84 | ||
89 | [Fact] | 85 | [Theory] |
90 | public void CanBuildWithDefaultAndExplicitlyFullWixpdbs() | 86 | [InlineData(BuildSystem.MSBuild)] |
87 | [InlineData(BuildSystem.MSBuild64)] | ||
88 | public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) | ||
91 | { | 89 | { |
92 | var expectedOutputs = new[] | 90 | var expectedOutputs = new[] |
93 | { | 91 | { |
@@ -96,21 +94,23 @@ namespace WixToolsetTest.MSBuild | |||
96 | @"bin\x86\Debug\en-US\MsiPackage.wixpdb", | 94 | @"bin\x86\Debug\en-US\MsiPackage.wixpdb", |
97 | }; | 95 | }; |
98 | 96 | ||
99 | this.AssertWixpdb(null, expectedOutputs); | 97 | this.AssertWixpdb(buildSystem, null, expectedOutputs); |
100 | this.AssertWixpdb("Full", expectedOutputs); | 98 | this.AssertWixpdb(buildSystem, "Full", expectedOutputs); |
101 | } | 99 | } |
102 | 100 | ||
103 | [Fact] | 101 | [Theory] |
104 | public void CanBuildWithNoWixpdb() | 102 | [InlineData(BuildSystem.MSBuild)] |
103 | [InlineData(BuildSystem.MSBuild64)] | ||
104 | public void CanBuildWithNoWixpdb(BuildSystem buildSystem) | ||
105 | { | 105 | { |
106 | this.AssertWixpdb("NONE", new[] | 106 | this.AssertWixpdb(buildSystem, "NONE", new[] |
107 | { | 107 | { |
108 | @"bin\x86\Debug\en-US\cab1.cab", | 108 | @"bin\x86\Debug\en-US\cab1.cab", |
109 | @"bin\x86\Debug\en-US\MsiPackage.msi", | 109 | @"bin\x86\Debug\en-US\MsiPackage.msi", |
110 | }); | 110 | }); |
111 | } | 111 | } |
112 | 112 | ||
113 | private void AssertWixpdb(string wixpdbType, string[] expectedOutputFiles) | 113 | private void AssertWixpdb(BuildSystem buildSystem, string wixpdbType, string[] expectedOutputFiles) |
114 | { | 114 | { |
115 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 115 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
116 | 116 | ||
@@ -121,10 +121,9 @@ namespace WixToolsetTest.MSBuild | |||
121 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 121 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
122 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 122 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
123 | 123 | ||
124 | var result = MsbuildRunner.Execute(projectPath, new[] | 124 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
125 | { | 125 | { |
126 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", | 126 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", |
127 | $"-p:WixMSBuildProps={WixPropsPath}", | ||
128 | }); | 127 | }); |
129 | result.AssertSuccess(); | 128 | result.AssertSuccess(); |
130 | 129 | ||
@@ -136,8 +135,10 @@ namespace WixToolsetTest.MSBuild | |||
136 | } | 135 | } |
137 | } | 136 | } |
138 | 137 | ||
139 | [Fact] | 138 | [Theory] |
140 | public void CanBuild64BitMsiPackage() | 139 | [InlineData(BuildSystem.MSBuild)] |
140 | [InlineData(BuildSystem.MSBuild64)] | ||
141 | public void CanBuild64BitMsiPackage(BuildSystem buildSystem) | ||
141 | { | 142 | { |
142 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 143 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
143 | 144 | ||
@@ -148,10 +149,9 @@ namespace WixToolsetTest.MSBuild | |||
148 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 149 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
149 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 150 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
150 | 151 | ||
151 | var result = MsbuildRunner.Execute(projectPath, new[] | 152 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
152 | { | 153 | { |
153 | $"-p:WixMSBuildProps={WixPropsPath}", | 154 | $"-p:Platform=x64", |
154 | $"-p:InstallerPlatform=x64", | ||
155 | }); | 155 | }); |
156 | result.AssertSuccess(); | 156 | result.AssertSuccess(); |
157 | 157 | ||
@@ -164,15 +164,17 @@ namespace WixToolsetTest.MSBuild | |||
164 | .ToArray(); | 164 | .ToArray(); |
165 | Assert.Equal(new[] | 165 | Assert.Equal(new[] |
166 | { | 166 | { |
167 | @"bin\x86\Debug\en-US\cab1.cab", | 167 | @"bin\x64\Debug\en-US\cab1.cab", |
168 | @"bin\x86\Debug\en-US\MsiPackage.msi", | 168 | @"bin\x64\Debug\en-US\MsiPackage.msi", |
169 | @"bin\x86\Debug\en-US\MsiPackage.wixpdb", | 169 | @"bin\x64\Debug\en-US\MsiPackage.wixpdb", |
170 | }, paths); | 170 | }, paths); |
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
174 | [Fact(Skip = "Currently fails")] | 174 | [Theory(Skip = "Currently fails")] |
175 | public void CanBuildSimpleMsiPackageWithIceSuppressions() | 175 | [InlineData(BuildSystem.MSBuild)] |
176 | [InlineData(BuildSystem.MSBuild64)] | ||
177 | public void CanBuildSimpleMsiPackageWithIceSuppressions(BuildSystem buildSystem) | ||
176 | { | 178 | { |
177 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 179 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
178 | 180 | ||
@@ -183,17 +185,18 @@ namespace WixToolsetTest.MSBuild | |||
183 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 185 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
184 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 186 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
185 | 187 | ||
186 | var result = MsbuildRunner.Execute(projectPath, new[] | 188 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
187 | { | 189 | { |
188 | $"-p:WixMSBuildProps={WixPropsPath}", | 190 | "-p:SuppressIces=\"ICE45;ICE46\"", |
189 | "-p:SuppressIces=\"ICE45;ICE46\"" | ||
190 | }); | 191 | }); |
191 | result.AssertSuccess(); | 192 | result.AssertSuccess(); |
192 | } | 193 | } |
193 | } | 194 | } |
194 | 195 | ||
195 | [Fact] | 196 | [Theory] |
196 | public void CanBuildSimpleMsiPackageWithWarningSuppressions() | 197 | [InlineData(BuildSystem.MSBuild)] |
198 | [InlineData(BuildSystem.MSBuild64)] | ||
199 | public void CanBuildSimpleMsiPackageWithWarningSuppressions(BuildSystem buildSystem) | ||
197 | { | 200 | { |
198 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 201 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
199 | 202 | ||
@@ -204,10 +207,9 @@ namespace WixToolsetTest.MSBuild | |||
204 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 207 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
205 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 208 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
206 | 209 | ||
207 | var result = MsbuildRunner.Execute(projectPath, new[] | 210 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
208 | { | 211 | { |
209 | $"-p:WixMSBuildProps={WixPropsPath}", | 212 | "-p:SuppressSpecificWarnings=\"1118;1102\"", |
210 | "-p:SuppressSpecificWarnings=\"1118;1102\"" | ||
211 | }); | 213 | }); |
212 | result.AssertSuccess(); | 214 | result.AssertSuccess(); |
213 | 215 | ||
@@ -216,8 +218,10 @@ namespace WixToolsetTest.MSBuild | |||
216 | } | 218 | } |
217 | } | 219 | } |
218 | 220 | ||
219 | [Fact] | 221 | [Theory] |
220 | public void CanBuildSimpleMsiPackageAsWixipl() | 222 | [InlineData(BuildSystem.MSBuild)] |
223 | [InlineData(BuildSystem.MSBuild64)] | ||
224 | public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem) | ||
221 | { | 225 | { |
222 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 226 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
223 | 227 | ||
@@ -228,10 +232,9 @@ namespace WixToolsetTest.MSBuild | |||
228 | var binFolder = Path.Combine(baseFolder, @"bin\"); | 232 | var binFolder = Path.Combine(baseFolder, @"bin\"); |
229 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 233 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
230 | 234 | ||
231 | var result = MsbuildRunner.Execute(projectPath, new[] | 235 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
232 | { | 236 | { |
233 | $"-p:WixMSBuildProps={WixPropsPath}", | 237 | "-p:OutputType=IntermediatePostLink", |
234 | "-p:OutputType=IntermediatePostLink" | ||
235 | }); | 238 | }); |
236 | result.AssertSuccess(); | 239 | result.AssertSuccess(); |
237 | 240 | ||
@@ -242,8 +245,10 @@ namespace WixToolsetTest.MSBuild | |||
242 | } | 245 | } |
243 | } | 246 | } |
244 | 247 | ||
245 | [Fact] | 248 | [Theory] |
246 | public void CanBuildAndCleanSimpleMsiPackage() | 249 | [InlineData(BuildSystem.MSBuild)] |
250 | [InlineData(BuildSystem.MSBuild64)] | ||
251 | public void CanBuildAndCleanSimpleMsiPackage(BuildSystem buildSystem) | ||
247 | { | 252 | { |
248 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 253 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
249 | 254 | ||
@@ -254,10 +259,9 @@ namespace WixToolsetTest.MSBuild | |||
254 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | 259 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); |
255 | 260 | ||
256 | // Build | 261 | // Build |
257 | var result = MsbuildRunner.Execute(projectPath, new[] | 262 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
258 | { | 263 | { |
259 | $"-p:WixMSBuildProps={WixPropsPath}", | 264 | "-v:diag", |
260 | "-v:diag" | ||
261 | }); | 265 | }); |
262 | result.AssertSuccess(); | 266 | result.AssertSuccess(); |
263 | 267 | ||
@@ -270,11 +274,10 @@ namespace WixToolsetTest.MSBuild | |||
270 | Assert.NotEmpty(createdPaths); | 274 | Assert.NotEmpty(createdPaths); |
271 | 275 | ||
272 | // Clean | 276 | // Clean |
273 | result = MsbuildRunner.Execute(projectPath, new[] | 277 | result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
274 | { | 278 | { |
275 | $"-p:WixMSBuildProps={WixPropsPath}", | ||
276 | "-t:Clean", | 279 | "-t:Clean", |
277 | "-v:diag" | 280 | "-v:diag", |
278 | }); | 281 | }); |
279 | result.AssertSuccess(); | 282 | result.AssertSuccess(); |
280 | 283 | ||