diff options
Diffstat (limited to 'src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs')
-rw-r--r-- | src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | 96 |
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"); |