[tox]
-envlist = pep8,pylint,py27
+envlist = docs,pep8,pylint,py35,py27,perm
[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 \
--cover-html \
functest/tests/unit
+[testenv:docs]
+basepython = python2.7
+commands = sphinx-build -W -b html api/ api/_build
+
[testenv:pep8]
basepython = python2.7
-deps =
- {[testenv]deps}
commands = flake8
[testenv:pylint]
-basepython=python2.7
-deps=
- {[testenv]deps}
+basepython = python2.7
+whitelist_externals = bash
+modules =
+ functest.api
+ functest.core
+ functest.opnfv_tests.sdn.odl
+ functest.tests.unit.core
+ functest.tests.unit.odl
+ functest.tests.unit.utils.test_decorators
+ functest.utils.decorators
+commands =
+ bash -c "\
+ pylint -f parseable --disable=locally-disabled functest | \
+ tee pylint.out | sed -ne '/Raw metrics/,//p'"
+ pylint --disable=locally-disabled --reports=n {[testenv:pylint]modules}
+
+[testenv:py35]
+dirs =
+ functest/tests/unit/core
+ functest/tests/unit/odl
+ functest/tests/unit/utils/test_decorators.py
+commands = nosetests {[testenv:py35]dirs}
+
+[testenv:perm]
+basepython = python2.7
whitelist_externals = bash
-commands=bash -c \
- "pylint --persistent=n functest | sed -ne '/Raw metrics/,//p'"
+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"