summaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 8c04eb3b85e51848823f0f4bad3a2e7079edb3c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
[tox]
envlist = docs,pep8,pylint,yamllint,bashate,py35,py27,perm,cover

[testenv]
usedevelop = True
deps =
  -c{toxinidir}/upper-constraints.txt
  -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike
  -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

[testenv:docs]
basepython = python2.7
commands =
  doc8 \
    --ignore-path api/build \
    --ignore-path docs/release/release-notes/build \
    --ignore-path docs/testing/developer/devguide/build \
    --ignore-path docs/testing/developer/internship/security_group/build \
    --ignore-path docs/testing/developer/internship/testapi_evolution/build \
    --ignore-path docs/testing/developer/internship/unit_tests/build \
    --ignore-path docs/testing/developer/internship/vnf_catalog/build \
    --ignore-path docs/testing/user/configguide/build \
    --ignore-path docs/testing/user/userguide/build \
    api \
    docs/release/release-notes \
    docs/testing/user/configguide \
    docs/testing/user/userguide
  sphinx-build -W -b html api/ api/build
  sphinx-build -W -b html docs/release/release-notes docs/release/release-notes/build/html
  sphinx-build -W -b html docs/testing/developer/devguide docs/testing/developer/devguide/build/html
  sphinx-build -W -b html docs/testing/developer/internship/security_group docs/testing/developer/internship/security_group/build/html
  sphinx-build -W -b html docs/testing/developer/internship/testapi_evolution docs/testing/developer/internship/testapi_evolution/build/html
  sphinx-build -W -b html docs/testing/developer/internship/unit_tests docs/testing/developer/internship/unit_tests/build/html
  sphinx-build -W -b html docs/testing/developer/internship/vnf_catalog docs/testing/developer/internship/vnf_catalog/build/html
  sphinx-build -W -b html docs/testing/user/configguide docs/testing/user/configguide/build/html
  sphinx-build -W -b html docs/testing/user/userguide docs/testing/user/userguide/build/html

[testenv:pep8]
basepython = python2.7
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
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}

[testenv:yamllint]
basepython = python2.7
files =
  .travis.yml
  docker
  functest/api
  functest/ci
  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 = python2.7
files =
  functest/opnfv_tests/openstack/rally/scenario/support/instance_dd_test.sh
  functest/opnfv_tests/openstack/vping/ping.sh
  functest/ci/download_images.sh
  build.sh
commands = bashate {[testenv:bashate]files}

[testenv:cover]
basepython = python2.7
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}

[testenv:perm]
basepython = python2.7
whitelist_externals = bash
path=. -not -path './.tox/*' -not -path './.git/*' -not -path './docs/com/pres/reveal.js/*'
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"