aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.WixCop/WixCopFixture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/WixToolsetTest.WixCop/WixCopFixture.cs')
-rw-r--r--src/test/WixToolsetTest.WixCop/WixCopFixture.cs242
1 files changed, 0 insertions, 242 deletions
diff --git a/src/test/WixToolsetTest.WixCop/WixCopFixture.cs b/src/test/WixToolsetTest.WixCop/WixCopFixture.cs
deleted file mode 100644
index 72a36dd6..00000000
--- a/src/test/WixToolsetTest.WixCop/WixCopFixture.cs
+++ /dev/null
@@ -1,242 +0,0 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.WixCop
4{
5 using System.IO;
6 using System.Linq;
7 using WixBuildTools.TestSupport;
8 using Xunit;
9
10 public class WixCopFixture
11 {
12 [Fact]
13 public void CanConvertPermissionExFile()
14 {
15 const string beforeFileName = "v3.wxs";
16 const string afterFileName = "v4_expected.wxs";
17 var folder = TestData.Get(@"TestData\PermissionEx");
18
19 using (var fs = new DisposableFileSystem())
20 {
21 var baseFolder = fs.GetFolder(true);
22 var targetFile = Path.Combine(baseFolder, beforeFileName);
23 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
24
25 var runner = new WixCopRunner
26 {
27 FixErrors = true,
28 SearchPatterns =
29 {
30 targetFile,
31 },
32 };
33
34 var result = runner.Execute();
35
36 Assert.Equal(2, result.ExitCode);
37
38 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
39 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
40 Assert.Equal(expected, actual);
41
42 var runner2 = new WixCopRunner
43 {
44 FixErrors = true,
45 SearchPatterns =
46 {
47 targetFile,
48 },
49 };
50
51 var result2 = runner2.Execute();
52
53 Assert.Equal(0, result2.ExitCode);
54 }
55 }
56
57 [Fact]
58 public void CanConvertSingleFile()
59 {
60 const string beforeFileName = "SingleFile.wxs";
61 const string afterFileName = "ConvertedSingleFile.wxs";
62 var folder = TestData.Get(@"TestData\SingleFile");
63
64 using (var fs = new DisposableFileSystem())
65 {
66 var baseFolder = fs.GetFolder(true);
67 var targetFile = Path.Combine(baseFolder, beforeFileName);
68 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
69
70 var runner = new WixCopRunner
71 {
72 FixErrors = true,
73 SearchPatterns =
74 {
75 targetFile,
76 },
77 };
78
79 var result = runner.Execute();
80
81 Assert.Equal(2, result.ExitCode);
82
83 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
84 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
85 Assert.Equal(expected, actual);
86
87 var runner2 = new WixCopRunner
88 {
89 FixErrors = true,
90 SearchPatterns =
91 {
92 targetFile,
93 },
94 };
95
96 var result2 = runner2.Execute();
97
98 Assert.Equal(0, result2.ExitCode);
99 }
100 }
101
102 [Fact]
103 public void RetainsPreprocessorInstructions()
104 {
105 const string beforeFileName = "Preprocessor.wxs";
106 const string afterFileName = "ConvertedPreprocessor.wxs";
107 var folder = TestData.Get(@"TestData\Preprocessor");
108
109 using (var fs = new DisposableFileSystem())
110 {
111 var baseFolder = fs.GetFolder(true);
112 var targetFile = Path.Combine(baseFolder, beforeFileName);
113 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
114
115 var runner = new WixCopRunner
116 {
117 FixErrors = true,
118 SettingFile1 = Path.Combine(folder, "wixcop.settings.xml"),
119 SearchPatterns =
120 {
121 targetFile,
122 },
123 };
124
125 var result = runner.Execute();
126
127 Assert.Equal(2, result.ExitCode);
128
129 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
130 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
131 Assert.Equal(expected, actual);
132
133 var runner2 = new WixCopRunner
134 {
135 FixErrors = true,
136 SettingFile1 = Path.Combine(folder, "wixcop.settings.xml"),
137 SearchPatterns =
138 {
139 targetFile,
140 },
141 };
142
143 var result2 = runner2.Execute();
144
145 Assert.Equal(0, result2.ExitCode);
146 }
147 }
148
149 [Fact]
150 public void CanConvertQtExec()
151 {
152 const string beforeFileName = "v3.wxs";
153 const string afterFileName = "v4_expected.wxs";
154 var folder = TestData.Get(@"TestData\QtExec");
155
156 using (var fs = new DisposableFileSystem())
157 {
158 var baseFolder = fs.GetFolder(true);
159 var targetFile = Path.Combine(baseFolder, beforeFileName);
160 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
161
162 var runner = new WixCopRunner
163 {
164 FixErrors = true,
165 SearchPatterns =
166 {
167 targetFile,
168 },
169 };
170
171 var result = runner.Execute();
172
173 Assert.Equal(2, result.ExitCode);
174
175 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
176 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
177 Assert.Equal(expected, actual);
178
179 var runner2 = new WixCopRunner
180 {
181 FixErrors = true,
182 SearchPatterns =
183 {
184 targetFile,
185 },
186 };
187
188 var result2 = runner2.Execute();
189
190 Assert.Equal(0, result2.ExitCode);
191 }
192 }
193
194 [Fact]
195 public void DetectUnconvertableQtExecCmdTimeout()
196 {
197 const string beforeFileName = "v3.wxs";
198 const string afterFileName = "v4_expected.wxs";
199 var folder = TestData.Get(@"TestData\QtExec.bad");
200
201 using (var fs = new DisposableFileSystem())
202 {
203 var baseFolder = fs.GetFolder(true);
204 var targetFile = Path.Combine(baseFolder, beforeFileName);
205 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
206
207 var runner = new WixCopRunner
208 {
209 FixErrors = true,
210 SearchPatterns =
211 {
212 targetFile,
213 },
214 };
215
216 var result = runner.Execute();
217
218 Assert.Equal(2, result.ExitCode);
219
220 Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)")));
221
222 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
223 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
224 Assert.Equal(expected, actual);
225
226 // still fails because QtExecCmdTimeoutAmbiguous is unfixable
227 var runner2 = new WixCopRunner
228 {
229 FixErrors = true,
230 SearchPatterns =
231 {
232 targetFile,
233 },
234 };
235
236 var result2 = runner2.Execute();
237
238 Assert.Equal(2, result2.ExitCode);
239 }
240 }
241 }
242}