[tox] envlist = py27, py3, flake8, xenial, pylint recreate = True [testenv] commands = python -m nose {posargs:tests/unittests} setenv = LC_ALL = en_US.utf-8 [testenv:flake8] basepython = python3 deps = pycodestyle==2.3.1 pyflakes==1.5.0 flake8==3.3.0 hacking==0.13.0 commands = {envpython} -m flake8 {posargs:cloudinit/ tests/ tools/} # https://github.com/gabrielfalcao/HTTPretty/issues/223 setenv = LC_ALL = en_US.utf-8 [testenv:pylint] deps = # requirements pylint==1.7.1 # test-requirements because unit tests are now present in cloudinit tree -r{toxinidir}/test-requirements.txt commands = {envpython} -m pylint {posargs:cloudinit} [testenv:py3] basepython = python3 deps = -r{toxinidir}/test-requirements.txt commands = {envpython} -m nose {posargs:--with-coverage \ --cover-erase --cover-branches --cover-inclusive \ --cover-package=cloudinit tests/unittests cloudinit} [testenv:py27] basepython = python2.7 deps = -r{toxinidir}/test-requirements.txt [testenv:py26] deps = -r{toxinidir}/test-requirements.txt commands = nosetests {posargs:tests/unittests} setenv = LC_ALL = C [flake8] #H102 Apache 2.0 license header not found ignore=H404,H405,H105,H301,H104,H403,H101,H102,H106,H304 exclude = .venv,.tox,dist,doc,*egg,.git,build,tools [testenv:doc] basepython = python3 deps = sphinx commands = {envpython} -m sphinx {posargs:doc/rtd doc/rtd_html} [testenv:xenial] basepython = python3 deps = # requirements jinja2==2.8 pyyaml==3.11 PrettyTable==0.7.2 oauthlib==1.0.3 pyserial==3.0.1 configobj==5.0.6 requests==2.9.1 # jsonpatch ubuntu is 1.10, not 1.19 (#839779) jsonpatch==1.10 six==1.10.0 # test-requirements httpretty==0.8.6 mock==1.3.0 nose==1.3.7 unittest2==1.1.0 contextlib2==0.5.1 [testenv:centos6] basepython = python2.6 commands = nosetests {posargs:tests/unittests} deps = # requirements argparse==1.2.1 jinja2==2.2.1 pyyaml==3.10 PrettyTable==0.7.2 oauthlib==0.6.0 configobj==4.6.0 requests==2.6.0 jsonpatch==1.2 six==1.9.0 -r{toxinidir}/test-requirements.txt [testenv:opensusel42] basepython = python2.7 commands = nosetests {posargs:tests/unittests} deps = # requirements argparse==1.3.0 jinja2==2.8 PyYAML==3.11 PrettyTable==0.7.2 oauthlib==0.7.2 configobj==5.0.6 requests==2.11.1 jsonpatch==1.11 six==1.9.0 -r{toxinidir}/test-requirements.txt [testenv:tip-pycodestyle] commands = {envpython} -m pycodestyle {posargs:cloudinit/ tests/ tools/} deps = pycodestyle [testenv:tip-pyflakes] commands = {envpython} -m pyflakes {posargs:cloudinit/ tests/ tools/} deps = pyflakes [testenv:tip-pylint] commands = {envpython} -m pylint {posargs:cloudinit} deps = # requirements pylint # test-requirements -r{toxinidir}/test-requirements.txt [testenv:citest] basepython = python3 commands = {envpython} -m tests.cloud_tests {posargs} passenv = HOME deps = pylxd==2.2.4