2 envlist = docs,pep8,pylint,yamllint,bashate,py38,cover,perm
8 -c{toxinidir}/upper-constraints.txt
9 -chttps://opendev.org/openstack/requirements/raw/branch/stable/wallaby/upper-constraints.txt
10 -r{toxinidir}/requirements.txt
11 -r{toxinidir}/test-requirements.txt
12 install_command = pip install {opts} {packages}
13 commands = nosetests --with-xunit \
16 --cover-package=xtesting \
22 basepython = python3.8
24 doc8 README.rst api --ignore-path api/build
25 sphinx-build -W -b html api/ api/build
28 basepython = python3.8
32 basepython = python3.8
33 whitelist_externals = bash
35 pylint --min-similarity-lines=10 \
36 --disable=locally-disabled --ignore-imports=y --reports=n --extension-pkg-whitelist=lxml xtesting
39 basepython = python3.8
45 yamllint -s {[testenv:yamllint]files}
48 commands = nosetests xtesting/tests/unit
51 basepython = python3.8
54 commands = bashate {[testenv:bashate]files}
57 basepython = python3.8
58 commands = bandit -r xtesting -x tests -n 5 -ll -s B602
61 basepython = python3.8
63 xtesting/tests/unit/ci
64 xtesting/tests/unit/core
65 xtesting/tests/unit/utils/test_decorators.py
66 commands = nosetests --with-coverage --cover-tests \
67 --cover-package xtesting.core \
68 --cover-package xtesting.tests.unit \
69 --cover-package xtesting.utils.decorators \
70 --cover-min-percentage 100 {[testenv:cover]dirs}
73 basepython = python3.8
74 whitelist_externals = bash
75 path=. -not -path './.tox/*' -not -path './.git/*' -not -path './doc/reveal.js/*' -not -path './elements/xtesting/install.d/*'
78 find {[testenv:perm]path} \( -type f -not -perm 644 -o -type d -not -perm 755 \) \
79 -exec ls -l \{\} + | grep '.' && exit 1 || exit 0"
81 find {[testenv:perm]path} -exec file \{\} + | grep CRLF && exit 1 || exit 0"