[tox] envlist = py{312,313}, lint, pycodestyle, run-entrypoint, run-module, [testenv] package = editable commands = pytest --cov=gunicorn {posargs} deps = -rrequirements_test.txt [testenv:run-entrypoint] package = wheel deps = # entry point: console script (provided by setuptools from pyproject.toml) commands = python -c 'import subprocess; cmd_out = subprocess.check_output(["gunicorn", "--version"])[:79].decode("utf-8", errors="replace"); print(cmd_out); assert cmd_out.startswith("gunicorn ")' [testenv:run-module] package = wheel deps = # runpy (provided by module.__main__) commands = python -c 'import sys,subprocess; cmd_out = subprocess.check_output([sys.executable, "-m", "gunicorn", "--version"])[:79].decode("utf-8", errors="replace"); print(cmd_out); assert cmd_out.startswith("gunicorn ")' [testenv:lint] no_package = true commands = pylint -j0 \ --max-line-length=120 \ gunicorn \ tests/test_arbiter.py \ tests/test_config.py \ tests/test_gthread.py \ tests/test_http.py \ tests/test_invalid_requests.py \ tests/test_logger.py \ tests/test_pidfile.py \ tests/test_sock.py \ tests/test_ssl.py \ tests/test_statsd.py \ tests/test_systemd.py \ tests/test_util.py \ tests/test_valid_requests.py deps = pylint==3.3.2 [testenv:pycodestyle] no_package = true commands = pycodestyle gunicorn deps = pycodestyle [pycodestyle] max-line-length = 120 ignore = E129,W503,W504,W606