Added detailed line-by line changes in code coverage to the coverage_changes management command. Use verbosity 2 or higher.
- Legacy-Id: 14007
This commit is contained in:
parent
868427a645
commit
8a53653682
|
@ -5,6 +5,8 @@ import json
|
|||
import codecs
|
||||
import gzip
|
||||
|
||||
from difflib import ndiff
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from django.utils.six import string_types
|
||||
|
@ -134,6 +136,25 @@ class Command(BaseCommand):
|
|||
self.stdout.write(self.diff_line_format % ("-"*8, "-"*8, "-"*58))
|
||||
header_written = True
|
||||
self.stdout.write(self.diff_line_format % (mval, lval, key, ))
|
||||
if mmisslines and lmisslines and set(lmissnum) != set(mmissnum) and options.get('verbosity',1) > 2:
|
||||
self.stdout.write(' ------------------------------------------------------------')
|
||||
ln = 0
|
||||
mn = 0
|
||||
p = -1
|
||||
n = 0
|
||||
for line in ndiff(mmisslines, lmisslines):
|
||||
n = lmissnum[ln]
|
||||
prefix, text = line[:2], line[2:]
|
||||
if mn<len(mmisslines) and text == mmisslines[mn]:
|
||||
mn += 1
|
||||
if ln<len(lmisslines) and text == lmisslines[ln]:
|
||||
ln += 1
|
||||
if line[0] in ['+', '-']:
|
||||
if not n in [p, p+1]:
|
||||
self.stdout.write('\n')
|
||||
self.stdout.write("%s" % (line, ))
|
||||
p = n
|
||||
self.stdout.write('\n')
|
||||
lkey_set = set(lkeys)
|
||||
rkey_set = set(mkeys)
|
||||
missing_key_set = rkey_set - lkey_set
|
||||
|
|
Loading…
Reference in a new issue