diff options
Diffstat (limited to 'src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs b/src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs index 9f761c32..c52bb22d 100644 --- a/src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs +++ b/src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs | |||
| @@ -52,6 +52,66 @@ namespace WixToolsetTest.BuildTasks | |||
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | [Fact] | 54 | [Fact] |
| 55 | public void CanBuildWithDefaultAndExplicitlyFullWixpdbs() | ||
| 56 | { | ||
| 57 | var expectedOutputs = new[] | ||
| 58 | { | ||
| 59 | @"bin\en-US\cab1.cab", | ||
| 60 | @"bin\en-US\MsiPackage.msi", | ||
| 61 | @"bin\en-US\MsiPackage.wixpdb", | ||
| 62 | }; | ||
| 63 | |||
| 64 | this.AssertWixpdb(null, expectedOutputs); | ||
| 65 | this.AssertWixpdb("Full", expectedOutputs); | ||
| 66 | } | ||
| 67 | |||
| 68 | [Fact] | ||
| 69 | public void CanBuildWithPartialWixpdb() | ||
| 70 | { | ||
| 71 | this.AssertWixpdb("partial", new[] | ||
| 72 | { | ||
| 73 | @"bin\en-US\MsiPackage.wixpdb", | ||
| 74 | }); | ||
| 75 | } | ||
| 76 | |||
| 77 | [Fact] | ||
| 78 | public void CanBuildWithNoWixpdb() | ||
| 79 | { | ||
| 80 | this.AssertWixpdb("NONE", new[] | ||
| 81 | { | ||
| 82 | @"bin\en-US\cab1.cab", | ||
| 83 | @"bin\en-US\MsiPackage.msi", | ||
| 84 | }); | ||
| 85 | } | ||
| 86 | |||
| 87 | private void AssertWixpdb(string wixpdbType, string[] expectedOutputFiles) | ||
| 88 | { | ||
| 89 | var projectPath = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage\MsiPackage.wixproj"); | ||
| 90 | |||
| 91 | using (var fs = new DisposableFileSystem()) | ||
| 92 | { | ||
| 93 | var baseFolder = fs.GetFolder(); | ||
| 94 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
| 95 | var intermediateFolder = Path.Combine(baseFolder, @"obj\"); | ||
| 96 | |||
| 97 | var result = MsbuildRunner.Execute(projectPath, new[] | ||
| 98 | { | ||
| 99 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", | ||
| 100 | $"-p:WixTargetsPath={WixTargetsPath}", | ||
| 101 | $"-p:IntermediateOutputPath={intermediateFolder}", | ||
| 102 | $"-p:OutputPath={binFolder}", | ||
| 103 | }); | ||
| 104 | result.AssertSuccess(); | ||
| 105 | |||
| 106 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
| 107 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
| 108 | .OrderBy(s => s) | ||
| 109 | .ToArray(); | ||
| 110 | Assert.Equal(expectedOutputFiles, paths); | ||
| 111 | } | ||
| 112 | } | ||
| 113 | |||
| 114 | [Fact] | ||
| 55 | public void CanBuild64BitMsiPackage() | 115 | public void CanBuild64BitMsiPackage() |
| 56 | { | 116 | { |
| 57 | var projectPath = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage\MsiPackage.wixproj"); | 117 | var projectPath = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage\MsiPackage.wixproj"); |
