Run bandit when verifying changes
[functest.git] / tox.ini
1 [tox]
2 envlist = docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,perm,cover
3
4 [testenv]
5 usedevelop = True
6 deps =
7   -c{toxinidir}/upper-constraints.txt
8   -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
9   -r{toxinidir}/requirements.txt
10   -r{toxinidir}/test-requirements.txt
11 install_command = pip install {opts} {packages}
12 commands = nosetests --with-xunit \
13   --with-coverage \
14   --cover-tests \
15   --cover-package=functest \
16   --cover-xml \
17   --cover-html \
18   functest/tests/unit
19
20 [testenv:docs]
21 basepython = python2.7
22 commands =
23   doc8 \
24     --ignore-path api/build \
25     --ignore-path docs/build \
26     --ignore-path docs/_build \
27     api \
28     docs
29   sphinx-build -W -b html api/ api/build
30   sphinx-build -W -n -b html docs docs/build/html
31   sphinx-build -W -n -b linkcheck docs docs/_build/linkcheck
32   sphinx-build -W -n -b html -c docs/lfreleng docs docs/_build/html
33
34 [testenv:pep8]
35 basepython = python2.7
36 commands = flake8
37
38 [testenv:pylint]
39 basepython = python2.7
40 commands =
41   pylint \
42     --ignore-imports=y --min-similarity-lines=10 \
43     --disable=locally-disabled functest
44
45 [testenv:yamllint]
46 basepython = python2.7
47 files =
48   .travis.yml
49   docker
50   functest/ci
51   functest/opnfv_tests/openstack/rally/blacklist.yaml
52   functest/opnfv_tests/openstack/rally/rally_jobs.yaml
53   functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml
54   functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml
55   functest/opnfv_tests/vnf
56 commands =
57   yamllint -s {[testenv:yamllint]files}
58
59 [testenv:ansiblelint]
60 basepython = python2.7
61 commands =
62   ansible-lint ansible/site.yml
63
64 [testenv:py36]
65 commands = nosetests functest/tests/unit
66
67 [testenv:bashate]
68 basepython = python2.7
69 files =
70   functest/opnfv_tests/openstack/cinder/write_data.sh
71   functest/opnfv_tests/openstack/cinder/read_data.sh
72   functest/ci/add_proxy.sh
73   functest/ci/convert_images.sh
74   functest/ci/download_images.sh
75   build.sh
76 commands = bashate {[testenv:bashate]files}
77
78
79 [testenv:bandit]
80 basepython = python2.7
81 commands = bandit -r functest -x tests -n 5 -ll -s B601,B602
82
83 [testenv:cover]
84 basepython = python2.7
85 dirs =
86   functest/tests/unit/odl
87   functest/tests/unit/openstack/vping
88   functest/tests/unit/openstack/cinder
89 commands = nosetests --with-coverage --cover-tests \
90   --cover-package functest.opnfv_tests.sdn.odl \
91   --cover-package functest.opnfv_tests.openstack.vping.vping_ssh \
92   --cover-package functest.opnfv_tests.openstack.cinder.cinder_test \
93   --cover-package functest.tests.unit \
94   --cover-min-percentage 100 {[testenv:cover]dirs}
95
96 [testenv:perm]
97 basepython = python2.7
98 whitelist_externals = bash
99 path=. -not -path './.tox/*' -not -path './.git/*' -not -path './docs/com/pres/reveal.js/*'
100 commands =
101   bash -c "\
102     find {[testenv:perm]path} \( -type f -not -perm 644 -o -type d -not -perm 755 \) \
103     -exec ls -l \{\} + | grep '.' && exit 1 || exit 0"
104   bash -c "\
105     find {[testenv:perm]path} -exec file \{\} + | grep CRLF && exit 1 || exit 0"