digaws/noxfile.py

35 lines
993 B
Python

import nox
nox.options.sessions = ['lint', 'typing', 'tests']
locations = ['noxfile.py', 'setup.py', 'digaws/', 'tests/']
lint_common_args = ['--max-line-length', '120']
mypy_args = ['--ignore-missing-imports', '--install-types', '--non-interactive']
pytest_args = ['--cov=digaws', '--cov-report=', 'tests/']
coverage_args = ['report', '--show-missing', '--fail-under=80']
@nox.session()
def lint(session):
args = session.posargs or locations
session.install('pycodestyle', 'flake8', 'flake8-import-order')
session.run('pycodestyle', *(lint_common_args + args))
session.run('flake8', *(lint_common_args + args))
@nox.session()
def typing(session):
args = session.posargs or locations
session.install('mypy')
session.run('mypy', *(mypy_args + args))
@nox.session()
def tests(session):
args = session.posargs
session.install('-r', 'requirements_test.txt')
session.run('pytest', *(pytest_args + args))
session.run('coverage', *coverage_args)