mirror of
https://github.com/craigerl/aprsd.git
synced 2024-10-31 15:07:13 -04:00
Hemna
53b8f21535
This patch includes lots of changes to tox environment for automatically detecting pep8 failures, which can cause python2 vs python3 failures after install. The following tox commands have been added tox -efmt-check - This checks the python syntax and formatting tox -efmt - Automatically fixes python syntax formatting that fmt-check complains about. tox -etype-check - check on types tox -elint - flake8 run This patch also changes where the default config file is located. The new location is ~/.config/aprsd/aprsd.yml You can now also specify a custom config file on the command line with the -c or --config option as well.
115 lines
3.1 KiB
INI
115 lines
3.1 KiB
INI
[tox]
|
|
minversion = 2.9.0
|
|
skipdist = True
|
|
skip_missing_interpreters = true
|
|
envlist = py{27,36,37,38},pep8,fmt-check
|
|
|
|
# Activate isolated build environment. tox will use a virtual environment
|
|
# to build a source distribution from the source tree. For build tools and
|
|
# arguments use the pyproject.toml file as specified in PEP-517 and PEP-518.
|
|
isolated_build = true
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/dev-requirements.txt
|
|
commands =
|
|
# Use -bb to enable BytesWarnings as error to catch str/bytes misuse.
|
|
# Use -Werror to treat warnings as errors.
|
|
# {envpython} -bb -Werror -m pytest \
|
|
# --cov="{envsitepackagesdir}/aprsd" --cov-report=html --cov-report=term {posargs}
|
|
{envpython} -bb -Werror -m pytest {posargs}
|
|
|
|
[testenv:py27]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements-py2.txt
|
|
commands =
|
|
# Use -bb to enable BytesWarnings as error to catch str/bytes misuse.
|
|
# Use -Werror to treat warnings as errors.
|
|
# {envpython} -bb -Werror -m pytest \
|
|
# --cov="{envsitepackagesdir}/aprsd" --cov-report=html --cov-report=term {posargs}
|
|
{envpython} -bb -Werror -m pytest
|
|
|
|
[testenv:docs]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = sphinx-build -b html docs/source docs/html
|
|
|
|
[testenv:pep8-27]
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements-py2.txt
|
|
commands =
|
|
flake8 {posargs} aprsd
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs} aprsd
|
|
|
|
[testenv:fast8]
|
|
basepython = python3
|
|
# Use same environment directory as pep8 env to save space and install time
|
|
envdir = {toxworkdir}/pep8
|
|
commands =
|
|
{toxinidir}/tools/fast8.sh
|
|
passenv = FAST8_NUM_COMMITS
|
|
|
|
[testenv:lint]
|
|
skip_install = true
|
|
deps =
|
|
-r{toxinidir}/dev-requirements.txt
|
|
commands =
|
|
flake8 aprsd
|
|
|
|
[flake8]
|
|
max-line-length = 99
|
|
show-source = True
|
|
ignore = E713,E501,W503
|
|
extend-ignore = E203,W503
|
|
extend-exclude = venv
|
|
exclude = .venv,.git,.tox,dist,doc,.ropeproject
|
|
|
|
# This is the configuration for the tox-gh-actions plugin for GitHub Actions
|
|
# https://github.com/ymyzk/tox-gh-actions
|
|
# This section is not needed if not using GitHub Actions for CI.
|
|
[gh-actions]
|
|
python =
|
|
2.7: py27, pep8-27
|
|
3.6: py36, pep8, fmt-check
|
|
3.7: py38, pep8, fmt-check
|
|
3.8: py38, pep8, fmt-check, type-check, docs
|
|
3.9: py39
|
|
|
|
[testenv:fmt]
|
|
# This will reformat your code to comply with pep8
|
|
# and standard formatting
|
|
skip_install = true
|
|
deps =
|
|
-r{toxinidir}/dev-requirements.txt
|
|
commands =
|
|
isort .
|
|
black .
|
|
|
|
[testenv:fmt-check]
|
|
# Runs a check only on code formatting.
|
|
# you can fix imports by running isort standalone
|
|
# you can fix code formatting by running black standalone
|
|
skip_install = true
|
|
deps =
|
|
-r{toxinidir}/dev-requirements.txt
|
|
commands =
|
|
isort --check-only .
|
|
black --check .
|
|
|
|
[testenv:type-check]
|
|
skip_install = true
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/dev-requirements.txt
|
|
commands =
|
|
mypy aprsd
|