Add missing label in the Release Note file
[optf/has.git] / conductor / tox.ini
index 25ede20..6556f0c 100644 (file)
@@ -2,17 +2,18 @@
 minversion = 1.6
 skipsdist = True
 #envlist = py35,py27,functional,pep8
-envlist = py27,pep8
+envlist = py3,pep8,pep8diff
 [testenv]
+basepython=python3
 deps = -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
-install_command = pip install -U {opts} {packages}
+install_command = pip install --no-cache-dir -U {opts} {packages}
 usedevelop = True
 setenv = VIRTUAL_ENV={envdir}
          OS_TEST_PATH=conductor/tests/unit
 passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE
 commands =
-  {toxinidir}/tools/pretty_tox.sh "{posargs}"
+  coverage run --module pytest --junitxml xunit-results.xml
   oslo-config-generator --config-file=etc/conductor/conductor-config-generator.conf
 whitelist_externals = bash
                       find
@@ -33,16 +34,20 @@ commands =
    coverage erase
    find . -type f -name "*.pyc" -delete
    find . -type f -name ".coverage.*" -delete
-   {toxinidir}/tools/pretty_tox.sh "{posargs}"
-   coverage combine
+   coverage run --module pytest --junitxml xunit-results.xml
    coverage html -d cover
    coverage xml -o cover/coverage.xml
-   coverage report --omit=".tox/py27/*","conductor/tests/*"
+   coverage report --omit=".tox/*","conductor/tests/*"
 
 [testenv:pep8]
-deps = hacking<0.12,>=0.11.0
+deps = hacking>=2.0.0
 commands =
-  flake8
+  flake8 --exit-zero
+
+[testenv:pep8diff]
+deps = hacking>=2.0.0
+commands =
+  bash -c "files=$(git diff HEAD^ HEAD --relative --diff-filter=d --name-only | grep -E '(^conductor\/)'| grep -E '*\.py$'); if [[ -z $files ]]; then exit 0; else flake8 $files; fi"
 
 [testenv:genconfig]
 commands = oslo-config-generator --config-file=etc/conductor/conductor-config-generator.conf
@@ -55,9 +60,12 @@ setenv = PYTHONHASHSEED=0
 commands = bash -x oslo_debug_helper {posargs}
 
 [flake8]
-ignore = H301,E401,E226,E302,E41,E303,E501,E265,E125,E101,E131,E127,E306,
-exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,install-guide
+select = E,H,W,F
+max-line-length = 119
+exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,install-guide,*/tests/*,__init__.py,conductor/data/service.py
 show-source = True
+ignore = W503 H904  #conflict with W504
+per-file-ignores = conductor/data/plugins/inventory_provider/aai.py:F821, conductor/common/sms.py:F401
 
 [hacking]
 import_exceptions = conductor.common.i18n