[tox]
-envlist = docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,perm,cover
+envlist = docs,pep8,pylint,yamllint,bashate,bandit,py310,cover,perm,pre-commit
[testenv]
usedevelop = True
-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 =
doc8 \
--ignore-path api/build \
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
+ 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
+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 = python2.7
+basepython = python3.10
files =
.travis.yml
docker
commands =
yamllint -s {[testenv:yamllint]files}
-[testenv:ansiblelint]
-basepython = python2.7
-commands =
- ansible-lint ansible/site.yml
-
-[testenv:py36]
-commands = nosetests functest/tests/unit
-
[testenv:bashate]
-basepython = python2.7
+basepython = python3.10
files =
functest/opnfv_tests/openstack/cinder/write_data.sh
functest/opnfv_tests/openstack/cinder/read_data.sh
build.sh
commands = bashate -e E005,E006,E042,E043 {[testenv:bashate]files}
-
[testenv:bandit]
-basepython = python2.7
+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/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 = 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