terminal: fix non-deterministic warning summary order in Python 3.5
In Python 3.5, collections.Counter() does not preserve insertion order.
This commit is contained in:
parent
abf785666a
commit
94400a68b4
|
@ -854,9 +854,12 @@ class TerminalReporter:
|
||||||
if len(locations) < 10:
|
if len(locations) < 10:
|
||||||
return "\n".join(map(str, locations))
|
return "\n".join(map(str, locations))
|
||||||
|
|
||||||
counts_by_filename = collections.Counter(
|
counts_by_filename = (
|
||||||
str(loc).split("::", 1)[0] for loc in locations
|
collections.OrderedDict()
|
||||||
)
|
) # type: collections.OrderedDict[str, int]
|
||||||
|
for loc in locations:
|
||||||
|
key = str(loc).split("::", 1)[0]
|
||||||
|
counts_by_filename[key] = counts_by_filename.get(key, 0) + 1
|
||||||
return "\n".join(
|
return "\n".join(
|
||||||
"{}: {} warning{}".format(k, v, "s" if v > 1 else "")
|
"{}: {} warning{}".format(k, v, "s" if v > 1 else "")
|
||||||
for k, v in counts_by_filename.items()
|
for k, v in counts_by_filename.items()
|
||||||
|
|
Loading…
Reference in New Issue