Merge "Set ext net and name server in Shaker templates"
[functest.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index bdc32ea..6ebd4df 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,13 +1,14 @@
 [tox]
-envlist = docs,pep8,pylint,py35,py27
+envlist = docs,pep8,pylint,yamllint,ansiblelint,bashate,py27,perm,cover
 
 [testenv]
 usedevelop = True
 deps =
+  -c{toxinidir}/upper-constraints.txt
+  -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=master}
   -r{toxinidir}/requirements.txt
   -r{toxinidir}/test-requirements.txt
-  git+https://gerrit.opnfv.org/gerrit/releng#egg=opnfv&subdirectory=modules
-  git+https://gerrit.opnfv.org/gerrit/snaps#egg=snaps
+install_command = pip install {opts} {packages}
 commands = nosetests --with-xunit \
   --with-coverage \
   --cover-tests \
@@ -18,7 +19,17 @@ commands = nosetests --with-xunit \
 
 [testenv:docs]
 basepython = python2.7
-commands = sphinx-build -W -b html api/ api/_build
+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 -n -b html -c docs/lfreleng docs docs/_build/html
 
 [testenv:pep8]
 basepython = python2.7
@@ -28,21 +39,94 @@ commands = flake8
 basepython = python2.7
 whitelist_externals = bash
 modules =
-  functest.core
+  functest.opnfv_tests.openstack.cinder
+  functest.opnfv_tests.openstack.rally
+  functest.opnfv_tests.openstack.refstack
+  functest.opnfv_tests.openstack.tempest
+  functest.opnfv_tests.openstack.vmtp
+  functest.opnfv_tests.openstack.vping
   functest.opnfv_tests.sdn.odl
-  functest.tests.unit.core
+  functest.opnfv_tests.vnf.router
   functest.tests.unit.odl
-  functest.tests.unit.utils.test_decorators
-  functest.utils.decorators
+  functest.tests.unit.openstack.rally
+  functest.tests.unit.openstack.tempest
+  functest.tests.unit.openstack.vmtp
+  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 | \
-    tee pylint.out | sed -ne '/Raw metrics/,//p'"
-  pylint --disable=locally-disabled --reports=n {[testenv:pylint]modules}
+    pylint -f parseable \
+        --ignore-imports=y \
+        --disable=locally-disabled functest | tee pylint.out"
+  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/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 = python2.7
+commands =
+  ansible-lint ansible/site.yml
 
-[testenv:py35]
+[testenv:py36]
 dirs =
-  functest/tests/unit/core
+  functest/tests/unit/ci
   functest/tests/unit/odl
-  functest/tests/unit/utils/test_decorators.py
-commands = nosetests {[testenv:py35]dirs}
+  functest/tests/unit/openstack
+  functest/tests/unit/vnf/epc
+  functest/tests/unit/utils
+commands = nosetests {[testenv:py36]dirs}
+
+[testenv:bashate]
+basepython = python2.7
+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 {[testenv:bashate]files}
+
+[testenv:cover]
+basepython = python2.7
+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 = 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"