11[tox]
22envlist = lint, py3, pypy3
33# This version of tox will autoprovision itself and the requirements defined in
4- # requires if they are not available on the host system.
5- minversion = 3.8.0
6- # This version of virtualenv installs a pip version of at least 19.0.1 in its
7- # venvs.
8- # Requiring minimally this version of virtualenv to be available prevents the
9- # need of having to explicitly specify a pip>=19.0 dependency in every testenv.
10- # pip>=19.0 is needed to ensure the sdist build by tox (which is build
11- # according to PEP 517 and PEP 518 by tox versions >= 3.4.0) is also installed
12- # properly (according to PEP 517 and PEP 518 by pip>=19.0) in the virtualenvs.
13- # If the dependency is not available on the host system, and the installed tox
14- # version is >= 3.3.0, tox will self bootstrap an environment with the proper
15- # versions (including the version of tox itself).
16- requires = virtualenv>=16.3.0
17- isolated_build = true
18- # Putting the dist dir in the project directory instead of in the {toxworkdir},
19- # makes the sdist more easily accesible and prevents the need of rebuilding it
20- # for the [testenv:build] target.
21- distdir = {toxinidir}/dist
4+ # requires if they are not available on the host system. This requires the
5+ # locally installed tox to have a minimum version 3.3.0. This means the names
6+ # of the configuration options are still according to the tox 3.x syntax.
7+ minversion = 4.2.4
8+ # This version of virtualenv will install setuptools version 65.5.0 and pip
9+ # 22.3. These versions fully support python projects defined only through a
10+ # pyproject.toml file (PEP-517/PEP-518/PEP-621)
11+ requires = virtualenv>=20.16.6
2212
2313[testenv]
2414extras = full
@@ -31,29 +21,34 @@ commands =
3121 coverage report
3222 coverage xml
3323
24+ [testenv:build]
25+ package = skip
26+ deps =
27+ build
28+ commands =
29+ pyproject-build
30+
31+ [testenv:fix]
32+ package = skip
33+ deps =
34+ black ==23.1.0
35+ isort ==5.11.4
36+ commands =
37+ black dissect tests
38+ isort dissect tests
39+
3440[testenv:lint]
35- # Force the Python version here, so linting will be done with the correct
36- # Python version. There should be no difference between the CPython and pypy
37- # implementations, so we pick one.
38- basepython = python3
41+ package = skip
3942deps =
4043 black ==23.1.0
4144 flake8
4245 flake8-black
4346 flake8-isort
47+ isort ==5.11.4
4448 vermin
4549commands =
46- flake8 dissect tests setup.py
47- vermin -t =3.9- --no-tips --lint dissect tests setup.py
48-
49- [testenv:build]
50- # Force the Python version here, so building will be done with the correct
51- # Python version. As the distributions are pure Python, there should be no
52- # difference between the CPython and pypy implementations, so we pick one.
53- basepython = python3
54- deps =
55- commands =
56- pip wheel --no-deps -w ./dist .
50+ flake8 dissect tests
51+ vermin -t =3.9- --no-tips --lint dissect tests
5752
5853[flake8]
5954max-line-length = 120
0 commit comments