82 lines
4.9 KiB
YAML
82 lines
4.9 KiB
YAML
# https://travis-ci.org/tornadoweb/tornado
|
|
language: python
|
|
python:
|
|
- 2.6
|
|
- 2.7
|
|
- pypy
|
|
- 3.2
|
|
- 3.3
|
|
- 3.4
|
|
- pypy3
|
|
|
|
env:
|
|
- DEPS=true
|
|
- DEPS=false
|
|
|
|
install:
|
|
# always install unittest2 on py26 even if $DEPS is unset
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then travis_retry pip install unittest2; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then travis_retry pip install futures mock Monotime==1.0 trollius; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then travis_retry pip install singledispatch; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' && $DEPS == true ]]; then travis_retry pip install futures mock singledispatch; fi
|
|
# TODO(bdarnell): pycares tests are currently disabled on travis due to ipv6 issues.
|
|
#- if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* && $DEPS == true ]]; then travis_retry pip install pycares; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* && $DEPS == true ]]; then travis_retry pip install pycurl; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.2' && $DEPS == true ]]; then travis_retry pip install mock singledispatch; fi
|
|
# Twisted runs on 2.x and 3.3+, but is flaky on pypy.
|
|
- if [[ $TRAVIS_PYTHON_VERSION != '3.2' && $TRAVIS_PYTHON_VERSION != 'pypy'* && $DEPS == true ]]; then travis_retry travis_retry pip install Twisted; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' && $DEPS == true ]]; then travis_retry travis_retry pip install sphinx==1.2.2 sphinx_rtd_theme; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.4' && $DEPS == true ]]; then travis_retry travis_retry pip install sphinx==1.2.2 sphinx_rtd_theme; fi
|
|
# On travis the extension should always be built
|
|
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then export TORNADO_EXTENSION=1; fi
|
|
- travis_retry python setup.py install
|
|
- travis_retry pip install coveralls
|
|
|
|
script:
|
|
# Get out of the source directory before running tests to avoid PYTHONPATH
|
|
# confusion. This is necessary to ensure that the speedups module can
|
|
# be found in the installation directory.
|
|
- cd maint
|
|
# Copy the coveragerc down so coveralls can find it.
|
|
- cp ../.coveragerc .
|
|
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then export TORNADO_EXTENSION=1; fi
|
|
- export TARGET="-m tornado.test.runtests"
|
|
# Travis workers are often overloaded and cause our tests to exceed
|
|
# the default timeout of 5s.
|
|
- export ASYNC_TEST_TIMEOUT=15
|
|
# We use "python -m coverage" instead of the "bin/coverage" script
|
|
# so we can pass additional arguments to python. However, this doesn't
|
|
# work on 2.6, so skip coverage on that version.
|
|
- if [[ $TRAVIS_PYTHON_VERSION != 2.6 ]]; then export TARGET="-m coverage run $TARGET"; fi
|
|
- python $TARGET
|
|
- python $TARGET --ioloop=tornado.platform.select.SelectIOLoop
|
|
- python -O $TARGET
|
|
- LANG=C python $TARGET
|
|
- LANG=en_US.utf-8 python $TARGET
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then python -bb $TARGET; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION != pypy* && $DEPS == true ]]; then python $TARGET --resolver=tornado.netutil.ThreadedResolver; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python $TARGET --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python $TARGET --ioloop_time_monotonic; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION != '3.2' && $TRAVIS_PYTHON_VERSION != 'pypy'* && $DEPS == true ]]; then python $TARGET --ioloop=tornado.platform.twisted.TwistedIOLoop; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 3.4 ]]; then python $TARGET --ioloop=tornado.platform.asyncio.AsyncIOLoop; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python $TARGET --ioloop=tornado.platform.asyncio.AsyncIOLoop; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python $TARGET --resolver=tornado.platform.twisted.TwistedResolver; fi
|
|
#- if [[ $TRAVIS_PYTHON_VERSION != pypy* && $DEPS == true ]]; then python $TARGET --resolver=tornado.platform.caresresolver.CaresResolver; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.3' ]]; then python $TARGET --ioloop_time_monotonic; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then python $TARGET --ioloop_time_monotonic; fi
|
|
- export TORNADO_EXTENSION=0
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.4' && $DEPS == true ]]; then cd ../docs && mkdir sphinx-out && sphinx-build -E -n -W -b html . sphinx-out; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' && $DEPS == true ]]; then cd ../docs && mkdir sphinx-doctest-out && sphinx-build -E -n -b doctest . sphinx-out; fi
|
|
- if [[ $TRAVIS_PYTHON_VERSION == '3.4' && $DEPS == true ]]; then cd ../docs && mkdir sphinx-doctest-out && sphinx-build -E -n -b doctest . sphinx-out; fi
|
|
|
|
after_success:
|
|
coveralls
|
|
|
|
# This reportedly works around an issue downloading packages from pypi on
|
|
# travis. Consider removing this after the underlying issue is fixed.
|
|
# https://github.com/travis-ci/travis-ci/issues/2389
|
|
sudo: false
|
|
|
|
matrix:
|
|
fast_finish: true
|