diff options
Diffstat (limited to 'src/test')
-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(); |