Update Xtesting to 0.98
[functest.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 381826f..1bebeb9 100644 (file)
--- a/tox.ini
+++ b/tox.ini
 [tox]
-envlist = docs,pep8,pylint,yamllint,py35,py27,perm,cover
+envlist = docs,pep8,pylint,yamllint,bashate,bandit,py310,cover,perm,pre-commit
 
 [testenv]
 usedevelop = True
 deps =
   -c{toxinidir}/upper-constraints.txt
-  -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike
+  -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
+install_command = pip install --use-deprecated=legacy-resolver {opts} {packages}
+commands =
+  pytest \
+    --junit-xml=junit.xml \
+    --html=report.html --self-contained-html \
+    --cov=xtesting --cov-reset --cov-report html \
+    functest/tests/unit
 
 [testenv:docs]
-basepython = python2.7
+basepython = python3.10
 commands =
-  sphinx-build -W -b html api/ api/_build
-  doc8 docs/release/release-notes --ignore-path docs/release/release-notes/build
-  sphinx-build -W -b html docs/release/release-notes docs/release/release-notes/build/html
+  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 = python2.7
+basepython = python3.10
 commands = flake8
 
 [testenv:pylint]
-basepython = python2.7
-whitelist_externals = bash
-modules =
-  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.opnfv_tests.vnf.router
-  functest.tests.unit.ci
-  functest.tests.unit.cli
-  functest.tests.unit.odl
-  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
+basepython = python3.10
 commands =
-  bash -c "\
-    pylint -f parseable --ignore-imports=y --disable=locally-disabled functest | \
-    tee pylint.out | sed -ne '/Raw metrics/,//p'"
-  pylint --reports=n --errors-only functest
-  pylint --disable=locally-disabled \
-    --disable=duplicate-code \
-    --ignore-imports=y --reports=n {[testenv:pylint]modules}
+  pylint \
+    --ignore-imports=y --min-similarity-lines=15 \
+    --generated-members=os.* \
+    --disable=locally-disabled functest
 
 [testenv:yamllint]
-basepython = python2.7
+basepython = python3.10
 files =
+  .travis.yml
   docker
-  functest/api
   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:py35]
-dirs =
-  functest/tests/unit/ci
-  functest/tests/unit/cli
-  functest/tests/unit/odl
-  functest/tests/unit/utils
-commands = nosetests {[testenv:py35]dirs}
+[testenv:bashate]
+basepython = python3.10
+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.10
+commands = bandit -r functest -x tests -n 5 -ll -s B601,B602
 
 [testenv:cover]
-basepython = python2.7
+basepython = python3.10
 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}
+  functest/tests/unit/openstack/vping
+  functest/tests/unit/openstack/cinder
+commands =
+  pytest --cov=xtesting --cov-reset --cov-report html --cov-fail-under=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/*'
+basepython = python3.10
+allowlist_externals = sh
+path=. -not -path './.tox/*' -not -path './.git/*' -not -path './docs/com/pres/reveal.js/*' -not -path './elements/functest/install.d/*'
 commands =
-  bash -c "\
+  sh -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 "\
+  sh -c "\
     find {[testenv:perm]path} -exec file \{\} + | grep CRLF && exit 1 || exit 0"
+
+[testenv:pre-commit]
+basepython = python3.10
+commands =
+    pre-commit run --all-files --show-diff-on-failure