summaryrefslogtreecommitdiff
path: root/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs')
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs96
1 files changed, 93 insertions, 3 deletions
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index 05de1e2a..845df9be 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -252,15 +252,26 @@ namespace WixToolsetTest.Sdk
252 }); 252 });
253 result.AssertSuccess(); 253 result.AssertSuccess();
254 254
255 var trackingContents = File.ReadAllLines(Path.Combine(baseFolder, "obj", "Release", "MsiPackageWithBindVariables.wixproj.BindTracking-neutral.txt"));
256 var lines = trackingContents.Select(l => l.Replace(baseFolder, "<basefolder>")).ToArray();
257 WixAssert.CompareLineByLine(new[]
258 {
259 "BuiltContentOutput\t<basefolder>\\obj\\Release\\cab1.cab",
260 "BuiltPdbOutput\t<basefolder>\\obj\\Release\\MsiPackageWithBindVariables.wixpdb",
261 "BuiltTargetOutput\t<basefolder>\\obj\\Release\\MsiPackageWithBindVariables.msi",
262 "Input\tdata\\test.txt",
263 "Intermediate\t<basefolder>\\obj\\Release\\cab1.cab"
264 }, lines);
265
255 var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) 266 var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories)
256 .Select(s => s.Substring(baseFolder.Length + 1)) 267 .Select(s => s.Substring(baseFolder.Length + 1))
257 .OrderBy(s => s) 268 .OrderBy(s => s)
258 .ToArray(); 269 .ToArray();
259 WixAssert.CompareLineByLine(new[] 270 WixAssert.CompareLineByLine(new[]
260 { 271 {
261 @"bin\Release\en-US\cab1.cab", 272 @"bin\Release\cab1.cab",
262 @"bin\Release\en-US\MsiPackageWithBindVariables.msi", 273 @"bin\Release\MsiPackageWithBindVariables.msi",
263 @"bin\Release\en-US\MsiPackageWithBindVariables.wixpdb", 274 @"bin\Release\MsiPackageWithBindVariables.wixpdb",
264 }, paths); 275 }, paths);
265 } 276 }
266 } 277 }
@@ -428,6 +439,85 @@ namespace WixToolsetTest.Sdk
428 [InlineData(BuildSystem.DotNetCoreSdk)] 439 [InlineData(BuildSystem.DotNetCoreSdk)]
429 [InlineData(BuildSystem.MSBuild)] 440 [InlineData(BuildSystem.MSBuild)]
430 [InlineData(BuildSystem.MSBuild64)] 441 [InlineData(BuildSystem.MSBuild64)]
442 public void CanBuildSingleCultureWithFallbackMsiPackage(BuildSystem buildSystem)
443 {
444 var sourceFolder = TestData.Get(@"TestData", "SingleCultureWithFallbackMsiPackage");
445
446 using (var fs = new TestDataFolderFileSystem())
447 {
448 fs.Initialize(sourceFolder);
449 var baseFolder = fs.BaseFolder;
450 var binFolder = Path.Combine(baseFolder, @"bin\");
451 var projectPath = Path.Combine(baseFolder, "SingleCultureWithFallbackMsiPackage.wixproj");
452
453 var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[]
454 {
455 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath)
456 });
457 result.AssertSuccess();
458
459 var trackingContents = File.ReadAllLines(Path.Combine(baseFolder, "obj", "Release", "SingleCultureWithFallbackMsiPackage.wixproj.BindTracking-de-DE.txt"));
460 var lines = trackingContents.Select(l => l.Replace(baseFolder, "<basefolder>")).ToArray();
461 WixAssert.CompareLineByLine(new[]
462 {
463 "BuiltContentOutput\t<basefolder>\\obj\\Release\\de-DE\\cab1.cab",
464 "BuiltPdbOutput\t<basefolder>\\obj\\Release\\de-DE\\SingleCultureWithFallbackMsiPackage.wixpdb",
465 "BuiltTargetOutput\t<basefolder>\\obj\\Release\\de-DE\\SingleCultureWithFallbackMsiPackage.msi",
466 "Input\t<basefolder>\\data\\test.txt",
467 "Intermediate\t<basefolder>\\obj\\Release\\de-DE\\cab1.cab"
468 }, lines);
469 }
470 }
471
472 [Theory]
473 [InlineData(BuildSystem.DotNetCoreSdk)]
474 [InlineData(BuildSystem.MSBuild)]
475 [InlineData(BuildSystem.MSBuild64)]
476 public void CanBuildMultiCulturalMsiPackage(BuildSystem buildSystem)
477 {
478 var sourceFolder = TestData.Get(@"TestData", "MultiCulturalMsiPackage");
479
480 using (var fs = new TestDataFolderFileSystem())
481 {
482 fs.Initialize(sourceFolder);
483 var baseFolder = fs.BaseFolder;
484 var slnPath = Path.Combine(baseFolder, "MultiCulturalMsiPackage.sln");
485 var projectFolder = Path.Combine(baseFolder, "MsiPackage");
486
487 var result = MsbuildUtilities.BuildProject(buildSystem, slnPath, new[]
488 {
489 MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath)
490 });
491 result.AssertSuccess();
492
493 var trackingEnuContents = File.ReadAllLines(Path.Combine(projectFolder, "obj", "x64", "Release", "MsiPackage.wixproj.BindTracking-en-US.txt"));
494 var enuLines = trackingEnuContents.Select(l => l.Replace(projectFolder, "<basefolder>")).ToArray();
495 WixAssert.CompareLineByLine(new[]
496 {
497 "BuiltContentOutput\t<basefolder>\\obj\\x64\\Release\\en-US\\cab1.cab",
498 "BuiltPdbOutput\t<basefolder>\\obj\\x64\\Release\\en-US\\MsiPackage.wixpdb",
499 "BuiltTargetOutput\t<basefolder>\\obj\\x64\\Release\\en-US\\MsiPackage.msi",
500 "Input\t<basefolder>\\data\\test.txt",
501 "Intermediate\t<basefolder>\\obj\\x64\\Release\\en-US\\cab1.cab"
502 }, enuLines);
503
504 var trackingDeuContents = File.ReadAllLines(Path.Combine(projectFolder, "obj", "x64", "Release", "MsiPackage.wixproj.BindTracking-de-DE.txt"));
505 var deuLines = trackingDeuContents.Select(l => l.Replace(projectFolder, "<basefolder>")).ToArray();
506 WixAssert.CompareLineByLine(new[]
507 {
508 "BuiltContentOutput\t<basefolder>\\obj\\x64\\Release\\de-DE\\cab1.cab",
509 "BuiltPdbOutput\t<basefolder>\\obj\\x64\\Release\\de-DE\\MsiPackage.wixpdb",
510 "BuiltTargetOutput\t<basefolder>\\obj\\x64\\Release\\de-DE\\MsiPackage.msi",
511 "Input\t<basefolder>\\data\\test.txt",
512 "Intermediate\t<basefolder>\\obj\\x64\\Release\\de-DE\\cab1.cab"
513 }, deuLines);
514 }
515 }
516
517 [Theory]
518 [InlineData(BuildSystem.DotNetCoreSdk)]
519 [InlineData(BuildSystem.MSBuild)]
520 [InlineData(BuildSystem.MSBuild64)]
431 public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem) 521 public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem)
432 { 522 {
433 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); 523 var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage");