Skip to content

Commit

Permalink
#196: Local caching of remote files
Browse files Browse the repository at this point in the history
  • Loading branch information
danielpalme committed Jan 17, 2019
1 parent 0b760d1 commit e722fc5
Show file tree
Hide file tree
Showing 31 changed files with 209 additions and 86 deletions.
2 changes: 1 addition & 1 deletion src/AzureDevopsTask/ReportGenerator/task.json
Expand Up @@ -13,7 +13,7 @@
"version": {
"Major": 1,
"Minor": 0,
"Patch": 15
"Patch": 16
},
"instanceNameFormat": "ReportGenerator",
"groups": [
Expand Down
2 changes: 1 addition & 1 deletion src/AzureDevopsTask/vss-extension.json
Expand Up @@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "reportgenerator",
"name": "ReportGenerator",
"version": "1.0.15",
"version": "1.0.16",
"publisher": "Palmmedia",
"public": true,
"targets": [
Expand Down
5 changes: 5 additions & 0 deletions src/Readme.txt
Expand Up @@ -24,6 +24,7 @@ The following output formats are supported by ReportGenerator:

-HTML, HTMLSummary, HTMLInline, HtmlInline_AzurePipelines, HTMLChart, MHTML
-Cobertura
-SonarQube
-XML, XMLSummary
-Latex, LatexSummary
-TextSummary
Expand Down Expand Up @@ -57,6 +58,10 @@ For further details take a look at LICENSE.txt.

CHANGELOG

4.0.6.0

* New: Issue #196: Local caching of remote files

4.0.6.0

* New: Issue #193: Added support for Clover input format
Expand Down
@@ -1,7 +1,8 @@
{
"profiles": {
"ReportGenerator.Console.NetCore": {
"commandName": "Project"
"commandName": "Project",
"commandLineArgs": "-reports:C:\\Users\\danie\\Documents\\Projects\\ReportGenerator\\src\\Testprojects\\CSharp\\Reports\\OpenCover.xml -targetdir:out"
}
}
}
Expand Up @@ -7,8 +7,8 @@
<AssemblyName>ReportGenerator</AssemblyName>
<RootNamespace>Palmmedia.ReportGenerator</RootNamespace>
<StartupObject>Palmmedia.ReportGenerator.Console.NetCore.Program</StartupObject>
<AssemblyVersion>4.0.6.0</AssemblyVersion>
<FileVersion>4.0.6.0</FileVersion>
<AssemblyVersion>4.0.7.0</AssemblyVersion>
<FileVersion>4.0.7.0</FileVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
Expand Down
9 changes: 5 additions & 4 deletions src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Xunit;

namespace Palmmedia.ReportGenerator.Core.Test.Parser.Analysis
Expand Down Expand Up @@ -170,7 +171,7 @@ public void AnalyzeFile_ExistingFile_AnalysisIsReturned()

Assert.Null(sut.TotalLines);

var fileAnalysis = sut.AnalyzeFile();
var fileAnalysis = sut.AnalyzeFile(new CachingFileReader(0));

Assert.NotNull(fileAnalysis);
Assert.Null(fileAnalysis.Error);
Expand Down Expand Up @@ -205,7 +206,7 @@ public void AnalyzeFile_ExistingFileWithTrackedMethods_AnalysisIsReturned()
var testMethod = new TestMethod("TestFull", "Test");
sut.AddCoverageByTestMethod(testMethod, new CoverageByTrackedMethod() { Coverage = new int[] { -2, 2, -1, 0 }, LineVisitStatus = new LineVisitStatus[] { LineVisitStatus.NotCoverable, LineVisitStatus.Covered, LineVisitStatus.NotCoverable, LineVisitStatus.NotCovered } });

var fileAnalysis = sut.AnalyzeFile();
var fileAnalysis = sut.AnalyzeFile(new CachingFileReader(0));

Assert.Equal(2, fileAnalysis.Lines.First().LineCoverageByTestMethod[testMethod].LineVisits);
Assert.Equal(LineVisitStatus.Covered, fileAnalysis.Lines.First().LineCoverageByTestMethod[testMethod].LineVisitStatus);
Expand All @@ -221,7 +222,7 @@ public void AnalyzeFile_NonExistingFile_AnalysisIsReturned()

Assert.Null(sut.TotalLines);

var fileAnalysis = sut.AnalyzeFile();
var fileAnalysis = sut.AnalyzeFile(new CachingFileReader(0));

Assert.NotNull(fileAnalysis);
Assert.NotNull(fileAnalysis.Error);
Expand Down Expand Up @@ -264,7 +265,7 @@ public void AddCoverageByTestMethod_AddCoverageByTestMethodForExistingMethod_Cov
Assert.Contains(testMethod, sut.TestMethods);

// using AnalyseFile() to retrieve merged coverage by test method
var lineAnalyses = sut.AnalyzeFile().Lines;
var lineAnalyses = sut.AnalyzeFile(new CachingFileReader(0)).Lines;
var testMethodCoverage = lineAnalyses.Take(9).Select(l => l.LineCoverageByTestMethod).ToArray();

Assert.True(testMethodCoverage.All(coverage => coverage.ContainsKey(testMethod)), "All lines should be covered by given test method");
Expand Down
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/CloverParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Parser.Preprocessing;
using Xunit;
Expand Down Expand Up @@ -140,6 +141,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/CoberturaParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Parser.Preprocessing;
using Xunit;
Expand Down Expand Up @@ -160,6 +161,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/DotCoverParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -174,6 +175,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "Test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -183,6 +184,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test.exe").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/JaCoCoParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Parser.Preprocessing;
using Xunit;
Expand Down Expand Up @@ -158,6 +159,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/MProfParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -146,6 +147,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "Test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/NCoverParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -146,6 +147,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "Test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/OpenCoverParserTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Parser.Preprocessing;
using Xunit;
Expand Down Expand Up @@ -310,6 +311,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "Test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
3 changes: 2 additions & 1 deletion src/ReportGenerator.Core.Test/Parser/ParserResultTest.cs
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Parser.Preprocessing;
using Xunit;
Expand Down Expand Up @@ -283,6 +284,6 @@ public void OpenCoverBranchesTest()
.Single(a => a.Name == "Test").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -162,6 +163,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "Test.exe").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -158,6 +159,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test.exe").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
Expand Up @@ -5,6 +5,7 @@
using Moq;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.Analysis;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Xunit;

Expand Down Expand Up @@ -180,6 +181,6 @@ public void CodeElementsTest()
.Single(a => a.Name == "test.exe").Classes
.Single(c => c.Name == className).Files
.Single(f => f.Path == fileName)
.AnalyzeFile();
.AnalyzeFile(new CachingFileReader(0));
}
}
Expand Up @@ -4,8 +4,8 @@
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
<RootNamespace>Palmmedia.ReportGenerator.Core.Test</RootNamespace>
<AssemblyVersion>4.0.6.0</AssemblyVersion>
<FileVersion>4.0.6.0</FileVersion>
<AssemblyVersion>4.0.7.0</AssemblyVersion>
<FileVersion>4.0.7.0</FileVersion>
</PropertyGroup>


Expand Down
2 changes: 2 additions & 0 deletions src/ReportGenerator.Core/Generator.cs
Expand Up @@ -5,6 +5,7 @@
using Palmmedia.ReportGenerator.Core.Common;
using Palmmedia.ReportGenerator.Core.Logging;
using Palmmedia.ReportGenerator.Core.Parser;
using Palmmedia.ReportGenerator.Core.Parser.FileReading;
using Palmmedia.ReportGenerator.Core.Parser.Filtering;
using Palmmedia.ReportGenerator.Core.Plugin;
using Palmmedia.ReportGenerator.Core.Properties;
Expand Down Expand Up @@ -92,6 +93,7 @@ public bool GenerateReport(IReportConfiguration reportConfiguration)
}

new Reporting.ReportGenerator(
new CachingFileReader(reportContext.Settings.CachingDuringOfRemoteFilesInMinutes),
parserResult,
reportBuilderFactory.GetReportBuilders(reportContext))
.CreateReport(reportContext.ReportConfiguration.HistoryDirectory != null, overallHistoricCoverages, executionTime, reportContext.ReportConfiguration.Tag);
Expand Down

0 comments on commit e722fc5

Please sign in to comment.