提交 c438a14b 编写于 作者: B Behdad Esfahbod

Add hb-diff-stat

上级 1058d031
...@@ -13,6 +13,7 @@ EXTRA_DIST += \ ...@@ -13,6 +13,7 @@ EXTRA_DIST += \
hb-diff \ hb-diff \
hb-diff-colorize \ hb-diff-colorize \
hb-diff-filter-failures \ hb-diff-filter-failures \
hb-diff-stat \
hb-manifest-read \ hb-manifest-read \
hb-manifest-update \ hb-manifest-update \
hb-unicode-decode \ hb-unicode-decode \
......
#!/usr/bin/python
from hb_test_tools import *
UtilMains.process_multiple_files (DiffSinks.print_stat)
...@@ -151,9 +151,23 @@ class DiffFilters: ...@@ -151,9 +151,23 @@ class DiffFilters:
@staticmethod @staticmethod
def filter_failures (f): def filter_failures (f):
for lines in DiffHelpers.separate_test_cases (f): for lines in DiffHelpers.separate_test_cases (f):
if any (l[0] != ' ' for l in lines): if not DiffHelpers.test_passed (lines):
for l in lines: yield l for l in lines: yield l
class DiffSinks:
@staticmethod
def print_stat (f):
passed = 0
failed = 0
for lines in DiffHelpers.separate_test_cases (f):
if DiffHelpers.test_passed (lines):
passed += 1
else:
failed += 1
total = passed + failed
print "%d out of %d tests passed. %d failed (%g%%)" % (passed, total, failed, 100. * failed / total)
class DiffHelpers: class DiffHelpers:
@staticmethod @staticmethod
...@@ -175,10 +189,14 @@ class DiffHelpers: ...@@ -175,10 +189,14 @@ class DiffHelpers:
if acc and iden != l_iden: if acc and iden != l_iden:
yield acc yield acc
acc = [] acc = []
iden = l_iden iden = l_iden
acc.append (l) acc.append (l)
if acc: yield acc if acc: yield acc
@staticmethod
def test_passed (lines):
return all (l[0] == ' ' for l in lines)
class FilterHelpers: class FilterHelpers:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册