aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.BuildTasks/MsbuildFixture.cs60
-rw-r--r--src/test/WixToolsetTest.BuildTasks/WixBuildTaskFixture.cs8
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();