-
Notifications
You must be signed in to change notification settings - Fork 17
/
noxfile.py
37 lines (26 loc) · 911 Bytes
/
noxfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# SPDX-License-Identifier: MIT
import os
import os.path
import nox
nox.options.sessions = ['mypy', 'test']
nox.options.reuse_existing_virtualenvs = True
@nox.session(python='3.7')
def mypy(session: nox.Session) -> None:
session.install('.', 'mypy', 'nox', 'pytest')
session.run('mypy', 'pyproject_metadata', 'tests', 'noxfile.py')
@nox.session(python=['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'])
def test(session: nox.Session) -> None:
htmlcov_output = os.path.join(session.virtualenv.location, 'htmlcov')
xmlcov_output = os.path.join(
session.virtualenv.location, f'coverage-{session.python}.xml'
)
session.install('.[test]')
session.run(
'pytest',
'--cov',
f'--cov-report=html:{htmlcov_output}',
f'--cov-report=xml:{xmlcov_output}',
'--cov-report=term-missing',
'tests/',
*session.posargs,
)