Add coverage.py support to run_checks.py
This commit is contained in:
parent
ebae77e8c5
commit
4fa5872733
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,3 +14,5 @@ __pycache__
|
|||||||
/README.html
|
/README.html
|
||||||
/qutebrowser/html/doc/
|
/qutebrowser/html/doc/
|
||||||
/.venv
|
/.venv
|
||||||
|
/.coverage
|
||||||
|
/covhtml
|
||||||
|
@ -79,7 +79,7 @@ def get_dev_packages(short=False):
|
|||||||
short: Remove the version specification.
|
short: Remove the version specification.
|
||||||
"""
|
"""
|
||||||
packages = ['colorlog', 'flake8', 'astroid', 'pylint', 'pep257',
|
packages = ['colorlog', 'flake8', 'astroid', 'pylint', 'pep257',
|
||||||
'colorama', 'beautifulsoup4']
|
'colorama', 'beautifulsoup4', 'coverage']
|
||||||
if short:
|
if short:
|
||||||
packages = [re.split(r'[<>=]', p)[0] for p in packages]
|
packages = [re.split(r'[<>=]', p)[0] for p in packages]
|
||||||
return packages
|
return packages
|
||||||
|
@ -44,7 +44,7 @@ import contextlib
|
|||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
import pep257
|
import pep257
|
||||||
|
import coverage
|
||||||
|
|
||||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir))
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir))
|
||||||
|
|
||||||
@ -151,10 +151,21 @@ def check_init(target):
|
|||||||
return ok
|
return ok
|
||||||
|
|
||||||
|
|
||||||
def check_unittest():
|
def check_unittest(run_coverage):
|
||||||
"""Run the unittest checker."""
|
"""Run the unittest checker.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
run_coverage: Whether to also run coverage.py.
|
||||||
|
"""
|
||||||
|
if run_coverage:
|
||||||
|
cov = coverage.coverage(branch=True, source=['qutebrowser'])
|
||||||
|
cov.erase()
|
||||||
|
cov.start()
|
||||||
suite = unittest.TestLoader().discover('.')
|
suite = unittest.TestLoader().discover('.')
|
||||||
result = unittest.TextTestRunner().run(suite)
|
result = unittest.TextTestRunner().run(suite)
|
||||||
|
if run_coverage:
|
||||||
|
cov.stop()
|
||||||
|
cov.html_report()
|
||||||
print()
|
print()
|
||||||
return result.wasSuccessful()
|
return result.wasSuccessful()
|
||||||
|
|
||||||
@ -268,7 +279,7 @@ def _get_checkers(args):
|
|||||||
# "Static" checkers
|
# "Static" checkers
|
||||||
checkers = collections.OrderedDict([
|
checkers = collections.OrderedDict([
|
||||||
('global', collections.OrderedDict([
|
('global', collections.OrderedDict([
|
||||||
('unittest', check_unittest),
|
('unittest', functools.partial(check_unittest, args.coverage)),
|
||||||
('git', check_git),
|
('git', check_git),
|
||||||
])),
|
])),
|
||||||
('setup', collections.OrderedDict([
|
('setup', collections.OrderedDict([
|
||||||
@ -303,6 +314,8 @@ def _checker_enabled(args, group, name):
|
|||||||
def _parse_args():
|
def _parse_args():
|
||||||
"""Parse commandline args via argparse."""
|
"""Parse commandline args via argparse."""
|
||||||
parser = argparse.ArgumentParser(description='Run various checkers.')
|
parser = argparse.ArgumentParser(description='Run various checkers.')
|
||||||
|
parser.add_argument('-c', '--coverage', help="Also run coverage.py and "
|
||||||
|
"generate a HTML report.", action='store_true')
|
||||||
parser.add_argument('-s', '--setup', help="Run additional setup checks",
|
parser.add_argument('-s', '--setup', help="Run additional setup checks",
|
||||||
action='store_true')
|
action='store_true')
|
||||||
parser.add_argument('-q', '--quiet',
|
parser.add_argument('-q', '--quiet',
|
||||||
|
Loading…
Reference in New Issue
Block a user