Skip to content

Commit 53c5327

Browse files
committed
add DefaultCoverageOutputFolder
1 parent 1596799 commit 53c5327

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

FineCodeCoverageTests/CoverageToolOutput_Tests/CoverageToolOutputManager_Tests.cs

+7-5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class CoverageToolOutputManager_Tests
1717
private Mock<ICoverageProject> mockProject2;
1818
private List<ICoverageProject> coverageProjects;
1919
private List<int> callOrder;
20+
private const string DefaultCoverageFolder = "defaultFolder";
2021

2122
[SetUp]
2223
public void SetUp()
@@ -26,9 +27,11 @@ public void SetUp()
2627
mockProject1.Setup(p => p.FCCOutputFolder).Returns("p1output");
2728
mockProject1.Setup(p => p.ProjectName).Returns("project1");
2829
mockProject1.SetupProperty(p => p.CoverageOutputFolder);
30+
mockProject1.Setup(p => p.DefaultCoverageOutputFolder).Returns(DefaultCoverageFolder);
2931
mockProject2 = new Mock<ICoverageProject>();
3032
mockProject2.Setup(p => p.FCCOutputFolder).Returns("p2output");
3133
mockProject2.Setup(p => p.ProjectName).Returns("project2");
34+
mockProject2.Setup(p => p.DefaultCoverageOutputFolder).Returns(DefaultCoverageFolder);
3235
coverageProjects = new List<ICoverageProject> { mockProject1.Object, mockProject2.Object };
3336
}
3437

@@ -105,16 +108,15 @@ public void Should_Set_CoverageOutputFolder_To_ProjectName_Sub_Folder_Of_Provide
105108
}
106109

107110
[Test]
108-
public void Should_Set_CoverageOutputFolder_To_Sub_Folder_Of_CoverageProject_FCCOutputFolder_For_All_When_Not_Provided()
111+
public void Should_Set_CoverageOutputFolder_To_Default_For_All_When_Not_Provided()
109112
{
110113
SetUpProviders(true, null, null);
111114
var coverageToolOutputManager = mocker.Create<CoverageToolOutputManager>();
112115
coverageToolOutputManager.SetProjectCoverageOutputFolder(coverageProjects);
113116

114-
var expectedProject1OutputFolder = Path.Combine(mockProject1.Object.FCCOutputFolder, "coverage-tool-output");
115-
var expectedProject2OutputFolder = Path.Combine(mockProject2.Object.FCCOutputFolder, "coverage-tool-output");
116-
mockProject1.VerifySet(p => p.CoverageOutputFolder = expectedProject1OutputFolder);
117-
mockProject2.VerifySet(p => p.CoverageOutputFolder = expectedProject2OutputFolder);
117+
118+
mockProject1.VerifySet(p => p.CoverageOutputFolder = DefaultCoverageFolder);
119+
mockProject2.VerifySet(p => p.CoverageOutputFolder = DefaultCoverageFolder);
118120
}
119121

120122
[Test]

SharedProject/Core/CoverageToolOutput/CoverageToolOutputManager.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ internal class CoverageToolOutputManager : ICoverageToolOutputManager
1313
{
1414
private readonly ILogger logger;
1515
private readonly IFileUtil fileUtil;
16-
private const string projectCoverageToolOutputFolderName = "coverage-tool-output";
1716
private string outputFolderForAllProjects;
1817
private List<ICoverageProject> coverageProjects;
1918
private readonly IOrderedEnumerable<Lazy<ICoverageToolOutputFolderProvider, IOrderMetadata>> outputFolderProviders;
@@ -29,12 +28,12 @@ public CoverageToolOutputManager(IFileUtil fileUtil, ILogger logger,[ImportMany]
2928
public void SetProjectCoverageOutputFolder(List<ICoverageProject> coverageProjects)
3029
{
3130
this.coverageProjects = coverageProjects;
32-
DetermineOutputFolder();
31+
DetermineOutputFolderForAllProjects();
3332
if (outputFolderForAllProjects == null)
3433
{
3534
foreach(var coverageProject in coverageProjects)
3635
{
37-
coverageProject.CoverageOutputFolder = Path.Combine(coverageProject.FCCOutputFolder, projectCoverageToolOutputFolderName);
36+
coverageProject.CoverageOutputFolder = coverageProject.DefaultCoverageOutputFolder;
3837
}
3938
}
4039
else
@@ -49,7 +48,7 @@ public void SetProjectCoverageOutputFolder(List<ICoverageProject> coverageProjec
4948

5049

5150

52-
private void DetermineOutputFolder()
51+
private void DetermineOutputFolderForAllProjects()
5352
{
5453
outputFolderForAllProjects = outputFolderProviders.SelectFirstNonNull(p => p.Value.Provide(coverageProjects));
5554
if(outputFolderForAllProjects != null)

SharedProject/Core/Model/CoverageProject.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ Process PropertyGroup settings
336336
}
337337
}
338338
public string CoverageOutputFolder { get; set; }
339-
339+
public string DefaultCoverageOutputFolder => Path.Combine(FCCOutputFolder, coverageToolOutputFolderName);
340340

341341
public XElement ProjectFileXElement
342342
{
@@ -382,7 +382,7 @@ public async System.Threading.Tasks.Task StepAsync(string stepName, Func<ICovera
382382
public async System.Threading.Tasks.Task PrepareForCoverageAsync()
383383
{
384384
EnsureDirectories();
385-
CleanDirectory();
385+
CleanFCCDirectory();
386386
SynchronizeBuildOutput();
387387
await SetExcludedReferencedProjectsAsync();
388388
}
@@ -560,7 +560,7 @@ private void EnsureEmptyOutputFolder()
560560
Directory.CreateDirectory(CoverageOutputFolder);
561561
}
562562
}
563-
private void CleanDirectory()
563+
private void CleanFCCDirectory()
564564
{
565565
var exclusions = new List<string> { buildOutputFolderName, coverageToolOutputFolderName };
566566
var fccDirectory = new DirectoryInfo(FCCOutputFolder);

SharedProject/Core/Model/ICoverageProject.cs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ internal interface ICoverageProject
1111
string FCCOutputFolder { get; }
1212
string CoverageOutputFile { get; }
1313
string CoverageOutputFolder { get; set; }
14+
string DefaultCoverageOutputFolder { get; }
1415
List<string> ExcludedReferencedProjects { get; }
1516
string FailureDescription { get; set; }
1617
string FailureStage { get; set; }

0 commit comments

Comments
 (0)