blob: b0781a8a1b8189111272e890663a5fb41a11e514 [file] [log] [blame]
[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