| # Tox (http://codespeak.net/~hpk/tox/) is a tool for running tests |
| # in multiple virtualenvs. This configuration file will run the tornado |
| # test suite on all supported python versions. To use it, "pip install tox" |
| # and then run "tox" from this directory. |
| # |
| # See also tornado/test/run_pyversion_tests.py, which is faster but |
| # less thorough. |
| # |
| # On my macports-based setup, the environment variable |
| # ARCHFLAGS='-arch x86_64' must be set when building pycurl, and a |
| # symlink from mysql_config to mysql_config5 must exist when building |
| # MySQL-python. |
| [tox] |
| # "-full" variants include optional dependencies, to ensure |
| # that things work both in a bare install and with all the extras. |
| envlist = py27-full, py27-curl, py25-full, py32, pypy, py25, py26, py26-full, py27, py32-utf8, py33 |
| [testenv] |
| commands = python -m tornado.test.runtests {posargs:} |
| |
| # python will import relative to the current working directory by default, |
| # so cd into the tox working directory to avoid picking up the working |
| # copy of the files (especially important for 2to3). |
| changedir = {toxworkdir} |
| # Note that PYTHONPATH must not be set when running tox (and setting it |
| # with the following doesn't seem to work, since tox/virtualenv appends to |
| # PYTHONPATH) |
| #environment = PYTHONPATH= |
| |
| [testenv:py25] |
| basepython = python2.5 |
| deps = simplejson |
| |
| [testenv:py25-full] |
| basepython = python2.5 |
| deps = |
| MySQL-python |
| pycurl |
| simplejson |
| twisted>=12.0.0 |
| # zope.interface (used by twisted) dropped python 2.5 support in 4.0 |
| zope.interface<4.0 |
| |
| # py26-full deliberately runs an older version of twisted to ensure |
| # we're still compatible with the oldest version we support. |
| [testenv:py26-full] |
| basepython = python2.6 |
| deps = |
| MySQL-python |
| pycurl |
| twisted==11.0.0 |
| |
| [testenv:py27-full] |
| basepython = python2.7 |
| deps = |
| MySQL-python |
| pycurl |
| twisted>=12.0.0 |
| |
| [testenv:py27-curl] |
| # Same as py27-full, but runs the tests with curl_httpclient by default. |
| # Note that httpclient_test is always run with both client implementations; |
| # this flag controls which client all the other tests use. |
| basepython = python2.7 |
| deps = |
| MySQL-python |
| pycurl |
| twisted>=11.1.0 |
| commands = python -m tornado.test.runtests --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient {posargs:} |
| |
| # No pypy-full yet: pycurl doesn't build with pypy, and installing |
| # twisted under pypy takes a *very* long time. MySQL-python builds with |
| # pypy, but doesn't work. |
| |
| # In python 3, opening files in text mode uses a system-dependent encoding by |
| # default. Run the tests with "C" (ascii) and "utf-8" locales to ensure |
| # we don't have hidden dependencies on this setting. |
| [testenv:py32] |
| basepython = python3.2 |
| setenv = LANG=C |
| |
| [testenv:py32-utf8] |
| basepython = python3.2 |
| setenv = LANG=en_US.utf-8 |
| |
| # No py32-full yet: none of our dependencies currently work on python3. |
| |
| [testenv:py33] |
| # tox doesn't yet know "py33" by default |
| basepython = python3.3 |