Skip to content

Commit 5c81ed5

Browse files
authored
Merge pull request #178 from Pennycook/feature/coverage-format
Switch to finalized coverage schema
2 parents d606624 + 43ace13 commit 5c81ed5

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

codebasin/coverage/__main__.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,22 @@ def _compute(args: argparse.Namespace):
133133
with open(filename, "rb") as f:
134134
digest = hashlib.file_digest(f, "sha512")
135135

136-
lines = []
136+
used_lines = []
137+
unused_lines = []
137138
tree = state.get_tree(filename)
138139
association = state.get_map(filename)
139140
for node in [n for n in tree.walk() if isinstance(n, CodeNode)]:
140141
if association[node] == frozenset([]):
141-
continue
142-
lines.extend(node.lines)
142+
unused_lines.extend(node.lines)
143+
else:
144+
used_lines.extend(node.lines)
143145

144146
covarray.append(
145147
{
146148
"file": relative_path,
147149
"id": digest.hexdigest(),
148-
"lines": lines,
150+
"used_lines": used_lines,
151+
"unused_lines": unused_lines,
149152
},
150153
)
151154

codebasin/schema/coverage.schema

+11-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
3-
"$id": "https://raw.githubusercontent.com/intel/p3-analysis-library/main/p3/data/coverage-0.3.0.schema",
3+
"$id": "https://raw.githubusercontent.com/intel/p3-analysis-library/main/p3/data/coverage.schema",
44
"title": "Coverage",
55
"description": "Lines of code used in each file of a code base.",
66
"type": "array",
@@ -13,29 +13,24 @@
1313
"id": {
1414
"type": "string"
1515
},
16-
"lines": {
16+
"used_lines": {
1717
"type": "array",
1818
"items": {
19-
"oneOf": [
20-
{
21-
"type": "integer"
22-
},
23-
{
24-
"type": "array",
25-
"contains": {
26-
"type": "integer"
27-
},
28-
"minContains": 2,
29-
"maxContains": 2
30-
}
31-
]
19+
"type": "integer"
20+
}
21+
},
22+
"unused_lines": {
23+
"type": "array",
24+
"items": {
25+
"type": "integer"
3226
}
3327
}
3428
},
3529
"required": [
3630
"file",
3731
"id",
38-
"lines"
32+
"used_lines",
33+
"unused_lines"
3934
]
4035
}
4136
}

tests/cli/test_cbicov.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,14 @@ def test_compute(self):
9797
{
9898
"file": "bar.h",
9999
"id": "3ba8372282f8f1bafc59bb3d0472dcd7ecd5f13a54f17585c6012bfc40bfba7b9afb905f24ccea087546f4c90363bba97d988e4067ec880f619d0ab623c3a7a1", # noqa: E501
100-
"lines": [],
100+
"used_lines": [],
101+
"unused_lines": [1],
101102
},
102103
{
103104
"file": "foo.cpp",
104105
"id": "1359957a144db36091624c1091ac6a47c47945a3ff63a47ace3dc5c1b13159929adac14c21733ec1054f7f1f8809ac416e643483191aab6687d7849ee17edaa0", # noqa: E501
105-
"lines": [1, 3, 4],
106+
"used_lines": [1, 3, 4],
107+
"unused_lines": [2],
106108
},
107109
]
108110
self.assertCountEqual(coverage, expected_coverage)

0 commit comments

Comments
 (0)