[tox] envlist = docs,pep8,pylint,yamllint,bashate,py312,cover,perm,pre-commit skipsdist = True [testenv] usedevelop = True deps = -c{toxinidir}/upper-constraints.txt -chttps://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt install_command = pip install {opts} {packages} commands = pytest \ --junit-xml=junit.xml \ --html=report.html --self-contained-html \ --cov=xtesting --cov-reset --cov-report html \ xtesting/tests/unit [testenv:docs] basepython = python3.12 commands = doc8 README.rst api --ignore-path api/build sphinx-build -W -b html api/ api/build [testenv:pep8] basepython = python3.12 commands = flake8 [testenv:pylint] basepython = python3.12 allowlist_externals = bash commands = pylint --min-similarity-lines=10 \ --disable=locally-disabled --ignore-imports=y --reports=n --extension-pkg-whitelist=lxml xtesting [testenv:yamllint] basepython = python3.12 files = .travis.yml ansible xtesting/ci commands = yamllint -s {[testenv:yamllint]files} [testenv:bashate] basepython = python3.12 files = build.sh commands = bashate {[testenv:bashate]files} [testenv:bandit] basepython = python3.12 commands = bandit -r xtesting -x tests -n 5 -ll -s B602 [testenv:cover] basepython = python3.12 dirs = xtesting/tests/unit/ci xtesting/tests/unit/core xtesting/tests/unit/utils/test_decorators.py commands = pytest --cov=xtesting --cov-reset --cov-report html --cov-fail-under=100 \ {[testenv:cover]dirs} [testenv:perm] basepython = python3.12 allowlist_externals = bash path=. -prune -not -path './.tox' -not -path './.git' -not -path './doc/reveal.js' \ -not -path './elements/xtesting/install.d' -not -name '*.pyc' -not -name '__pycache__' \ -not -path './doc/api/build' commands = bash -c "\ find {[testenv:perm]path} \( -type f -not -perm 644 -o -type d -not -perm 755 \) \ -exec ls -l \{\} + | grep '.' && exit 1 || exit 0" bash -c "\ find {[testenv:perm]path} -exec file \{\} + | grep CRLF && exit 1 || exit 0" [testenv:pre-commit] basepython = python3.12 commands = pre-commit run --all-files --show-diff-on-failure