Skip to content

Commit d00921b

Browse files
committed
Added a new release-coverage format which whould make it easier to show line-by-line code test coverage changes in the future.
- Legacy-Id: 13967
1 parent 2de6855 commit d00921b

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

ietf/utils/management/commands/coverage_changes.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,16 @@ def coverage_diff(self, master, latest, sections, release=None, **options):
108108
mlines, mcov = mcoverage[mkey]
109109
elif mformat == 4:
110110
mlines, mcov = mcoverage[mkey]
111+
elif mformat == 5:
112+
mlines, mcov, mmissnum, mmisslines = mcoverage[mkey]
111113
else:
112114
raise CommandError("The release coverage data has an unknown format ('%s'), quitting." % mformat)
113115
if lformat == 1:
114116
linfo, lcov = None, lcoverage[key]
115117
elif lformat in [2, 4]:
116118
linfo, lcov = lcoverage[key]
119+
elif lformat == 5:
120+
linfo, lcov, lmissnum, lmisslines = lcoverage[key]
117121
else:
118122
raise CommandError("The latest coverage data has an unknown format ('%s'), quitting." % lformat)
119123

ietf/utils/test_runner.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,12 +236,16 @@ def report(self):
236236
self.find_file_reporters(None)
237237

238238
total = Numbers()
239-
result = {"coverage": 0.0, "covered": {}, "format": 2, }
239+
result = {"coverage": 0.0, "covered": {}, "format": 5, }
240240
for fr in self.file_reporters:
241241
try:
242242
analysis = self.coverage._analyze(fr)
243243
nums = analysis.numbers
244-
result["covered"][fr.relative_filename()] = (nums.n_statements, nums.pc_covered/100.0)
244+
missing_nums = sorted(analysis.missing)
245+
with open(analysis.filename) as file:
246+
lines = file.read().splitlines()
247+
missing_lines = [ lines[l-1] for l in missing_nums ]
248+
result["covered"][fr.relative_filename()] = (nums.n_statements, nums.pc_covered/100.0, missing_nums, missing_lines)
245249
total += nums
246250
except KeyboardInterrupt: # pragma: not covered
247251
raise

release-coverage.json.gz

95.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)