Ali Afshar | 02b5f3f | 2012-09-06 08:43:10 -0700 | [diff] [blame] | 1 | [tox] |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 2 | envlist = py26,py27,py33,py34,py35,pypy,gae,cover |
Ali Afshar | 02b5f3f | 2012-09-06 08:43:10 -0700 | [diff] [blame] | 3 | |
| 4 | [testenv] |
Danny Hermes | fe25c13 | 2016-01-05 13:25:07 -0800 | [diff] [blame] | 5 | basedeps = mock>=1.3.0 |
Danny Hermes | 4053165 | 2015-08-13 16:12:26 -0700 | [diff] [blame] | 6 | pycrypto>=2.6 |
| 7 | cryptography>=1.0 |
| 8 | pyopenssl>=0.14 |
Craig Citro | 4823cc9 | 2014-12-17 18:23:22 -0800 | [diff] [blame] | 9 | webtest |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 10 | nose |
Jon Wayne Parrott | 5a0bbfd | 2015-07-23 15:43:45 -0700 | [diff] [blame] | 11 | flask |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 12 | unittest2 |
Dominik MiedziĆski | 5048d83 | 2015-11-30 11:26:49 +0100 | [diff] [blame] | 13 | sqlalchemy |
Jon Wayne Parrott | 66d4725 | 2016-07-12 16:06:01 -0700 | [diff] [blame] | 14 | fasteners |
Craig Citro | 4823cc9 | 2014-12-17 18:23:22 -0800 | [diff] [blame] | 15 | deps = {[testenv]basedeps} |
Craig Citro | 70c6c2b | 2015-01-05 23:35:18 -0800 | [diff] [blame] | 16 | django |
Danny Hermes | fe25c13 | 2016-01-05 13:25:07 -0800 | [diff] [blame] | 17 | keyring |
Danny Hermes | 9b07670 | 2015-08-13 13:15:06 -0700 | [diff] [blame] | 18 | setenv = |
Danny Hermes | 9b07670 | 2015-08-13 13:15:06 -0700 | [diff] [blame] | 19 | pypy: with_gmp=no |
Bill Prin | 25165ad | 2016-07-26 12:04:48 -0700 | [diff] [blame] | 20 | DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 21 | commands = nosetests --ignore-files=test_appengine\.py --ignore-files=test__appengine_ndb\.py {posargs} |
Pat Ferate | dd1d8ff | 2014-07-15 11:11:43 -0700 | [diff] [blame] | 22 | |
Jon Wayne Parrott | a4bd21a | 2015-08-25 09:47:45 -0700 | [diff] [blame] | 23 | [coverbase] |
Craig Citro | 4823cc9 | 2014-12-17 18:23:22 -0800 | [diff] [blame] | 24 | basepython = python2.7 |
Craig Citro | 7dff2c1 | 2014-12-12 17:13:22 -0800 | [diff] [blame] | 25 | commands = |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 26 | nosetests \ |
| 27 | --with-coverage \ |
| 28 | --cover-package=oauth2client \ |
| 29 | --cover-package=tests \ |
| 30 | --cover-erase \ |
| 31 | --cover-tests \ |
| 32 | --cover-branches \ |
| 33 | --ignore-files=test_appengine\.py \ |
| 34 | --ignore-files=test__appengine_ndb\.py |
| 35 | nosetests \ |
| 36 | --with-coverage \ |
| 37 | --cover-package=oauth2client.contrib.appengine \ |
| 38 | --cover-package=oauth2client.contrib._appengine_ndb \ |
| 39 | --cover-package=tests.contrib.test_appengine \ |
| 40 | --cover-package=tests.contrib.test__appengine_ndb \ |
| 41 | --with-gae \ |
| 42 | --cover-tests \ |
| 43 | --cover-branches \ |
| 44 | --gae-application=tests/data \ |
| 45 | --gae-lib-root={env:GAE_PYTHONPATH:google_appengine} \ |
| 46 | --logging-level=INFO \ |
| 47 | tests/contrib/test_appengine.py \ |
| 48 | tests/contrib/test__appengine_ndb.py |
Craig Citro | 7dff2c1 | 2014-12-12 17:13:22 -0800 | [diff] [blame] | 49 | deps = {[testenv]deps} |
Craig Citro | 4823cc9 | 2014-12-17 18:23:22 -0800 | [diff] [blame] | 50 | coverage |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 51 | nosegae |
| 52 | |
| 53 | [testenv:py26] |
| 54 | basepython = |
| 55 | python2.6 |
| 56 | commands = |
| 57 | nosetests \ |
| 58 | --ignore-files=test_appengine\.py \ |
| 59 | --ignore-files=test__appengine_ndb\.py \ |
| 60 | --ignore-files=test_keyring_storage\.py \ |
| 61 | --exclude-dir=oauth2client/contrib/django_util \ |
| 62 | --exclude-dir=tests/contrib/django_util \ |
| 63 | {posargs} |
| 64 | deps = {[testenv]basedeps} |
| 65 | nose-exclude |
| 66 | |
| 67 | [testenv:py33] |
| 68 | basepython = |
| 69 | python3.3 |
| 70 | commands = |
| 71 | nosetests \ |
| 72 | --ignore-files=test_appengine\.py \ |
| 73 | --ignore-files=test__appengine_ndb\.py \ |
| 74 | --ignore-files=test_django_orm\.py \ |
| 75 | --ignore-files=test_django_settings\.py \ |
| 76 | --ignore-files=test_django_util\.py \ |
| 77 | --exclude-dir=oauth2client/contrib/django_util \ |
| 78 | --exclude-dir=tests/contrib/django_util \ |
| 79 | {posargs} |
| 80 | deps = {[testenv]basedeps} |
| 81 | keyring |
| 82 | nose-exclude |
Jon Wayne Parrott | a4bd21a | 2015-08-25 09:47:45 -0700 | [diff] [blame] | 83 | |
| 84 | [testenv:cover] |
| 85 | basepython = {[coverbase]basepython} |
| 86 | commands = |
| 87 | {[coverbase]commands} |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 88 | coverage report --show-missing --cover-min-percentage=100 |
Jon Wayne Parrott | a4bd21a | 2015-08-25 09:47:45 -0700 | [diff] [blame] | 89 | deps = |
| 90 | {[coverbase]deps} |
Craig Citro | 7dff2c1 | 2014-12-12 17:13:22 -0800 | [diff] [blame] | 91 | |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 92 | [testenv:coveralls] |
| 93 | basepython = {[coverbase]basepython} |
| 94 | commands = |
| 95 | {[coverbase]commands} |
| 96 | coverage report --show-missing |
| 97 | coveralls |
| 98 | deps = |
| 99 | {[coverbase]deps} |
| 100 | coveralls |
| 101 | passenv = {[testenv:system-tests]passenv} |
| 102 | |
Craig Citro | 962cf74 | 2015-01-05 11:36:15 -0800 | [diff] [blame] | 103 | [testenv:docs] |
| 104 | basepython = python2.7 |
| 105 | deps = |
| 106 | {[testenv:cover]deps} |
Craig Citro | 962cf74 | 2015-01-05 11:36:15 -0800 | [diff] [blame] | 107 | python-gflags |
| 108 | pyyaml |
Craig Citro | 07da0fe | 2015-03-02 23:44:53 -0800 | [diff] [blame] | 109 | sphinx>=1.3b2 |
Craig Citro | 9e4fe2f | 2015-01-06 00:17:23 -0800 | [diff] [blame] | 110 | sphinx-rtd-theme |
Emanuele Pucciarelli | d2c15e6 | 2015-07-09 11:27:59 +0200 | [diff] [blame] | 111 | webapp2 |
Danny Hermes | f640756 | 2016-02-17 14:18:59 -0800 | [diff] [blame] | 112 | commands = {toxinidir}/scripts/build_docs.sh |
Craig Citro | 962cf74 | 2015-01-05 11:36:15 -0800 | [diff] [blame] | 113 | |
Jon Wayne Parrott | e0be076 | 2015-08-17 11:33:58 -0700 | [diff] [blame] | 114 | [testenv:gae] |
| 115 | basepython = python2.7 |
| 116 | deps = {[testenv]basedeps} |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 117 | nosegae |
Jon Wayne Parrott | e0be076 | 2015-08-17 11:33:58 -0700 | [diff] [blame] | 118 | commands = |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 119 | nosetests \ |
| 120 | --with-gae \ |
| 121 | --gae-lib-root={env:GAE_PYTHONPATH:google_appengine} \ |
| 122 | --gae-application=tests/data \ |
| 123 | --logging-level=INFO \ |
| 124 | tests/contrib/test_appengine.py \ |
| 125 | tests/contrib/test__appengine_ndb.py |
Jon Wayne Parrott | e0be076 | 2015-08-17 11:33:58 -0700 | [diff] [blame] | 126 | |
Danny Hermes | 659869f | 2015-04-13 10:06:18 -0700 | [diff] [blame] | 127 | [testenv:system-tests] |
| 128 | basepython = |
| 129 | python2.7 |
| 130 | commands = |
| 131 | {toxinidir}/scripts/run_system_tests.sh |
| 132 | deps = |
Danny Hermes | 4053165 | 2015-08-13 16:12:26 -0700 | [diff] [blame] | 133 | pycrypto>=2.6 |
| 134 | cryptography>=1.0 |
| 135 | pyopenssl>=0.14 |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 136 | passenv = GOOGLE_* OAUTH2CLIENT_* TRAVIS* |
Danny Hermes | 659869f | 2015-04-13 10:06:18 -0700 | [diff] [blame] | 137 | |
| 138 | [testenv:system-tests3] |
| 139 | basepython = |
| 140 | python3.4 |
| 141 | commands = |
| 142 | {toxinidir}/scripts/run_system_tests.sh |
| 143 | deps = |
Danny Hermes | 4053165 | 2015-08-13 16:12:26 -0700 | [diff] [blame] | 144 | pycrypto>=2.6 |
| 145 | cryptography>=1.0 |
| 146 | pyopenssl>=0.14 |
Danny Hermes | 5d826bc | 2015-05-13 11:31:23 -0700 | [diff] [blame] | 147 | passenv = {[testenv:system-tests]passenv} |
Danny Hermes | 6ce1374 | 2016-02-18 20:41:33 -0800 | [diff] [blame] | 148 | |
| 149 | [testenv:gce-system-tests] |
| 150 | basepython = |
| 151 | python2.7 |
| 152 | commands = |
| 153 | python {toxinidir}/scripts/run_gce_system_tests.py |
| 154 | deps = |
| 155 | pycrypto>=2.6 |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 156 | unittest2 |
Danny Hermes | 6ce1374 | 2016-02-18 20:41:33 -0800 | [diff] [blame] | 157 | passenv = {[testenv:system-tests]passenv} |
Pat Ferate | 8eb3aa2 | 2016-07-08 13:30:17 -0700 | [diff] [blame] | 158 | |
| 159 | [testenv:flake8] |
Pat Ferate | 09e9420 | 2016-07-10 17:24:18 -0700 | [diff] [blame] | 160 | commands = flake8 --import-order-style google {posargs} |
| 161 | deps = |
| 162 | flake8-putty |
| 163 | flake8-import-order |
Pat Ferate | 8eb3aa2 | 2016-07-08 13:30:17 -0700 | [diff] [blame] | 164 | |
| 165 | [flake8] |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 166 | exclude = .tox,.git,./*.egg,build, |
| 167 | application-import-names = oauth2client |
Pat Ferate | 8eb3aa2 | 2016-07-08 13:30:17 -0700 | [diff] [blame] | 168 | putty-ignore = |
| 169 | # E402 module level import not at top of file |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 170 | # These files have needed configurations defined before import |
Pat Ferate | 8eb3aa2 | 2016-07-08 13:30:17 -0700 | [diff] [blame] | 171 | docs/conf.py : E402 |
Kevin Cheng | 8f8bf75 | 2019-02-08 21:17:48 +0000 | [diff] [blame] | 172 | tests/contrib/test_appengine.py : E402 |
| 173 | # Additionally, ignore E100 (imports in wrong order) for Django configuration |
| 174 | tests/contrib/test_django_orm.py : E402,I100 |
Pat Ferate | 8eb3aa2 | 2016-07-08 13:30:17 -0700 | [diff] [blame] | 175 | # E501 line too long |
| 176 | # Ignore lines over 80 chars that include "http:" or "https:" |
| 177 | /http:/ : E501 |
| 178 | /https:/ : E501 |