| [tox] | |
| envlist = py26,py27,py33,py34,py35,pypy,gae,cover | |
| [testenv] | |
| basedeps = mock>=1.3.0 | |
| pycrypto>=2.6 | |
| cryptography>=1.0 | |
| pyopenssl>=0.14 | |
| webtest | |
| nose | |
| flask | |
| unittest2 | |
| sqlalchemy | |
| fasteners | |
| deps = {[testenv]basedeps} | |
| django | |
| keyring | |
| setenv = | |
| pypy: with_gmp=no | |
| DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings | |
| commands = nosetests --ignore-files=test_appengine\.py --ignore-files=test__appengine_ndb\.py {posargs} | |
| [coverbase] | |
| basepython = python2.7 | |
| commands = | |
| nosetests \ | |
| --with-coverage \ | |
| --cover-package=oauth2client \ | |
| --cover-package=tests \ | |
| --cover-erase \ | |
| --cover-tests \ | |
| --cover-branches \ | |
| --ignore-files=test_appengine\.py \ | |
| --ignore-files=test__appengine_ndb\.py | |
| nosetests \ | |
| --with-coverage \ | |
| --cover-package=oauth2client.contrib.appengine \ | |
| --cover-package=oauth2client.contrib._appengine_ndb \ | |
| --cover-package=tests.contrib.test_appengine \ | |
| --cover-package=tests.contrib.test__appengine_ndb \ | |
| --with-gae \ | |
| --cover-tests \ | |
| --cover-branches \ | |
| --gae-application=tests/data \ | |
| --gae-lib-root={env:GAE_PYTHONPATH:google_appengine} \ | |
| --logging-level=INFO \ | |
| tests/contrib/test_appengine.py \ | |
| tests/contrib/test__appengine_ndb.py | |
| deps = {[testenv]deps} | |
| coverage | |
| nosegae | |
| [testenv:py26] | |
| basepython = | |
| python2.6 | |
| commands = | |
| nosetests \ | |
| --ignore-files=test_appengine\.py \ | |
| --ignore-files=test__appengine_ndb\.py \ | |
| --ignore-files=test_keyring_storage\.py \ | |
| --exclude-dir=oauth2client/contrib/django_util \ | |
| --exclude-dir=tests/contrib/django_util \ | |
| {posargs} | |
| deps = {[testenv]basedeps} | |
| nose-exclude | |
| [testenv:py33] | |
| basepython = | |
| python3.3 | |
| commands = | |
| nosetests \ | |
| --ignore-files=test_appengine\.py \ | |
| --ignore-files=test__appengine_ndb\.py \ | |
| --ignore-files=test_django_orm\.py \ | |
| --ignore-files=test_django_settings\.py \ | |
| --ignore-files=test_django_util\.py \ | |
| --exclude-dir=oauth2client/contrib/django_util \ | |
| --exclude-dir=tests/contrib/django_util \ | |
| {posargs} | |
| deps = {[testenv]basedeps} | |
| keyring | |
| nose-exclude | |
| [testenv:cover] | |
| basepython = {[coverbase]basepython} | |
| commands = | |
| {[coverbase]commands} | |
| coverage report --show-missing --cover-min-percentage=100 | |
| deps = | |
| {[coverbase]deps} | |
| [testenv:coveralls] | |
| basepython = {[coverbase]basepython} | |
| commands = | |
| {[coverbase]commands} | |
| coverage report --show-missing | |
| coveralls | |
| deps = | |
| {[coverbase]deps} | |
| coveralls | |
| passenv = {[testenv:system-tests]passenv} | |
| [testenv:docs] | |
| basepython = python2.7 | |
| deps = | |
| {[testenv:cover]deps} | |
| python-gflags | |
| pyyaml | |
| sphinx>=1.3b2 | |
| sphinx-rtd-theme | |
| webapp2 | |
| commands = {toxinidir}/scripts/build_docs.sh | |
| [testenv:gae] | |
| basepython = python2.7 | |
| deps = {[testenv]basedeps} | |
| nosegae | |
| commands = | |
| nosetests \ | |
| --with-gae \ | |
| --gae-lib-root={env:GAE_PYTHONPATH:google_appengine} \ | |
| --gae-application=tests/data \ | |
| --logging-level=INFO \ | |
| tests/contrib/test_appengine.py \ | |
| tests/contrib/test__appengine_ndb.py | |
| [testenv:system-tests] | |
| basepython = | |
| python2.7 | |
| commands = | |
| {toxinidir}/scripts/run_system_tests.sh | |
| deps = | |
| pycrypto>=2.6 | |
| cryptography>=1.0 | |
| pyopenssl>=0.14 | |
| passenv = GOOGLE_* OAUTH2CLIENT_* TRAVIS* | |
| [testenv:system-tests3] | |
| basepython = | |
| python3.4 | |
| commands = | |
| {toxinidir}/scripts/run_system_tests.sh | |
| deps = | |
| pycrypto>=2.6 | |
| cryptography>=1.0 | |
| pyopenssl>=0.14 | |
| passenv = {[testenv:system-tests]passenv} | |
| [testenv:gce-system-tests] | |
| basepython = | |
| python2.7 | |
| commands = | |
| python {toxinidir}/scripts/run_gce_system_tests.py | |
| deps = | |
| pycrypto>=2.6 | |
| unittest2 | |
| passenv = {[testenv:system-tests]passenv} | |
| [testenv:flake8] | |
| commands = flake8 --import-order-style google {posargs} | |
| deps = | |
| flake8-putty | |
| flake8-import-order | |
| [flake8] | |
| exclude = .tox,.git,./*.egg,build, | |
| application-import-names = oauth2client | |
| putty-ignore = | |
| # E402 module level import not at top of file | |
| # These files have needed configurations defined before import | |
| docs/conf.py : E402 | |
| tests/contrib/test_appengine.py : E402 | |
| # Additionally, ignore E100 (imports in wrong order) for Django configuration | |
| tests/contrib/test_django_orm.py : E402,I100 | |
| # E501 line too long | |
| # Ignore lines over 80 chars that include "http:" or "https:" | |
| /http:/ : E501 | |
| /https:/ : E501 |