# ==================================================================================
-# Copyright (c) 2020 Nordix
+# Copyright (c) 2020-2022 Nordix
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# ==================================================================================
[tox]
-envlist = docs,docs-linkcheck
-minversion = 2.0
+envlist = code,docs,docs-linkcheck
+minversion = 4.0
skipsdist = true
+; basic test and coverage jobs
+[testenv:code]
+basepython = python3
+deps=
+ pytest
+ coverage
+ pytest-cov
+ connexion==2.14.2
+ Flask==2.2.5
+
+setenv =
+ TESTS_BASE_PATH = {toxinidir}/near-rt-ric-simulator/tests
+commands =
+; Two test execution with pytest is needed as each simulator version need to be started separately. In addtion, each simulator need
+; environment setup that would cause interference if both simulator are executed in the same pytest run.
+; Each pytest run also need to point to the specific test case file for the reasons mentioned above.
+; Note that the second pytest (additional pytest added in the future) uses the 'append' flag to combine the coverage data
+; from the previous tests. The first pytest shall not have the 'append' since the it is supposed to erase previous coverage data
+; from earlier tox run.
+ pytest --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=70 \
+ {toxinidir}/near-rt-ric-simulator/tests/test_osc_2_1_0.py
+ pytest --cov-append --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html \
+ --cov-fail-under=70 {toxinidir}/near-rt-ric-simulator/tests/test_std_1_1_3.py
+ pytest --cov-append --cov {toxinidir}/near-rt-ric-simulator --cov-report xml --cov-report term-missing --cov-report html \
+ --cov-fail-under=70 {toxinidir}/near-rt-ric-simulator/tests/test_std_2_0_0.py
+ coverage xml -i
+
# doc jobs
[testenv:docs]
-whitelist_externals = echo
+allowlist_externals = echo
basepython = python3
-deps =
- sphinx
- sphinx-rtd-theme
- sphinxcontrib-httpdomain
- recommonmark
- lfdocs-conf
+deps = -r{toxinidir}/docs/requirements-docs.txt
commands =
sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
echo "Generated docs available in {toxinidir}/docs/_build/html"
[testenv:docs-linkcheck]
skipsdist = true
basepython = python3
-deps = sphinx
- sphinx-rtd-theme
- sphinxcontrib-httpdomain
- recommonmark
- lfdocs-conf
-commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
+deps = -r{toxinidir}/docs/requirements-docs.txt
+commands =
+ sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck