[tox]
-envlist = docs,pep8,pylint,py35,py27
+envlist = docs,pep8,pylint,yamllint,py35,py27,perm,cover
[testenv]
usedevelop = True
deps =
+ -c{toxinidir}/upper-constraints.txt
+ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
+install_command = pip install {opts} {packages}
commands = nosetests --with-xunit \
--with-coverage \
--cover-tests \
[testenv:docs]
basepython = python2.7
-commands = sphinx-build -W -b html api/ api/_build
+commands =
+ doc8 \
+ --ignore-path api/build \
+ --ignore-path docs/release/release-notes/build \
+ --ignore-path docs/testing/developer/devguide/build \
+ --ignore-path docs/testing/developer/internship/security_group/build \
+ --ignore-path docs/testing/developer/internship/testapi_evolution/build \
+ --ignore-path docs/testing/developer/internship/unit_tests/build \
+ --ignore-path docs/testing/developer/internship/vnf_catalog/build \
+ --ignore-path docs/testing/user/configguide/build \
+ --ignore-path docs/testing/user/userguide/build \
+ api \
+ docs/release/release-notes \
+ docs/testing/user/configguide \
+ docs/testing/user/userguide
+ sphinx-build -W -b html api/ api/build
+ sphinx-build -W -b html docs/release/release-notes docs/release/release-notes/build/html
+ sphinx-build -W -b html docs/testing/developer/devguide docs/testing/developer/devguide/build/html
+ sphinx-build -W -b html docs/testing/developer/internship/security_group docs/testing/developer/internship/security_group/build/html
+ sphinx-build -W -b html docs/testing/developer/internship/testapi_evolution docs/testing/developer/internship/testapi_evolution/build/html
+ sphinx-build -W -b html docs/testing/developer/internship/unit_tests docs/testing/developer/internship/unit_tests/build/html
+ sphinx-build -W -b html docs/testing/developer/internship/vnf_catalog docs/testing/developer/internship/vnf_catalog/build/html
+ sphinx-build -W -b html docs/testing/user/configguide docs/testing/user/configguide/build/html
+ sphinx-build -W -b html docs/testing/user/userguide docs/testing/user/userguide/build/html
[testenv:pep8]
basepython = python2.7
-deps =
- {[testenv]deps}
commands = flake8
[testenv:pylint]
basepython = python2.7
-deps =
- {[testenv]deps}
whitelist_externals = bash
modules =
- functest.core.feature
- functest.core.testcase
- functest.core.unit
+ functest.api
+ functest.ci
+ functest.cli
+ functest.opnfv_tests.openstack.rally
+ functest.opnfv_tests.openstack.refstack
+ functest.opnfv_tests.openstack.snaps
+ functest.opnfv_tests.openstack.tempest
+ functest.opnfv_tests.openstack.vping
functest.opnfv_tests.sdn.odl
- functest.tests.unit.core.test_feature
- functest.tests.unit.core.test_testcase
- functest.tests.unit.core.test_unit
+ functest.opnfv_tests.vnf.router
+ functest.tests.unit.ci
+ functest.tests.unit.cli
functest.tests.unit.odl
- functest.tests.unit.utils.test_decorators
- functest.utils.decorators
+ functest.tests.unit.openstack.rally
+ functest.tests.unit.openstack.snaps
+ functest.tests.unit.openstack.tempest
+ functest.tests.unit.openstack.vping
+ functest.tests.unit.vnf.router
+ functest.tests.unit.utils
+ functest.utils.config
+ functest.utils.constants
+ functest.utils.env
+ functest.utils.functest_utils
commands =
bash -c "\
- pylint -f parseable --disable=locally-disabled functest | \
+ pylint -f parseable --ignore-imports=y --disable=locally-disabled functest | \
tee pylint.out | sed -ne '/Raw metrics/,//p'"
- pylint --disable=locally-disabled --reports=n {[testenv:pylint]modules}
+ pylint --reports=n --errors-only functest
+ pylint --disable=locally-disabled \
+ --disable=duplicate-code \
+ --ignore-imports=y --reports=n {[testenv:pylint]modules}
+
+[testenv:yamllint]
+basepython = python2.7
+files =
+ .travis.yml
+ docker
+ functest/api
+ functest/ci
+ functest/opnfv_tests/vnf
+commands =
+ yamllint -s {[testenv:yamllint]files}
[testenv:py35]
dirs =
- functest/tests/unit/core
+ functest/tests/unit/ci
+ functest/tests/unit/cli
functest/tests/unit/odl
- functest/tests/unit/utils/test_decorators.py
-deps =
- -r{toxinidir}/requirements.py3.txt
- -r{toxinidir}/test-requirements.txt
+ functest/tests/unit/utils
commands = nosetests {[testenv:py35]dirs}
+
+[testenv:cover]
+basepython = python2.7
+dirs =
+ functest/tests/unit/ci
+ functest/tests/unit/odl
+commands = nosetests --with-coverage --cover-tests \
+ --cover-package functest.ci.check_deployment \
+ --cover-package functest.opnfv_tests.sdn.odl \
+ --cover-package functest.tests.unit \
+ --cover-min-percentage 100 {[testenv:cover]dirs}
+
+[testenv:perm]
+basepython = python2.7
+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"