diff options
| author | Bob Arnson <bob@firegiant.com> | 2020-03-17 21:28:12 -0400 |
|---|---|---|
| committer | Bob Arnson <bob@firegiant.com> | 2020-03-17 21:28:12 -0400 |
| commit | fe77cae987ea2bfc43d2ffec660bf773e922709d (patch) | |
| tree | c73643831f2f7983090fca98f2e1c79f88da8a32 /src/test/WixToolsetTest.BuildTasks | |
| parent | 60085dfd1ac4a673d295f96a62196a2cf16dec8b (diff) | |
| download | wix-fe77cae987ea2bfc43d2ffec660bf773e922709d.tar.gz wix-fe77cae987ea2bfc43d2ffec660bf773e922709d.tar.bz2 wix-fe77cae987ea2bfc43d2ffec660bf773e922709d.zip | |
Partial WixPdbs stop the backend before binding.
Diffstat (limited to 'src/test/WixToolsetTest.BuildTasks')
| -rw-r--r-- | src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs | 60 | ||||
| -rw-r--r-- | src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs | 8 |
2 files changed, 65 insertions, 3 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"); |
diff --git a/src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs b/src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs index 41cf8e64..d572a91a 100644 --- a/src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs +++ b/src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs | |||
| @@ -22,7 +22,7 @@ namespace WixToolsetTest.BuildTasks | |||
| 22 | { | 22 | { |
| 23 | var baseFolder = fs.GetFolder(); | 23 | var baseFolder = fs.GetFolder(); |
| 24 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | 24 | var intermediateFolder = Path.Combine(baseFolder, "obj"); |
| 25 | 25 | var pdbPath = Path.Combine(baseFolder, @"bin\testpackage.wixpdb"); | |
| 26 | var engine = new FakeBuildEngine(); | 26 | var engine = new FakeBuildEngine(); |
| 27 | 27 | ||
| 28 | var task = new DoIt | 28 | var task = new DoIt |
| @@ -43,16 +43,18 @@ namespace WixToolsetTest.BuildTasks | |||
| 43 | }, | 43 | }, |
| 44 | IntermediateDirectory = new TaskItem(intermediateFolder), | 44 | IntermediateDirectory = new TaskItem(intermediateFolder), |
| 45 | OutputFile = new TaskItem(Path.Combine(baseFolder, @"bin\test.msi")), | 45 | OutputFile = new TaskItem(Path.Combine(baseFolder, @"bin\test.msi")), |
| 46 | PdbType = "Full", | ||
| 47 | PdbFile = new TaskItem(pdbPath), | ||
| 46 | }; | 48 | }; |
| 47 | 49 | ||
| 48 | var result = task.Execute(); | 50 | var result = task.Execute(); |
| 49 | Assert.True(result, $"MSBuild task failed unexpectedly. Output:\r\n{engine.Output}"); | 51 | Assert.True(result, $"MSBuild task failed unexpectedly. Output:\r\n{engine.Output}"); |
| 50 | 52 | ||
| 51 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.msi"))); | 53 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.msi"))); |
| 52 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\test.wixpdb"))); | 54 | Assert.True(File.Exists(pdbPath)); |
| 53 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\cab1.cab"))); | 55 | Assert.True(File.Exists(Path.Combine(baseFolder, @"bin\cab1.cab"))); |
| 54 | 56 | ||
| 55 | var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb")); | 57 | var intermediate = Intermediate.Load(pdbPath); |
| 56 | var section = intermediate.Sections.Single(); | 58 | var section = intermediate.Sections.Single(); |
| 57 | 59 | ||
| 58 | var fileTuple = section.Tuples.OfType<FileTuple>().Single(); | 60 | var fileTuple = section.Tuples.OfType<FileTuple>().Single(); |
