]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Rewrite travis.yml to make it simpler and more comprehensive.
authorBen Darnell <ben@bendarnell.com>
Fri, 8 Mar 2013 23:26:36 +0000 (18:26 -0500)
committerBen Darnell <ben@bendarnell.com>
Fri, 8 Mar 2013 23:26:36 +0000 (18:26 -0500)
Unlike tox, travis never reuses virtualenvs so setup/install time dominates.
Each test configuration only takes a few seconds once everything is
installed, so it's better to run fewer environments with lots of tests
in each.

This reduces the configuration to 10 environments (two for each python version,
with and without dependencies installed).  All tests are run in every
environment where they can run (unlike the tox config, which has many
variants that only run under py27)

.travis.yml

index f790ab5b79ece1aaa3c27d8932e2a91c55e1223a..038425fdde761461777d2006631f9d552d1edd3f 100644 (file)
@@ -6,62 +6,32 @@ python:
     - pypy
     - 3.2
     - 3.3
-matrix:
-    include:
-        - python: 2.6
-          env: MINIMAL="true"
-        - python: 2.7
-          env: MINIMAL="true"
-        - python: pypy
-          env: MINIMAL="true"
-        - python: 3.2
-          env: MINIMAL="true"
-        - python: 3.3
-          env: MINIMAL="true"
-        - python: 2.7
-          env: FLAGS="--httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient"
-        - python: 2.7
-          env: FLAGS="--ioloop=tornado.platform.select.SelectIOLoop"
-        - python: 2.7
-          env: FLAGS="--ioloop=tornado.platform.twisted.TwistedIOLoop"
-        - python: 2.7
-          env: FLAGS="--resolver=tornado.netutil.ThreadedResolver"
-        - python: 2.7
-          env: FLAGS="--resolver=tornado.platform.twisted.TwistedResolver"
-        - python: 2.7
-          env: DEPS="pycares" FLAGS="--resolver=tornado.platform.caresresolver.CaresResolver"
-        - python: 3.2
-          env: DEPS="pycares" FLAGS="--resolver=tornado.platform.caresresolver.CaresResolver"
-        - python: 2.7
-          env: DEPS="http://pypi.python.org/packages/source/M/Monotime/Monotime-1.0.tar.gz" FLAGS="--ioloop_time_monotonic"
-        - python: 3.3
-          env: FLAGS="--ioloop_time_monotonic"
-        - python: 2.7
-          env: PYFLAGS="-O"
-        - python: 3.2
-          env: PYFLAGS="-O"
-        - python: 3.2
-          env: LANG="en_US.utf-8"
-        - python: 3.2
-          env: LANG="C"
-        - python: 3.2
-          env: PYFLAGS="-bb"
-        - python: 3.3
-          env: PYFLAGS="-bb"
+env:
+    - DEPS=true
+    - DEPS=false
 install:
-    # librtmp-dev is required to build libcurl
-    - sudo apt-get install librtmp-dev
     # always install unittest2 on py26 even if $DEPS is unset
     - if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then pip install --use-mirrors unittest2; fi
-    - if [[ $TRAVIS_PYTHON_VERSION == '2.6' && -z "$MINIMAL" ]]; then pip install --use-mirrors futures mock pycurl twisted; fi
-    - if [[ $TRAVIS_PYTHON_VERSION == '2.7' && -z "$MINIMAL" ]]; then pip install --use-mirrors futures mock pycurl twisted; fi
-    - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' && -z "$MINIMAL" ]]; then pip install --use-mirrors futures mock; fi
-    - if [[ $TRAVIS_PYTHON_VERSION == '3.2' && -z "$MINIMAL" ]]; then pip install --use-mirrors mock; fi
-    - if [[ "$DEPS" ]]; then pip install --use-mirrors $DEPS; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then pip install --use-mirrors futures mock pycares pycurl twisted http://pypi.python.org/packages/source/M/Monotime/Monotime-1.0.tar.gz; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' && $DEPS == true ]]; then pip install --use-mirrors futures mock; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == '3.2' && $DEPS == true ]]; then pip install --use-mirrors pycares mock; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == '3.3' && $DEPS == true ]]; then pip install --use-mirrors pycares; fi
     - python setup.py install
 script:
     # Must cd somewhere else so python3 doesn't get confused and run
     # the python2 code from the current directory instead of the installed
     # 2to3 version.
     - cd maint
-    - python $PYFLAGS -m tornado.test.runtests $FLAGS
+    - python -m tornado.test.runtests
+    - python -m tornado.test.runtests --ioloop=tornado.platform.select.SelectIOLoop
+    - python -m tornado.test.runtests --resolver=tornado.netutil.ThreadedResolver
+    - python -O -m tornado.test.runtests
+    - LANG=C python -m tornado.test.runtests
+    - LANG=en_US.utf-8 python -m tornado.test.runtests
+    - if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then python -bb -m tornado.test.runtests; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python -m tornado.test.runtests --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python -m tornado.test.runtests --ioloop_time_monotonic; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python -m tornado.test.runtests --ioloop=tornado.platform.twisted.TwistedIOLoop; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == 2* && $DEPS == true ]]; then python -m tornado.test.runtests --resolver=tornado.platform.twisted.TwistedResolver; fi
+    - if [[ $DEPS == true ]]; then python -m tornado.test.runtests --resolver = tornado.platform.caresresolver.CaresResolver; fi
+    - if [[ $TRAVIS_PYTHON_VERSION == '3.3' ]] then python -m tornado.test.runtests --ioloop_time_monotonic; fi