F release step 1 of 2
[ric-plt/a1.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 5393490..4a319cb 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
 # ==================================================================================
-#       Copyright (c) 2019 Nokia
-#       Copyright (c) 2018-2019 AT&T Intellectual Property.
+#       Copyright (c) 2019-2020 Nokia
+#       Copyright (c) 2018-2020 AT&T Intellectual Property.
 #
 #   Licensed under the Apache License, Version 2.0 (the "License");
 #   you may not use this file except in compliance with the License.
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 # ==================================================================================
+
+# Code
+
 [tox]
-envlist = py37,flake8
+envlist = code,flake8,docs,docs-linkcheck
+minversion = 2.0
+
+[pytest]
+testpaths = tests
 
-[testenv]
+[testenv:code]
+basepython = python3.8
 deps=
     pytest
     coverage
     pytest-cov
 setenv =
     LD_LIBRARY_PATH = /usr/local/lib/:/usr/local/lib64
-    RMR_RCV_RETRY_INTERVAL = 1
-    RMR_RETRY_TIMES = 2
-commands=
+    A1_RMR_RETRY_TIMES = 2
+    INSTANCE_DELETE_NO_RESP_TTL = 3
+    INSTANCE_DELETE_RESP_TTL = 3
+    prometheus_multiproc_dir = /tmp
+
 # Note, before this will work, for the first time on that machine, run ./install_deps.sh
-    pytest --verbose --cov {envsitepackagesdir}/a1  --cov-report html
+commands =
+# sometimes the -s flag is helpful; add -s after pytest; which streams the logs as they come in, rather than saving them all for the end of tests
+    pytest --cov a1 --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=70 --junitxml=/tmp/tests.xml
+    coverage xml -i
 
 [testenv:flake8]
-basepython = python3.7
+basepython = python3.8
 skip_install = true
 deps = flake8
 commands = flake8 setup.py a1 tests
 
 [flake8]
-extend-ignore = E501
+extend-ignore = E501,E741,E731
+
+[testenv:clm]
+# use pip to gather dependencies with versions for CLM analysis
+whitelist_externals = sh
+commands = sh -c 'pip freeze > requirements.txt'
+
+# Docs
+
+# verbatim as asked for by the docs instructions: https://wiki.o-ran-sc.org/display/DOC/Configure+Repo+for+Documentation
+[testenv:docs]
+basepython = python3.7
+deps =
+    sphinx
+    sphinx-rtd-theme
+    sphinxcontrib-httpdomain
+    recommonmark
+    lfdocs-conf
+
+commands =
+    sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+    echo "Generated docs available in {toxinidir}/docs/_build/html"
+whitelist_externals = echo
+
+[testenv:docs-linkcheck]
+basepython = python3.7
+deps = sphinx
+       sphinx-rtd-theme
+       sphinxcontrib-httpdomain
+       recommonmark
+       lfdocs-conf
+commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck