[tox]
-envlist = pep8,pylint,yamllint,bashate,py27,py35
+envlist = pep8,pylint,yamllint,bashate,py310,bandit,perm
[testenv]
+pip_version = pip==20.2.4
usedevelop = True
deps =
-chttps://git.opnfv.org/functest/plain/upper-constraints.txt
+ -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_kubernetes \
- --cover-xml \
- --cover-html \
- functest_kubernetes
+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_kubernetes
[testenv:pep8]
-basepython = python2.7
+basepython = python3.10
commands = flake8
[testenv:pylint]
-basepython = python2.7
-whitelist_externals = bash
-modules =
- functest_kubernetes
-commands =
- pylint --disable=locally-disabled --reports=n {[testenv:pylint]modules}
+basepython = python3.10
+commands = pylint \
+ --ignore-imports=y --min-similarity-lines=10 \
+ --disable=locally-disabled,wrong-import-order --reports=n functest_kubernetes
[testenv:yamllint]
-basepython = python2.7
-files =
- .travis.yml
- docker
+basepython = python3.10
+files =.travis.yml docker
commands =
yamllint {[testenv:yamllint]files}
+[testenv:bandit]
+basepython = python3.10
+commands = bandit -r functest_kubernetes -x tests -n 5 -ll
+
[testenv:bashate]
-basepython = python2.7
-files =
- build.sh
-commands = bashate {[testenv:bashate]files}
+basepython = python3.10
+files =build.sh functest_kubernetes/ci/download_images.sh
+commands = bashate -e E005,E006,E042,E043 {[testenv:bashate]files}
+
+[testenv:perm]
+basepython = python3.10
+allowlist_externals = bash
+path=. -not -path './.tox/*' -not -path './.git/*' -not -path './doc/pres/reveal.js/*' -not -path './elements/functest-kubernetes/install.d/*'
+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"
+
+[testenv:pre-commit]
+basepython = python3.10
+commands =
+ pre-commit run --all-files --show-diff-on-failure