ffbcb1b04a7d3c076b32d1c926dfa0253d69c4e5
[sim/a1-interface.git] / tox.ini
1 # ==================================================================================
2 #       Copyright (c) 2020-2022 Nordix
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7 #
8 #          http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15 # ==================================================================================
16
17 [tox]
18 envlist = code,docs,docs-linkcheck
19 minversion = 4.0
20 skipsdist = true
21
22 ; basic test and coverage jobs
23 [testenv:code]
24 basepython = python3
25 deps=
26     pytest
27     coverage
28     pytest-cov
29     connexion
30
31 setenv =
32     TESTS_BASE_PATH = {toxinidir}/near-rt-ric-simulator/tests
33 commands =
34 ; Two test execution with pytest is needed as each simulator version need to be started separately. In addtion, each simulator need
35 ; environment setup that would cause interference if both simulator are executed in the same pytest run.
36 ; Each pytest run also need to point to the specific test case file for the reasons mentioned above.
37 ; Note that the second pytest (additional pytest added in the future) uses the 'append' flag to combine the coverage data
38 ; from the previous tests. The first pytest shall not have the 'append' since the it is supposed to erase previous coverage data
39 ; from earlier tox run.
40     pytest --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=70 \
41     {toxinidir}/near-rt-ric-simulator/tests/test_osc_2_1_0.py
42     pytest --cov-append --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html \
43     --cov-fail-under=70 {toxinidir}/near-rt-ric-simulator/tests/test_std_1_1_3.py
44     pytest --cov-append --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html \
45     --cov-fail-under=70 {toxinidir}/near-rt-ric-simulator/tests/test_std_2_0_0.py
46     coverage xml -i
47
48 # doc jobs
49 [testenv:docs]
50 allowlist_externals = echo
51 basepython = python3
52 deps = -r{toxinidir}/docs/requirements-docs.txt
53 commands =
54     sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
55     echo "Generated docs available in {toxinidir}/docs/_build/html"
56
57 [testenv:docs-linkcheck]
58 skipsdist = true
59 basepython = python3
60 deps = -r{toxinidir}/docs/requirements-docs.txt
61 commands =
62     sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck