[tox] envlist = py3 mypy fix flake8 skipsdist = true [flake8] max-line-length = 100 inline-quotes = ' ignore = E501, \ W503, exclude = .tox, \ .vagrant, \ __pycache__, \ *.pyc, \ templates, \ .eggs statistics = True [autopep8] addopts = --max-line-length {[flake8]max-line-length} \ --ignore "{[flake8]ignore}" \ --exclude "{[flake8]exclude}" \ --in-place \ --recursive \ --ignore-local-config [testenv] skip_install=true deps = pyfakefs == 4.5.6 ; python_version < "3.7" pyfakefs >= 5, < 6 ; python_version >= "3.7" mock pytest pyyaml commands=pytest {posargs} [testenv:mypy] basepython = python3 deps = mypy types-PyYAML -c{toxinidir}/../mypy-constrains.txt commands = mypy --config-file ../mypy.ini {posargs:cephadm.py} [testenv:fix] basepython = python3 deps = autopep8 commands = python --version autopep8 {[autopep8]addopts} {posargs: cephadm.py} [testenv:flake8] basepython = python3 allowlist_externals = bash deps = flake8 == 5.0.4 flake8-quotes commands = flake8 --config=tox.ini {posargs:cephadm.py} bash -c "test $(grep -c 'docker.io' cephadm.py) == 11" # Downstream distributions may choose to alter this "docker.io" number, # to make sure no new references to docker.io are creeping in unnoticed. # coverage env is intentionally left out of the envlist. It is here for developers # to run locally to generate and review test coverage of cephadm. [testenv:coverage] skip_install=true deps = {[testenv]deps} pytest-cov commands = pytest -v --cov=cephadm --cov-report=term-missing --cov-report=html {posargs}