Use groupby()
This commit is contained in:
parent
c438a14b62
commit
98669ceb77
|
@ -150,7 +150,8 @@ class DiffFilters:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def filter_failures (f):
|
def filter_failures (f):
|
||||||
for lines in DiffHelpers.separate_test_cases (f):
|
for key, lines in DiffHelpers.separate_test_cases (f):
|
||||||
|
lines = list (lines)
|
||||||
if not DiffHelpers.test_passed (lines):
|
if not DiffHelpers.test_passed (lines):
|
||||||
for l in lines: yield l
|
for l in lines: yield l
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ class DiffSinks:
|
||||||
def print_stat (f):
|
def print_stat (f):
|
||||||
passed = 0
|
passed = 0
|
||||||
failed = 0
|
failed = 0
|
||||||
for lines in DiffHelpers.separate_test_cases (f):
|
for key, lines in DiffHelpers.separate_test_cases (f):
|
||||||
if DiffHelpers.test_passed (lines):
|
if DiffHelpers.test_passed (lines):
|
||||||
passed += 1
|
passed += 1
|
||||||
else:
|
else:
|
||||||
|
@ -176,22 +177,11 @@ class DiffHelpers:
|
||||||
have a colon character, groups them by identifier,
|
have a colon character, groups them by identifier,
|
||||||
yielding lists of all lines with the same identifier.'''
|
yielding lists of all lines with the same identifier.'''
|
||||||
|
|
||||||
acc = []
|
def identifier (l):
|
||||||
iden = None
|
if ':' in l[1:]:
|
||||||
for l in f:
|
return l[1:l.index (':')]
|
||||||
if ':' not in l:
|
return l
|
||||||
if acc: yield acc
|
return groupby (f, key=identifier)
|
||||||
acc = []
|
|
||||||
iden = None
|
|
||||||
yield [l]
|
|
||||||
continue
|
|
||||||
l_iden = l[1:l.index (':')]
|
|
||||||
if acc and iden != l_iden:
|
|
||||||
yield acc
|
|
||||||
acc = []
|
|
||||||
iden = l_iden
|
|
||||||
acc.append (l)
|
|
||||||
if acc: yield acc
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def test_passed (lines):
|
def test_passed (lines):
|
||||||
|
|
Loading…
Reference in New Issue