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 | ||
