Skip to content

Commit 798b462

Browse files
committed
use path.combine for generated run settings path
1 parent 6dc2ecf commit 798b462

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

FineCodeCoverage/Core/Coverlet/DataCollector/CoverletDataCollectorUtil.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ private string GetSettings()
120120
{
121121
var dataCollectorSettingsBuilder = dataCollectorSettingsBuilderFactory.Create();
122122
dataCollectorSettingsBuilder
123-
.Initialize(coverageProject.Settings, coverageProject.RunSettingsFile, $"{coverageProject.CoverageOutputFolder}/FCC.runsettings");
123+
.Initialize(coverageProject.Settings, coverageProject.RunSettingsFile, Path.Combine(coverageProject.CoverageOutputFolder,"FCC.runsettings"));
124124

125125
// command arguments
126126
dataCollectorSettingsBuilder

FineCodeCoverageTests/CoverletDataCollectorUtil_RunAsync_Tests.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public void SetUp()
3434

3535
mockCoverageProject = new Mock<ICoverageProject>();
3636
mockCoverageProject.Setup(cp => cp.Settings).Returns(new Mock<IAppOptions>().Object);
37+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
3738
mockCoverageProject.Setup(cp => cp.ExcludedReferencedProjects).Returns(new List<string>());
3839
mockRunSettingsCoverletConfiguration = new Mock<IRunSettingsCoverletConfiguration>();
3940
coverletDataCollectorUtil.runSettingsCoverletConfiguration = mockRunSettingsCoverletConfiguration.Object;
@@ -60,6 +61,7 @@ private DirectoryInfo CreateTemporaryDirectory()
6061
public async Task Should_Get_Settings_With_TestDllFile()
6162
{
6263
mockCoverageProject.Setup(cp => cp.TestDllFile).Returns("test.dll");
64+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
6365

6466
await coverletDataCollectorUtil.RunAsync(false);
6567
mockDataCollectorSettingsBuilder.Verify(b => b.WithProjectDll("test.dll"));
@@ -71,6 +73,7 @@ public async Task Should_Get_Settings_With_Exclude_From_CoverageProject_And_RunS
7173
{
7274
var projectExclude = new string[] { "excluded" };
7375
mockCoverageProject.Setup(cp => cp.Settings.Exclude).Returns(projectExclude);
76+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
7477
var referencedExcluded = new List<string> { "referencedExcluded" };
7578
mockCoverageProject.Setup(cp => cp.ExcludedReferencedProjects).Returns(referencedExcluded);
7679
mockRunSettingsCoverletConfiguration.Setup(rsc => rsc.Exclude).Returns("rsexclude");
@@ -83,6 +86,7 @@ public async Task Should_Not_Throw_When_Project_Setttings_Exclude_Is_Null()
8386
{
8487
var referencedExcluded = new List<string> { "referencedExcluded" };
8588
mockCoverageProject.Setup(cp => cp.ExcludedReferencedProjects).Returns(referencedExcluded);
89+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
8690
mockRunSettingsCoverletConfiguration.Setup(rsc => rsc.Exclude).Returns("rsexclude");
8791
await coverletDataCollectorUtil.RunAsync(false);
8892
mockDataCollectorSettingsBuilder.Verify(b => b.WithExclude(new string[] { "referencedExcluded"}, "rsexclude"));
@@ -93,6 +97,8 @@ public async Task Should_Get_Settings_With_ExcludeByFile_From_CoverageProject_An
9397
{
9498
var projectExcludeByFile = new string[] { "excludedByFile" };
9599
mockCoverageProject.Setup(cp => cp.Settings.ExcludeByFile).Returns(projectExcludeByFile);
100+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
101+
96102
mockRunSettingsCoverletConfiguration.Setup(rsc => rsc.ExcludeByFile).Returns("rsexcludeByFile");
97103
await coverletDataCollectorUtil.RunAsync(false);
98104
mockDataCollectorSettingsBuilder.Verify(b => b.WithExcludeByFile(projectExcludeByFile, "rsexcludeByFile"));
@@ -113,6 +119,8 @@ public async Task Should_Get_Settings_With_Include_From_CoverageProject_And_RunS
113119
{
114120
var projectInclude= new string[] { "included" };
115121
mockCoverageProject.Setup(cp => cp.Settings.Include).Returns(projectInclude);
122+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
123+
116124
mockRunSettingsCoverletConfiguration.Setup(rsc => rsc.Include).Returns("rsincluded");
117125
await coverletDataCollectorUtil.RunAsync(false);
118126
mockDataCollectorSettingsBuilder.Verify(b => b.WithInclude(projectInclude, "rsincluded"));
@@ -123,6 +131,7 @@ public async Task Should_Get_Settings_With_Include_From_CoverageProject_And_RunS
123131
public async Task Should_Get_Settings_With_IncludeTestAssembly_From_CoverageProject_And_RunSettings(bool projectIncludeTestAssembly, string runSettingsIncludeTestAssembly)
124132
{
125133
mockCoverageProject.Setup(cp => cp.Settings.IncludeTestAssembly).Returns(projectIncludeTestAssembly);
134+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
126135
mockRunSettingsCoverletConfiguration.Setup(rsc => rsc.IncludeTestAssembly).Returns(runSettingsIncludeTestAssembly);
127136
await coverletDataCollectorUtil.RunAsync(false);
128137
mockDataCollectorSettingsBuilder.Verify(b => b.WithIncludeTestAssembly(projectIncludeTestAssembly, runSettingsIncludeTestAssembly));
@@ -137,7 +146,7 @@ public async Task Should_Initialize_With_Options_And_Run_Settings_First()
137146
mockCoverageProject.Setup(cp => cp.Settings).Returns(settings);
138147

139148
await coverletDataCollectorUtil.RunAsync(false);
140-
mockDataCollectorSettingsBuilder.Verify(b => b.Initialize(settings, ".runsettings","output/FCC.runsettings"));
149+
mockDataCollectorSettingsBuilder.Verify(b => b.Initialize(settings, ".runsettings",Path.Combine("output","FCC.runsettings")));
141150

142151
var invocations = mockDataCollectorSettingsBuilder.Invocations.GetEnumerator().ToIEnumerable().ToList();
143152
Assert.AreEqual(invocations.First().Method.Name, nameof(IDataCollectorSettingsBuilder.Initialize));
@@ -209,6 +218,7 @@ public async Task Should_Get_Settings_With_SkipAutoProps_From_RunSettings()
209218
public async Task Should_Log_VSTest_Run_With_Settings()
210219
{
211220
mockCoverageProject.Setup(cp => cp.ProjectName).Returns("TestProject");
221+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
212222
mockDataCollectorSettingsBuilder.Setup(sb => sb.Build()).Returns("settings string");
213223
await coverletDataCollectorUtil.RunAsync(false);
214224
mocker.Verify<ILogger>(l => l.Log(coverletDataCollectorUtil.LogRunMessage("settings string")));
@@ -218,6 +228,7 @@ public async Task Should_Log_VSTest_Run_With_Settings()
218228
public async Task Should_Execute_DotNet_Test_Collect_XPlat_With_Settings_Using_The_ProcessUtil()
219229
{
220230
mockCoverageProject.Setup(cp => cp.ProjectOutputFolder).Returns("projectOutputFolder");
231+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
221232
mockDataCollectorSettingsBuilder.Setup(sb => sb.Build()).Returns("settings");
222233
coverletDataCollectorUtil.TestAdapterPathArg = "testadapterpath";
223234
await coverletDataCollectorUtil.RunAsync(false);
@@ -228,6 +239,7 @@ private async Task Use_Custom_TestAdapterPath()
228239
{
229240
CreateTemporaryDirectory();
230241
mockCoverageProject.Setup(cp => cp.ProjectOutputFolder).Returns("projectOutputFolder");
242+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
231243
mockCoverageProject.Setup(cp => cp.Settings.CoverletCollectorDirectoryPath).Returns(tempDirectory);
232244
mockDataCollectorSettingsBuilder.Setup(sb => sb.Build()).Returns("settings");
233245
coverletDataCollectorUtil.TestAdapterPathArg = "testadapterpath";
@@ -253,6 +265,7 @@ public async Task Should_Log_When_Using_Custom_TestAdapterPath()
253265
public async Task Should_Use_The_ProcessResponseProcessor(bool throwOnError,bool processResponseProcessorResult)
254266
{
255267
mockCoverageProject.Setup(cp => cp.ProjectName).Returns("TestProject");
268+
mockCoverageProject.Setup(cp => cp.CoverageOutputFolder).Returns("");
256269

257270
var mockProcesUtil = mocker.GetMock<IProcessUtil>();
258271
var executeResponse = new ExecuteResponse();

0 commit comments

Comments
 (0)