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"); |