update link to upper-constraints.txt
[optf/osdf.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 309296d..0bd2d9e 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,17 +1,47 @@
 
 [tox]
 skipsdist=True
-envlist = py3
+envlist = py3, pylint, flake8diff
 
 [testenv]
+allowlist_externals=/bin/cp, /bin/bash, /bin/rm
 distribute = False
+basepython=python3
+setenv   =
+    OSDF_CONFIG_FILE={toxinidir}/test/config/osdf_config.yaml
 commands =
-    coverage run --module pytest 
-    coverage report --omit=".tox/py3/*","test/*"
+    /bin/cp config/slicing_config.yaml test/config/
+    /bin/bash test/functest/scripts/start-simulators.sh
+    coverage run --module pytest --junitxml xunit-results.xml
+    coverage xml --omit=".tox/py3/*","test/*"
+    coverage report -m --omit=".tox/py3/*","test/*"
+    /bin/bash test/functest/scripts/stop-simulators.sh
+    /bin/rm test/config/slicing_config.yaml
     # TODO: need to update the above "omit" when we package osdf as pip-installable
-    # coverage html --omit=.tox/py3/* -d htmlcov
-deps = -r{toxinidir}/requirements.txt 
+deps = -r{toxinidir}/requirements.txt
     -r{toxinidir}/test/test-requirements.txt
+    -r{toxinidir}/requirements-osdf.txt
+    -r{toxinidir}/requirements-opteng.txt
+
+[run]
+source=./apps/,./osdf/,osdfapp.py,./runtime/,solverapp.py
+
+[testenv:pylint]
+allowlist_externals=bash
+commands = bash -c "pylint --reports=y osdf apps runtime| tee pylint.out"
 
 [testenv:py3]
-basepython=python3.6
+basepython=python3
+
+[testenv:flake8diff]
+basepython=python3
+allowlist_externals=bash
+deps = hacking>=2.0.0
+commands =
+  bash -c "files=$(git diff HEAD^ HEAD --diff-filter=d --name-only | grep -E '(^apps\/|osdf\/|runtime\/)'| grep -E '*\.py$'); if [[ -z $files ]]; then exit 0; else flake8 $files; fi"
+
+[flake8]
+select = E,H,W,F
+max-line-length = 119
+ignore = W503   #conflict with W504
+per-file-ignores= apps/pci/optimizers/__init__.py:F401