diff options
author | Rob Mensching <rob@firegiant.com> | 2022-02-08 12:15:22 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-02-10 20:47:53 -0800 |
commit | 504f4dc9d73af705c2509f65d910bb9b2e266ad8 (patch) | |
tree | af68832d3ca8cd14cf47726ffe1a6aa8ba44ebb9 | |
parent | 585086c7f2a1f5f41e9b4d948e968906ef890ed8 (diff) | |
download | wix-504f4dc9d73af705c2509f65d910bb9b2e266ad8.tar.gz wix-504f4dc9d73af705c2509f65d910bb9b2e266ad8.tar.bz2 wix-504f4dc9d73af705c2509f65d910bb9b2e266ad8.zip |
Centralize all validating tests in a single fixture
This should prevent validation from running in parallel.
3 files changed, 163 insertions, 159 deletions
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/ModuleFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/ModuleFixture.cs index 9c271ab4..234aec78 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/ModuleFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/ModuleFixture.cs | |||
@@ -14,92 +14,6 @@ namespace WixToolsetTest.CoreIntegration | |||
14 | 14 | ||
15 | public class ModuleFixture | 15 | public class ModuleFixture |
16 | { | 16 | { |
17 | [Fact(Skip = "Flaky")] | ||
18 | public void CanBuildAndValidateSimpleModule() | ||
19 | { | ||
20 | var folder = TestData.Get(@"TestData\SimpleModule"); | ||
21 | |||
22 | using (var fs = new DisposableFileSystem()) | ||
23 | { | ||
24 | var intermediateFolder = fs.GetFolder(); | ||
25 | |||
26 | var result = WixRunner.Execute(new[] | ||
27 | { | ||
28 | "build", | ||
29 | Path.Combine(folder, "Module.wxs"), | ||
30 | "-loc", Path.Combine(folder, "Module.en-us.wxl"), | ||
31 | "-bindpath", Path.Combine(folder, "data"), | ||
32 | "-intermediateFolder", intermediateFolder, | ||
33 | "-o", Path.Combine(intermediateFolder, @"bin\test.msm") | ||
34 | }); | ||
35 | |||
36 | result.AssertSuccess(); | ||
37 | |||
38 | var msmPath = Path.Combine(intermediateFolder, @"bin\test.msm"); | ||
39 | Assert.True(File.Exists(msmPath)); | ||
40 | Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); | ||
41 | |||
42 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
43 | var section = intermediate.Sections.Single(); | ||
44 | |||
45 | var dirSymbols = section.Symbols.OfType<DirectorySymbol>().OrderBy(d => d.Id.Id).ToList(); | ||
46 | WixAssert.CompareLineByLine(new[] | ||
47 | { | ||
48 | "MergeRedirectFolder\tTARGETDIR\t.", | ||
49 | "NotTheMergeRedirectFolder\tTARGETDIR\t.", | ||
50 | "TARGETDIR\t\tSourceDir" | ||
51 | }, dirSymbols.Select(d => String.Join("\t", d.Id.Id, d.ParentDirectoryRef, d.Name)).ToArray()); | ||
52 | |||
53 | var fileSymbols = section.Symbols.OfType<FileSymbol>().OrderBy(d => d.Id.Id).ToList(); | ||
54 | WixAssert.CompareLineByLine(new[] | ||
55 | { | ||
56 | $"File1\t{Path.Combine(folder, @"data\test.txt")}\ttest.txt", | ||
57 | $"File2\t{Path.Combine(folder, @"data\test.txt")}\ttest.txt", | ||
58 | }, fileSymbols.Select(fileSymbol => String.Join("\t", fileSymbol.Id.Id, fileSymbol[FileSymbolFields.Source].AsPath().Path, fileSymbol[FileSymbolFields.Source].PreviousValue.AsPath().Path)).ToArray()); | ||
59 | |||
60 | var data = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
61 | var fileRows = data.Tables["File"].Rows; | ||
62 | WixAssert.CompareLineByLine(new[] | ||
63 | { | ||
64 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
65 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
66 | }, fileRows.Select(r => r.FieldAsString(0)).ToArray()); | ||
67 | |||
68 | var cabPath = Path.Combine(intermediateFolder, "msm-test.cab"); | ||
69 | Query.ExtractStream(msmPath, "MergeModule.CABinet", cabPath); | ||
70 | var files = Query.GetCabinetFiles(cabPath); | ||
71 | WixAssert.CompareLineByLine(new[] | ||
72 | { | ||
73 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
74 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
75 | }, files.Select(f => Path.Combine(f.Path, f.Name)).ToArray()); | ||
76 | |||
77 | var rows = Query.QueryDatabase(msmPath, new[] { "_SummaryInformation" }); | ||
78 | WixAssert.CompareLineByLine(new[] | ||
79 | { | ||
80 | "_SummaryInformation:Title\tMerge Module", | ||
81 | "_SummaryInformation:Subject\tMergeModule1", | ||
82 | "_SummaryInformation:Author\tExample Company", | ||
83 | "_SummaryInformation:Keywords\tMergeModule, MSI, database", | ||
84 | "_SummaryInformation:Comments\tThis merge module contains the logic and data required to install MergeModule1.", | ||
85 | "_SummaryInformation:Template\tIntel;1033", | ||
86 | "_SummaryInformation:CodePage\t1252", | ||
87 | "_SummaryInformation:PageCount\t200", | ||
88 | "_SummaryInformation:WordCount\t0", | ||
89 | "_SummaryInformation:CharacterCount\t0", | ||
90 | "_SummaryInformation:Security\t2", | ||
91 | }, rows); | ||
92 | |||
93 | var validationResult = WixRunner.Execute(new[] | ||
94 | { | ||
95 | "msi", "validate", | ||
96 | "-intermediateFolder", intermediateFolder, | ||
97 | msmPath | ||
98 | }); | ||
99 | validationResult.AssertSuccess(); | ||
100 | } | ||
101 | } | ||
102 | |||
103 | [Fact] | 17 | [Fact] |
104 | public void CanSuppressModularization() | 18 | public void CanSuppressModularization() |
105 | { | 19 | { |
@@ -133,72 +47,5 @@ namespace WixToolsetTest.CoreIntegration | |||
133 | }, rows); | 47 | }, rows); |
134 | } | 48 | } |
135 | } | 49 | } |
136 | |||
137 | [Fact(Skip = "Flaky")] | ||
138 | public void CanMergeModule() | ||
139 | { | ||
140 | var msmFolder = TestData.Get(@"TestData\SimpleModule"); | ||
141 | var folder = TestData.Get(@"TestData\SimpleMerge"); | ||
142 | |||
143 | using (var fs = new DisposableFileSystem()) | ||
144 | { | ||
145 | var intermediateFolder = fs.GetFolder(); | ||
146 | var msiPath = Path.Combine(intermediateFolder, @"bin\test.msi"); | ||
147 | var cabPath = Path.Combine(intermediateFolder, @"bin\cab1.cab"); | ||
148 | |||
149 | var msmResult = WixRunner.Execute(new[] | ||
150 | { | ||
151 | "build", | ||
152 | Path.Combine(msmFolder, "Module.wxs"), | ||
153 | "-loc", Path.Combine(msmFolder, "Module.en-us.wxl"), | ||
154 | "-bindpath", Path.Combine(msmFolder, "data"), | ||
155 | "-intermediateFolder", intermediateFolder, | ||
156 | "-o", Path.Combine(intermediateFolder, "bin", "test", "test.msm") | ||
157 | }); | ||
158 | |||
159 | msmResult.AssertSuccess(); | ||
160 | |||
161 | var result = WixRunner.Execute(new[] | ||
162 | { | ||
163 | "build", | ||
164 | Path.Combine(folder, "Package.wxs"), | ||
165 | "-loc", Path.Combine(folder, "Package.en-us.wxl"), | ||
166 | "-bindpath", Path.Combine(intermediateFolder, "bin", "test"), | ||
167 | "-intermediateFolder", intermediateFolder, | ||
168 | "-o", msiPath | ||
169 | }); | ||
170 | |||
171 | result.AssertSuccess(); | ||
172 | |||
173 | var validationResult = WixRunner.Execute(new[] | ||
174 | { | ||
175 | "msi", "validate", | ||
176 | "-intermediateFolder", intermediateFolder, | ||
177 | msiPath | ||
178 | }); | ||
179 | validationResult.AssertSuccess(); | ||
180 | |||
181 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
182 | var section = intermediate.Sections.Single(); | ||
183 | Assert.Empty(section.Symbols.OfType<FileSymbol>()); | ||
184 | |||
185 | var data = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
186 | Assert.Empty(data.Tables["File"].Rows); | ||
187 | |||
188 | var results = Query.QueryDatabase(msiPath, new[] { "File" }); | ||
189 | WixAssert.CompareLineByLine(new[] | ||
190 | { | ||
191 | "File:File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile1.txt\t17\t\t\t512\t1", | ||
192 | "File:File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile2.txt\t17\t\t\t512\t2", | ||
193 | }, results); | ||
194 | |||
195 | var files = Query.GetCabinetFiles(cabPath); | ||
196 | WixAssert.CompareLineByLine(new[] | ||
197 | { | ||
198 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
199 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE" | ||
200 | }, files.Select(f => f.Name).ToArray()); | ||
201 | } | ||
202 | } | ||
203 | } | 50 | } |
204 | } | 51 | } |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs index b94f0255..69965c0d 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/ValidationFixture.cs | |||
@@ -2,15 +2,172 @@ | |||
2 | 2 | ||
3 | namespace WixToolsetTest.CoreIntegration | 3 | namespace WixToolsetTest.CoreIntegration |
4 | { | 4 | { |
5 | using System; | ||
5 | using System.IO; | 6 | using System.IO; |
6 | using System.Linq; | 7 | using System.Linq; |
7 | using WixBuildTools.TestSupport; | 8 | using WixBuildTools.TestSupport; |
8 | using WixToolset.Core.TestPackage; | 9 | using WixToolset.Core.TestPackage; |
10 | using WixToolset.Data; | ||
11 | using WixToolset.Data.Symbols; | ||
12 | using WixToolset.Data.WindowsInstaller; | ||
9 | using Xunit; | 13 | using Xunit; |
10 | 14 | ||
11 | public class ValidationFixture | 15 | public class ValidationFixture |
12 | { | 16 | { |
13 | [Fact(Skip = "Flaky")] | 17 | [Fact] |
18 | public void CanBuildAndValidateSimpleModule() | ||
19 | { | ||
20 | var folder = TestData.Get(@"TestData\SimpleModule"); | ||
21 | |||
22 | using (var fs = new DisposableFileSystem()) | ||
23 | { | ||
24 | var intermediateFolder = fs.GetFolder(); | ||
25 | |||
26 | var result = WixRunner.Execute(new[] | ||
27 | { | ||
28 | "build", | ||
29 | Path.Combine(folder, "Module.wxs"), | ||
30 | "-loc", Path.Combine(folder, "Module.en-us.wxl"), | ||
31 | "-bindpath", Path.Combine(folder, "data"), | ||
32 | "-intermediateFolder", intermediateFolder, | ||
33 | "-o", Path.Combine(intermediateFolder, @"bin\test.msm") | ||
34 | }); | ||
35 | |||
36 | result.AssertSuccess(); | ||
37 | |||
38 | var msmPath = Path.Combine(intermediateFolder, @"bin\test.msm"); | ||
39 | Assert.True(File.Exists(msmPath)); | ||
40 | Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); | ||
41 | |||
42 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
43 | var section = intermediate.Sections.Single(); | ||
44 | |||
45 | var dirSymbols = section.Symbols.OfType<DirectorySymbol>().OrderBy(d => d.Id.Id).ToList(); | ||
46 | WixAssert.CompareLineByLine(new[] | ||
47 | { | ||
48 | "MergeRedirectFolder\tTARGETDIR\t.", | ||
49 | "NotTheMergeRedirectFolder\tTARGETDIR\t.", | ||
50 | "TARGETDIR\t\tSourceDir" | ||
51 | }, dirSymbols.Select(d => String.Join("\t", d.Id.Id, d.ParentDirectoryRef, d.Name)).ToArray()); | ||
52 | |||
53 | var fileSymbols = section.Symbols.OfType<FileSymbol>().OrderBy(d => d.Id.Id).ToList(); | ||
54 | WixAssert.CompareLineByLine(new[] | ||
55 | { | ||
56 | $"File1\t{Path.Combine(folder, @"data\test.txt")}\ttest.txt", | ||
57 | $"File2\t{Path.Combine(folder, @"data\test.txt")}\ttest.txt", | ||
58 | }, fileSymbols.Select(fileSymbol => String.Join("\t", fileSymbol.Id.Id, fileSymbol[FileSymbolFields.Source].AsPath().Path, fileSymbol[FileSymbolFields.Source].PreviousValue.AsPath().Path)).ToArray()); | ||
59 | |||
60 | var data = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
61 | var fileRows = data.Tables["File"].Rows; | ||
62 | WixAssert.CompareLineByLine(new[] | ||
63 | { | ||
64 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
65 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
66 | }, fileRows.Select(r => r.FieldAsString(0)).ToArray()); | ||
67 | |||
68 | var cabPath = Path.Combine(intermediateFolder, "msm-test.cab"); | ||
69 | Query.ExtractStream(msmPath, "MergeModule.CABinet", cabPath); | ||
70 | var files = Query.GetCabinetFiles(cabPath); | ||
71 | WixAssert.CompareLineByLine(new[] | ||
72 | { | ||
73 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
74 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
75 | }, files.Select(f => Path.Combine(f.Path, f.Name)).ToArray()); | ||
76 | |||
77 | var rows = Query.QueryDatabase(msmPath, new[] { "_SummaryInformation" }); | ||
78 | WixAssert.CompareLineByLine(new[] | ||
79 | { | ||
80 | "_SummaryInformation:Title\tMerge Module", | ||
81 | "_SummaryInformation:Subject\tMergeModule1", | ||
82 | "_SummaryInformation:Author\tExample Company", | ||
83 | "_SummaryInformation:Keywords\tMergeModule, MSI, database", | ||
84 | "_SummaryInformation:Comments\tThis merge module contains the logic and data required to install MergeModule1.", | ||
85 | "_SummaryInformation:Template\tIntel;1033", | ||
86 | "_SummaryInformation:CodePage\t1252", | ||
87 | "_SummaryInformation:PageCount\t200", | ||
88 | "_SummaryInformation:WordCount\t0", | ||
89 | "_SummaryInformation:CharacterCount\t0", | ||
90 | "_SummaryInformation:Security\t2", | ||
91 | }, rows); | ||
92 | |||
93 | var validationResult = WixRunner.Execute(new[] | ||
94 | { | ||
95 | "msi", "validate", | ||
96 | "-intermediateFolder", intermediateFolder, | ||
97 | msmPath | ||
98 | }); | ||
99 | validationResult.AssertSuccess(); | ||
100 | } | ||
101 | } | ||
102 | |||
103 | [Fact] | ||
104 | public void CanMergeModuleAndValidate() | ||
105 | { | ||
106 | var msmFolder = TestData.Get(@"TestData\SimpleModule"); | ||
107 | var folder = TestData.Get(@"TestData\SimpleMerge"); | ||
108 | |||
109 | using (var fs = new DisposableFileSystem()) | ||
110 | { | ||
111 | var intermediateFolder = fs.GetFolder(); | ||
112 | var msiPath = Path.Combine(intermediateFolder, @"bin\test.msi"); | ||
113 | var cabPath = Path.Combine(intermediateFolder, @"bin\cab1.cab"); | ||
114 | |||
115 | var msmResult = WixRunner.Execute(new[] | ||
116 | { | ||
117 | "build", | ||
118 | Path.Combine(msmFolder, "Module.wxs"), | ||
119 | "-loc", Path.Combine(msmFolder, "Module.en-us.wxl"), | ||
120 | "-bindpath", Path.Combine(msmFolder, "data"), | ||
121 | "-intermediateFolder", intermediateFolder, | ||
122 | "-o", Path.Combine(intermediateFolder, "bin", "test", "test.msm") | ||
123 | }); | ||
124 | |||
125 | msmResult.AssertSuccess(); | ||
126 | |||
127 | var result = WixRunner.Execute(new[] | ||
128 | { | ||
129 | "build", | ||
130 | Path.Combine(folder, "Package.wxs"), | ||
131 | "-loc", Path.Combine(folder, "Package.en-us.wxl"), | ||
132 | "-bindpath", Path.Combine(intermediateFolder, "bin", "test"), | ||
133 | "-intermediateFolder", intermediateFolder, | ||
134 | "-o", msiPath | ||
135 | }); | ||
136 | |||
137 | result.AssertSuccess(); | ||
138 | |||
139 | var validationResult = WixRunner.Execute(new[] | ||
140 | { | ||
141 | "msi", "validate", | ||
142 | "-intermediateFolder", intermediateFolder, | ||
143 | msiPath | ||
144 | }); | ||
145 | validationResult.AssertSuccess(); | ||
146 | |||
147 | var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
148 | var section = intermediate.Sections.Single(); | ||
149 | Assert.Empty(section.Symbols.OfType<FileSymbol>()); | ||
150 | |||
151 | var data = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb")); | ||
152 | Assert.Empty(data.Tables["File"].Rows); | ||
153 | |||
154 | var results = Query.QueryDatabase(msiPath, new[] { "File" }); | ||
155 | WixAssert.CompareLineByLine(new[] | ||
156 | { | ||
157 | "File:File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent1.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile1.txt\t17\t\t\t512\t1", | ||
158 | "File:File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tModuleComponent2.243FB739_4D05_472F_9CFB_EF6B1017B6DE\tfile2.txt\t17\t\t\t512\t2", | ||
159 | }, results); | ||
160 | |||
161 | var files = Query.GetCabinetFiles(cabPath); | ||
162 | WixAssert.CompareLineByLine(new[] | ||
163 | { | ||
164 | "File1.243FB739_4D05_472F_9CFB_EF6B1017B6DE", | ||
165 | "File2.243FB739_4D05_472F_9CFB_EF6B1017B6DE" | ||
166 | }, files.Select(f => f.Name).ToArray()); | ||
167 | } | ||
168 | } | ||
169 | |||
170 | [Fact] | ||
14 | public void CanValidateMsiWithIceIssues() | 171 | public void CanValidateMsiWithIceIssues() |
15 | { | 172 | { |
16 | var folder = TestData.Get(@"TestData"); | 173 | var folder = TestData.Get(@"TestData"); |
@@ -19,7 +176,7 @@ namespace WixToolsetTest.CoreIntegration | |||
19 | { | 176 | { |
20 | var baseFolder = fs.GetFolder(); | 177 | var baseFolder = fs.GetFolder(); |
21 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | 178 | var intermediateFolder = Path.Combine(baseFolder, "obj"); |
22 | var msiPath = Path.Combine(baseFolder, @"bin", "test.msi"); | 179 | var msiPath = Path.Combine(baseFolder, @"bin", "CanValidateMsiWithIceIssues.msi"); |
23 | 180 | ||
24 | var result = WixRunner.Execute(new[] | 181 | var result = WixRunner.Execute(new[] |
25 | { | 182 | { |
@@ -50,7 +207,7 @@ namespace WixToolsetTest.CoreIntegration | |||
50 | } | 207 | } |
51 | } | 208 | } |
52 | 209 | ||
53 | [Fact(Skip = "Flaky")] | 210 | [Fact] |
54 | public void CanValidateMsiSuppressIceError() | 211 | public void CanValidateMsiSuppressIceError() |
55 | { | 212 | { |
56 | var folder = TestData.Get(@"TestData"); | 213 | var folder = TestData.Get(@"TestData"); |
@@ -90,7 +247,7 @@ namespace WixToolsetTest.CoreIntegration | |||
90 | } | 247 | } |
91 | } | 248 | } |
92 | 249 | ||
93 | [Fact(Skip = "Flaky")] | 250 | [Fact] |
94 | public void CanValidateMsiWithWarningsAsErrors() | 251 | public void CanValidateMsiWithWarningsAsErrors() |
95 | { | 252 | { |
96 | var folder = TestData.Get(@"TestData"); | 253 | var folder = TestData.Get(@"TestData"); |
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index c94513b9..3b113242 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
@@ -193,7 +193,7 @@ namespace WixToolsetTest.Sdk | |||
193 | } | 193 | } |
194 | } | 194 | } |
195 | 195 | ||
196 | [Theory(Skip = "Flaky")] | 196 | [Theory] |
197 | [InlineData(BuildSystem.DotNetCoreSdk)] | 197 | [InlineData(BuildSystem.DotNetCoreSdk)] |
198 | [InlineData(BuildSystem.MSBuild)] | 198 | [InlineData(BuildSystem.MSBuild)] |
199 | [InlineData(BuildSystem.MSBuild64)] | 199 | [InlineData(BuildSystem.MSBuild64)] |
@@ -320,7 +320,7 @@ namespace WixToolsetTest.Sdk | |||
320 | } | 320 | } |
321 | } | 321 | } |
322 | 322 | ||
323 | [Theory(Skip = "Flaky")] | 323 | [Theory] |
324 | [InlineData(BuildSystem.DotNetCoreSdk)] | 324 | [InlineData(BuildSystem.DotNetCoreSdk)] |
325 | [InlineData(BuildSystem.MSBuild)] | 325 | [InlineData(BuildSystem.MSBuild)] |
326 | [InlineData(BuildSystem.MSBuild64)] | 326 | [InlineData(BuildSystem.MSBuild64)] |