Update Xtesting to 0.98
[functest.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index f02ff3a..1bebeb9 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,py38,cover,perm
+envlist = docs,pep8,pylint,yamllint,bashate,bandit,py310,cover,perm,pre-commit
 
 [testenv]
 usedevelop = True
@@ -8,17 +8,16 @@ deps =
   -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 = python3.8
+basepython = python3.10
 commands =
   doc8 \
     --ignore-path api/build \
@@ -32,18 +31,19 @@ commands =
   sphinx-build -W -b spelling -Dextensions=sphinxcontrib.spelling docs docs/build/spellcheck
 
 [testenv:pep8]
-basepython = python3.8
+basepython = python3.10
 commands = flake8
 
 [testenv:pylint]
-basepython = python3.8
+basepython = python3.10
 commands =
   pylint \
-    --ignore-imports=y --min-similarity-lines=10 \
+    --ignore-imports=y --min-similarity-lines=15 \
+    --generated-members=os.* \
     --disable=locally-disabled functest
 
 [testenv:yamllint]
-basepython = python3.8
+basepython = python3.10
 files =
   .travis.yml
   docker
@@ -56,16 +56,8 @@ files =
 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
+basepython = python3.10
 files =
   functest/opnfv_tests/openstack/cinder/write_data.sh
   functest/opnfv_tests/openstack/cinder/read_data.sh
@@ -75,31 +67,32 @@ files =
   build.sh
 commands = bashate -e E005,E006,E042,E043 {[testenv:bashate]files}
 
-
 [testenv:bandit]
-basepython = python3.8
+basepython = python3.10
 commands = bandit -r functest -x tests -n 5 -ll -s B601,B602
 
 [testenv:cover]
-basepython = python3.8
+basepython = python3.10
 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}
+commands =
+  pytest --cov=xtesting --cov-reset --cov-report html --cov-fail-under=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/*'
+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