Skip to content

Commit eda7f63

Browse files
committed
add serialization test
1 parent 58fe890 commit eda7f63

File tree

2 files changed

+85
-1
lines changed

2 files changed

+85
-1
lines changed

test/coverlet.core.tests/Coverage/CoverageTests.cs

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
using System;
55
using System.IO;
6+
using System.Linq;
7+
using System.Text.Json;
68
using Coverlet.Core.Abstractions;
79
using Coverlet.Core.Helpers;
810
using Coverlet.Core.Symbols;
@@ -94,7 +96,7 @@ public void TestCoverageWithTestAssembly()
9496
}
9597

9698
[Fact]
97-
public void TestCoverageWrongMergeWith()
99+
public void TestCoverageWrongMergeWithParameter()
98100
{
99101
string module = GetType().Assembly.Location;
100102
string pdb = Path.Combine(Path.GetDirectoryName(module), Path.GetFileNameWithoutExtension(module) + ".pdb");
@@ -130,5 +132,44 @@ public void TestCoverageWrongMergeWith()
130132

131133
directory.Delete(true);
132134
}
135+
136+
[Fact]
137+
public void TestCoverageMergeWithParameter()
138+
{
139+
string module = GetType().Assembly.Location;
140+
string pdb = Path.Combine(Path.GetDirectoryName(module), Path.GetFileNameWithoutExtension(module) + ".pdb");
141+
142+
DirectoryInfo directory = Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()));
143+
144+
File.Copy(module, Path.Combine(directory.FullName, Path.GetFileName(module)), true);
145+
File.Copy(pdb, Path.Combine(directory.FullName, Path.GetFileName(pdb)), true);
146+
147+
// TODO: Find a way to mimick hits
148+
var instrumentationHelper =
149+
new InstrumentationHelper(new ProcessExitHandler(), new RetryHelper(), new FileSystem(), new Mock<ILogger>().Object,
150+
new SourceRootTranslator(module, new Mock<ILogger>().Object, new FileSystem(), new AssemblyAdapter()));
151+
152+
var parameters = new CoverageParameters
153+
{
154+
IncludeFilters = new string[] { "[coverlet.tests.projectsample.excludedbyattribute*]*" },
155+
IncludeDirectories = Array.Empty<string>(),
156+
ExcludeFilters = Array.Empty<string>(),
157+
ExcludedSourceFiles = Array.Empty<string>(),
158+
ExcludeAttributes = Array.Empty<string>(),
159+
IncludeTestAssembly = false,
160+
SingleHit = false,
161+
MergeWith = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), "TestAssets"), "MergeWith.coverage.json").First(),
162+
UseSourceLink = false
163+
};
164+
165+
var coverage = new Coverage(Path.Combine(directory.FullName, Path.GetFileName(module)), parameters, _mockLogger.Object, instrumentationHelper, new FileSystem(), new SourceRootTranslator(_mockLogger.Object, new FileSystem()), new CecilSymbolHelper());
166+
coverage.PrepareModules();
167+
168+
string result = JsonSerializer.Serialize(coverage.GetCoverageResult());
169+
170+
Assert.Contains("DeepThought.cs", result);
171+
172+
directory.Delete(true);
173+
}
133174
}
134175
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"coverletsamplelib.integration.template.dll": {
3+
"C:\\GitHub\\coverlet\\artifacts\\bin\\coverlet.integration.tests\\debug_net7.0\\01021711\\Program.cs": {
4+
"HelloWorld.Program": {
5+
"System.Void HelloWorld.Program::Main(System.String[])": {
6+
"Lines": {
7+
"10": 1,
8+
"11": 1,
9+
"12": 1,
10+
"13": 1,
11+
"14": 1
12+
},
13+
"Branches": []
14+
}
15+
}
16+
},
17+
"C:\\GitHub\\coverlet\\artifacts\\bin\\coverlet.integration.tests\\debug_net7.0\\01021711\\DeepThought.cs": {
18+
"Coverlet.Integration.Template.DeepThought": {
19+
"System.Int32 Coverlet.Integration.Template.DeepThought::AnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything()": {
20+
"Lines": {
21+
"6": 1,
22+
"7": 1,
23+
"8": 1
24+
},
25+
"Branches": []
26+
}
27+
}
28+
},
29+
"C:\\GitHub\\coverlet\\artifacts\\bin\\coverlet.integration.tests\\debug_net7.0\\01021711\\TemplateTest.cs": {
30+
"Coverlet.Integration.Template.TemplateTest": {
31+
"System.Void Coverlet.Integration.Template.TemplateTest::Answer()": {
32+
"Lines": {
33+
"9": 0,
34+
"10": 0,
35+
"11": 0,
36+
"12": 0
37+
},
38+
"Branches": []
39+
}
40+
}
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)