[tox] envlist = docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py38,cover,perm [testenv] usedevelop = True deps = -c{toxinidir}/upper-constraints.txt -c{env:UPPER_CONSTRAINTS_FILE:https://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 = nosetests --with-xunit \ --with-coverage \ --cover-tests \ --cover-package=functest \ --cover-xml \ --cover-html \ functest/tests/unit [testenv:docs] basepython = python3.8 commands = doc8 \ --ignore-path api/build \ --ignore-path docs/build \ --ignore-path docs/_build \ api \ docs sphinx-build -W -b html api/ api/build sphinx-build -W -n -b html docs docs/build/html sphinx-build -W -n -b linkcheck docs docs/build/linkcheck sphinx-build -W -b spelling -Dextensions=sphinxcontrib.spelling docs docs/build/spellcheck [testenv:pep8] basepython = python3.8 commands = flake8 [testenv:pylint] basepython = python3.8 commands = pylint \ --ignore-imports=y --min-similarity-lines=10 \ --disable=locally-disabled functest [testenv:yamllint] basepython = python3.8 files = .travis.yml docker functest/ci functest/opnfv_tests/openstack/rally/blacklist.yaml functest/opnfv_tests/openstack/rally/rally_jobs.yaml functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml functest/opnfv_tests/vnf commands = yamllint -s {[testenv:yamllint]files} [testenv:ansiblelint] basepython = python3.8 commands = ansible-lint -x303 ansible/site.yml [testenv:py37] commands = nosetests functest/tests/unit [testenv:bashate] basepython = python3.8 files = functest/opnfv_tests/openstack/cinder/write_data.sh functest/opnfv_tests/openstack/cinder/read_data.sh functest/ci/add_proxy.sh functest/ci/convert_images.sh functest/ci/download_images.sh build.sh commands = bashate -e E005,E006,E042,E043 {[testenv:bashate]files} [testenv:bandit] basepython = python3.8 commands = bandit -r functest -x tests -n 5 -ll -s B601,B602 [testenv:cover] basepython = python3.8 dirs = functest/tests/unit/odl functest/tests/unit/openstack/vping functest/tests/unit/openstack/cinder commands = nosetests --with-coverage --cover-tests \ --cover-package functest.opnfv_tests.sdn.odl \ --cover-package functest.opnfv_tests.openstack.vping.vping_ssh \ --cover-package functest.opnfv_tests.openstack.cinder.cinder_test \ --cover-package functest.tests.unit \ --cover-min-percentage 100 {[testenv:cover]dirs} [testenv:perm] basepython = python3.8 whitelist_externals = bash path=. -not -path './.tox/*' -not -path './.git/*' -not -path './docs/com/pres/reveal.js/*' 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"