Skip to content

Commit 27e3efc

Browse files
committed
backup different recommended for net framework
1 parent 0260356 commit 27e3efc

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed

FineCodeCoverageTests/MsCodeCoverage/RunSettingsTemplate_Tests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public void Should_Be_Replaceable_With_Recommended_You_Do_Not_Change_Elements_Wh
107107
</DataCollectionRunSettings>
108108
</RunSettings>";
109109

110-
var result = runSettingsTemplate.ReplaceTemplate(template, replacements);
110+
var result = runSettingsTemplate.ReplaceTemplate(template, replacements, true);
111111

112112
XmlAssert.NoXmlDifferences(result.Replaced, expected);
113113
}
@@ -117,7 +117,7 @@ public void Should_Be_ReplacedTestAdapter_When_Template_Has_The_FCC_TestAdapter_
117117
{
118118
var runSettingsTemplate = new RunSettingsTemplate();
119119
var template = runSettingsTemplate.ToString();
120-
Assert.True(runSettingsTemplate.ReplaceTemplate(template, new RunSettingsTemplateReplacements()).ReplacedTestAdapter);
120+
Assert.True(runSettingsTemplate.ReplaceTemplate(template, new RunSettingsTemplateReplacements(), true).ReplacedTestAdapter);
121121
}
122122

123123
[Test]
@@ -132,7 +132,7 @@ public void Should_Be_ReplacedTestAdapter_False_When_Custom_Template_Does_Not_Ha
132132
</RunSettings>
133133
";
134134
var configuredCustomTemplate = runSettingsTemplate.ConfigureCustom(customTemplate);
135-
Assert.False(runSettingsTemplate.ReplaceTemplate(configuredCustomTemplate, new RunSettingsTemplateReplacements()).ReplacedTestAdapter);
135+
Assert.False(runSettingsTemplate.ReplaceTemplate(configuredCustomTemplate, new RunSettingsTemplateReplacements(), true).ReplacedTestAdapter);
136136
}
137137

138138
[TestCase("%fcc_testadapter%", true)]
@@ -185,7 +185,7 @@ public void Should_Not_Add_Recommended_You_Do_Not_Change_Elements_When_Provided(
185185
</RunSettings>";
186186

187187
var runSettingsTemplate = new RunSettingsTemplate();
188-
var result = runSettingsTemplate.ReplaceTemplate(template, new RunSettingsTemplateReplacements());
188+
var result = runSettingsTemplate.ReplaceTemplate(template, new RunSettingsTemplateReplacements(), true);
189189

190190
XmlAssert.NoXmlDifferences(result.Replaced, template);
191191

FineCodeCoverageTests/MsCodeCoverage/TemplatedRunSettingsService_Tests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public async Task Should_Create_Run_Settings_From_Template()
4444
mockRunSettingsTemplate.Verify(
4545
runSettingsTemplate => runSettingsTemplate.ReplaceTemplate(
4646
"<MockRunSettingsTemplate/>",
47-
runSettingsTemplateReplacements)
47+
runSettingsTemplateReplacements, It.IsAny<bool>())
4848
);
4949

5050
}
@@ -73,7 +73,7 @@ public async Task Should_Create_Run_Settings_From_Configured_Custom_Template_If_
7373
mockRunSettingsTemplate.Verify(
7474
runSettingsTemplate => runSettingsTemplate.ReplaceTemplate(
7575
"<ConfiguredCustom/>",
76-
runSettingsTemplateReplacements)
76+
runSettingsTemplateReplacements, It.IsAny<bool>())
7777
);
7878
}
7979

@@ -148,7 +148,7 @@ public async Task Should_Return_A_Result_With_No_ExceptionReason_When_No_Excepti
148148
var mockRunSettingsTemplate = autoMocker.GetMock<IRunSettingsTemplate>();
149149
mockRunSettingsTemplate.SetupSequence(
150150
runSettingsTemplate =>
151-
runSettingsTemplate.ReplaceTemplate(It.IsAny<string>(), It.IsAny<IRunSettingsTemplateReplacements>())
151+
runSettingsTemplate.ReplaceTemplate(It.IsAny<string>(), It.IsAny<IRunSettingsTemplateReplacements>(), It.IsAny<bool>())
152152
).Returns(
153153
new TemplateReplaceResult
154154
{
@@ -202,7 +202,7 @@ private void SetupReplaceResult(ITemplateReplacementResult templateReplacementRe
202202
var mockRunSettingsTemplate = autoMocker.GetMock<IRunSettingsTemplate>();
203203
mockRunSettingsTemplate.Setup(
204204
runSettingsTemplate =>
205-
runSettingsTemplate.ReplaceTemplate(It.IsAny<string>(), It.IsAny<IRunSettingsTemplateReplacements>())
205+
runSettingsTemplate.ReplaceTemplate(It.IsAny<string>(), It.IsAny<IRunSettingsTemplateReplacements>(), It.IsAny<bool>())
206206
).Returns(templateReplacementResult);
207207
}
208208

SharedProject/Core/MsTestPlatform/CodeCoverage/IRunSettingsTemplate.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ internal interface ITemplateReplacementResult
1111

1212
internal interface IRunSettingsTemplate
1313
{
14-
ITemplateReplacementResult ReplaceTemplate(string runSettingsTemplate, IRunSettingsTemplateReplacements replacements);
14+
ITemplateReplacementResult ReplaceTemplate(
15+
string runSettingsTemplate,
16+
IRunSettingsTemplateReplacements replacements,
17+
bool isNetFrameworkProject);
1518
string Replace(string templatedXml, IRunSettingsTemplateReplacements replacements);
1619

1720
string ConfigureCustom(string runSettingsTemplate);

SharedProject/Core/MsTestPlatform/CodeCoverage/RunSettingsTemplate.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,22 @@ private class ReplacementLookups : IRunSettingsTemplateReplacements
4343

4444
private const string fccMarkerElementName = "FCCGenerated";
4545

46-
private readonly List<(string elementName, string value)> recommendedYouDoNotChangeElementsDetails = new List<(string elementName, string value)>
46+
private readonly List<(string elementName, string value)> recommendedYouDoNotChangeElementsNetCore = new List<(string elementName, string value)>
4747
{
4848
("UseVerifiableInstrumentation", "True"),
4949
("AllowLowIntegrityProcesses", "True"),
5050
("CollectFromChildProcesses", "True"),
5151
("CollectAspDotNet", "False")
5252
};
5353

54+
private readonly List<(string elementName, string value)> recommendedYouDoNotChangeElementsNetFramework = new List<(string elementName, string value)>
55+
{
56+
("UseVerifiableInstrumentation", "False"),
57+
("AllowLowIntegrityProcesses", "True"),
58+
("CollectFromChildProcesses", "True"),
59+
("CollectAspDotNet", "False")
60+
};
61+
5462
private class TemplateReplaceResult : ITemplateReplacementResult
5563
{
5664
public string Replaced { get; set; }
@@ -153,24 +161,29 @@ public override string ToString()
153161
return template;
154162
}
155163

156-
public ITemplateReplacementResult ReplaceTemplate(string runSettingsTemplate, IRunSettingsTemplateReplacements replacements)
164+
public ITemplateReplacementResult ReplaceTemplate(
165+
string runSettingsTemplate,
166+
IRunSettingsTemplateReplacements replacements,
167+
bool isNetFramework
168+
)
157169
{
158170
var replacedTestAdapter = HasReplaceableTestAdapter(runSettingsTemplate);
159171
var replacedRunSettingsTemplate = Replace(runSettingsTemplate, replacements);
160172

161173
return new TemplateReplaceResult
162174
{
163175
ReplacedTestAdapter = replacedTestAdapter,
164-
Replaced = AddRecommendedYouDoNotChangeElementsIfNotProvided(replacedRunSettingsTemplate)
176+
Replaced = AddRecommendedYouDoNotChangeElementsIfNotProvided(replacedRunSettingsTemplate,isNetFramework)
165177
};
166178
}
167179

168-
private string AddRecommendedYouDoNotChangeElementsIfNotProvided(string replacedRunSettingsTemplate)
180+
private string AddRecommendedYouDoNotChangeElementsIfNotProvided(string replacedRunSettingsTemplate, bool isNetFramework)
169181
{
170182
var templateDocument = XDocument.Parse(replacedRunSettingsTemplate);
171183
var msDataCollectorCodeCoverageElement = GetMsDataCollectorCodeCoverageElement(templateDocument);
172184
if (msDataCollectorCodeCoverageElement != null)
173185
{
186+
var recommendedYouDoNotChangeElementsDetails = isNetFramework ? recommendedYouDoNotChangeElementsNetFramework : recommendedYouDoNotChangeElementsNetCore;
174187
foreach (var recommendedYouDoNotChangeElementDetails in recommendedYouDoNotChangeElementsDetails)
175188
{
176189
var elementName = recommendedYouDoNotChangeElementDetails.elementName;

SharedProject/Core/MsTestPlatform/CodeCoverage/TemplatedRunSettingsService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ private ITemplateReplacementResult ReplaceTemplate(ICoverageProject coverageProj
164164
{
165165
var replacements = runSettingsTemplateReplacementsFactory.Create(coverageProject, fccMsTestAdapterPath);
166166

167-
return this.runSettingsTemplate.ReplaceTemplate(runSettingsTemplate, replacements);
167+
return this.runSettingsTemplate.ReplaceTemplate(runSettingsTemplate, replacements, coverageProject.IsDotNetFramework);
168168
}
169169

170170
public Task CleanUpAsync(List<ICoverageProject> coverageProjects)

0 commit comments

Comments
 (0)