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
This commit is contained in:
parent
2de6855ccd
commit
d00921b94b
|
@ -108,12 +108,16 @@ class Command(BaseCommand):
|
|||
mlines, mcov = mcoverage[mkey]
|
||||
elif mformat == 4:
|
||||
mlines, mcov = mcoverage[mkey]
|
||||
elif mformat == 5:
|
||||
mlines, mcov, mmissnum, mmisslines = mcoverage[mkey]
|
||||
else:
|
||||
raise CommandError("The release coverage data has an unknown format ('%s'), quitting." % mformat)
|
||||
if lformat == 1:
|
||||
linfo, lcov = None, lcoverage[key]
|
||||
elif lformat in [2, 4]:
|
||||
linfo, lcov = lcoverage[key]
|
||||
elif lformat == 5:
|
||||
linfo, lcov, lmissnum, lmisslines = lcoverage[key]
|
||||
else:
|
||||
raise CommandError("The latest coverage data has an unknown format ('%s'), quitting." % lformat)
|
||||
|
||||
|
|
|
@ -236,12 +236,16 @@ class CoverageReporter(Reporter):
|
|||
self.find_file_reporters(None)
|
||||
|
||||
total = Numbers()
|
||||
result = {"coverage": 0.0, "covered": {}, "format": 2, }
|
||||
result = {"coverage": 0.0, "covered": {}, "format": 5, }
|
||||
for fr in self.file_reporters:
|
||||
try:
|
||||
analysis = self.coverage._analyze(fr)
|
||||
nums = analysis.numbers
|
||||
result["covered"][fr.relative_filename()] = (nums.n_statements, nums.pc_covered/100.0)
|
||||
missing_nums = sorted(analysis.missing)
|
||||
with open(analysis.filename) as file:
|
||||
lines = file.read().splitlines()
|
||||
missing_lines = [ lines[l-1] for l in missing_nums ]
|
||||
result["covered"][fr.relative_filename()] = (nums.n_statements, nums.pc_covered/100.0, missing_nums, missing_lines)
|
||||
total += nums
|
||||
except KeyboardInterrupt: # pragma: not covered
|
||||
raise
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue