diff options
Diffstat (limited to 'src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs')
-rw-r--r-- | src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | 92 |
1 files changed, 64 insertions, 28 deletions
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index 64d05a59..05de1e2a 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
@@ -233,6 +233,42 @@ namespace WixToolsetTest.Sdk | |||
233 | [InlineData(BuildSystem.DotNetCoreSdk)] | 233 | [InlineData(BuildSystem.DotNetCoreSdk)] |
234 | [InlineData(BuildSystem.MSBuild)] | 234 | [InlineData(BuildSystem.MSBuild)] |
235 | [InlineData(BuildSystem.MSBuild64)] | 235 | [InlineData(BuildSystem.MSBuild64)] |
236 | public void CanBuildMsiPackageWithBindVariables(BuildSystem buildSystem) | ||
237 | { | ||
238 | var sourceFolder = TestData.Get("TestData", "MsiPackageWithBindVariables"); | ||
239 | |||
240 | var baseFolder = String.Empty; | ||
241 | |||
242 | using (var fs = new TestDataFolderFileSystem()) | ||
243 | { | ||
244 | fs.Initialize(sourceFolder); | ||
245 | baseFolder = fs.BaseFolder; | ||
246 | |||
247 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
248 | var projectPath = Path.Combine(baseFolder, "MsiPackageWithBindVariables.wixproj"); | ||
249 | |||
250 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] { | ||
251 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath) | ||
252 | }); | ||
253 | result.AssertSuccess(); | ||
254 | |||
255 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
256 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
257 | .OrderBy(s => s) | ||
258 | .ToArray(); | ||
259 | WixAssert.CompareLineByLine(new[] | ||
260 | { | ||
261 | @"bin\Release\en-US\cab1.cab", | ||
262 | @"bin\Release\en-US\MsiPackageWithBindVariables.msi", | ||
263 | @"bin\Release\en-US\MsiPackageWithBindVariables.wixpdb", | ||
264 | }, paths); | ||
265 | } | ||
266 | } | ||
267 | |||
268 | [Theory] | ||
269 | [InlineData(BuildSystem.DotNetCoreSdk)] | ||
270 | [InlineData(BuildSystem.MSBuild)] | ||
271 | [InlineData(BuildSystem.MSBuild64)] | ||
236 | public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) | 272 | public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) |
237 | { | 273 | { |
238 | var expectedOutputs = new[] | 274 | var expectedOutputs = new[] |
@@ -299,33 +335,6 @@ namespace WixToolsetTest.Sdk | |||
299 | } | 335 | } |
300 | } | 336 | } |
301 | 337 | ||
302 | private void AssertWixpdb(BuildSystem buildSystem, string debugType, string[] expectedOutputFiles) | ||
303 | { | ||
304 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | ||
305 | |||
306 | using (var fs = new TestDataFolderFileSystem()) | ||
307 | { | ||
308 | fs.Initialize(sourceFolder); | ||
309 | var baseFolder = fs.BaseFolder; | ||
310 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
311 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | ||
312 | |||
313 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
314 | { | ||
315 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
316 | debugType == null ? String.Empty : $"-p:DebugType={debugType}", | ||
317 | "-p:SuppressValidation=true" | ||
318 | }); | ||
319 | result.AssertSuccess(); | ||
320 | |||
321 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
322 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
323 | .OrderBy(s => s) | ||
324 | .ToArray(); | ||
325 | WixAssert.CompareLineByLine(expectedOutputFiles, paths); | ||
326 | } | ||
327 | } | ||
328 | |||
329 | [Theory] | 338 | [Theory] |
330 | [InlineData(BuildSystem.DotNetCoreSdk)] | 339 | [InlineData(BuildSystem.DotNetCoreSdk)] |
331 | [InlineData(BuildSystem.MSBuild)] | 340 | [InlineData(BuildSystem.MSBuild)] |
@@ -474,7 +483,7 @@ namespace WixToolsetTest.Sdk | |||
474 | var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | 483 | var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) |
475 | .Select(s => s.Substring(baseFolder.Length + 1)) | 484 | .Select(s => s.Substring(baseFolder.Length + 1)) |
476 | .Single(); | 485 | .Single(); |
477 | WixAssert.StringEqual(@"bin\x86\Release\SimpleWixlib.wixlib", path); | 486 | WixAssert.StringEqual(@"bin\Release\SimpleWixlib.wixlib", path); |
478 | } | 487 | } |
479 | } | 488 | } |
480 | 489 | ||
@@ -637,6 +646,33 @@ namespace WixToolsetTest.Sdk | |||
637 | } | 646 | } |
638 | } | 647 | } |
639 | 648 | ||
649 | private void AssertWixpdb(BuildSystem buildSystem, string debugType, string[] expectedOutputFiles) | ||
650 | { | ||
651 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | ||
652 | |||
653 | using (var fs = new TestDataFolderFileSystem()) | ||
654 | { | ||
655 | fs.Initialize(sourceFolder); | ||
656 | var baseFolder = fs.BaseFolder; | ||
657 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
658 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | ||
659 | |||
660 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
661 | { | ||
662 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
663 | debugType == null ? String.Empty : $"-p:DebugType={debugType}", | ||
664 | "-p:SuppressValidation=true" | ||
665 | }); | ||
666 | result.AssertSuccess(); | ||
667 | |||
668 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
669 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
670 | .OrderBy(s => s) | ||
671 | .ToArray(); | ||
672 | WixAssert.CompareLineByLine(expectedOutputFiles, paths); | ||
673 | } | ||
674 | } | ||
675 | |||
640 | private static string ExtractWarningFromMessage(string message, string baseFolder) | 676 | private static string ExtractWarningFromMessage(string message, string baseFolder) |
641 | { | 677 | { |
642 | const string prefix = ": warning "; | 678 | const string prefix = ": warning "; |