]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Drop Python 2.6 support.
authorBen Darnell <ben@bendarnell.com>
Mon, 3 Aug 2015 14:06:31 +0000 (10:06 -0400)
committerBen Darnell <ben@bendarnell.com>
Fri, 6 Nov 2015 23:53:11 +0000 (18:53 -0500)
Remove python 2.6 support from all test configurations and docs,
but do not actively remove code that exists for 2.6 compatibility.

.travis.yml
docs/index.rst
maint/test/websocket/fuzzingclient.json
maint/test/websocket/run-client.sh
maint/test/websocket/run-server.sh
maint/test/websocket/tox.ini
maint/vm/ubuntu10.04/tox.ini
maint/vm/windows/bootstrap.py
maint/vm/windows/tox.ini
setup.py
tox.ini

index 2e34e3915a33be3ece3653e26a85aeb92f169568..b6c16e0c9ba666a3cb716f2984f88a387aa9c17b 100644 (file)
@@ -1,7 +1,7 @@
 # https://travis-ci.org/tornadoweb/tornado
 language: python
 python:
-    - 2.6
+    - 2.7.8
     - 2.7
     - pypy
     - 3.2
@@ -16,8 +16,6 @@ env:
     - 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 trollius; fi
     - if [[ $TRAVIS_PYTHON_VERSION == 'pypy' && $DEPS == true ]]; then travis_retry pip install futures mock; fi
     # TODO(bdarnell): pycares tests are currently disabled on travis due to ipv6 issues.
@@ -50,11 +48,10 @@ script:
     # 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.
+    # so we can pass additional arguments to python.
     # coverage needs a function that was removed in python 3.6 so we can't
     # run it with nightly cpython.
-    - if [[ $TRAVIS_PYTHON_VERSION != 2.6 && $TRAVIS_PYTHON_VERSION != nightly ]]; then export TARGET="-m coverage run $TARGET"; fi
+    - if [[ $TRAVIS_PYTHON_VERSION != nightly ]]; then export TARGET="-m coverage run $TARGET"; fi
     - python $TARGET
     - python $TARGET --ioloop=tornado.platform.select.SelectIOLoop
     - python -O $TARGET
@@ -71,7 +68,7 @@ script:
     #- if [[ $TRAVIS_PYTHON_VERSION != pypy* && $DEPS == true ]]; then python $TARGET --resolver=tornado.platform.caresresolver.CaresResolver; fi
     - if [[ $TRAVIS_PYTHON_VERSION == 3* && $TRAVIS_PYTHON_VERSION != '3.2' ]]; then python $TARGET --ioloop_time_monotonic; fi
     # make coverage reports for Codecov to find
-    - if [[ $TRAVIS_PYTHON_VERSION != 2.6 && $TRAVIS_PYTHON_VERSION != nightly ]]; then coverage xml; fi
+    - if [[ $TRAVIS_PYTHON_VERSION != nightly ]]; then coverage xml; fi
     - export TORNADO_EXTENSION=0
     - if [[ $TRAVIS_PYTHON_VERSION == '3.5' && $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
@@ -79,7 +76,7 @@ script:
 
 after_success:
     # call codecov from project root
-    - if [[ $TRAVIS_PYTHON_VERSION != 2.6 && $TRAVIS_PYTHON_VERSION != nightly ]]; then cd ../ && codecov -e DEPS; fi
+    - if [[ $TRAVIS_PYTHON_VERSION != nightly ]]; then cd ../ && codecov -e DEPS; fi
 
 # This reportedly works around an issue downloading packages from pypi on
 # travis.  Consider removing this after the underlying issue is fixed.
index 577be15906560f94165042aa1c673a6b72eb4072..9609527162f7ae0b1c7ff0168705228521f0e10b 100644 (file)
@@ -79,16 +79,13 @@ copy of the source tarball as well.
 The Tornado source code is `hosted on GitHub
 <https://github.com/tornadoweb/tornado>`_.
 
-**Prerequisites**: Tornado 4.3 runs on Python 2.6, 2.7, and 3.2+
-(support for Python 2.6 and 3.2 is deprecated and will be removed in
+**Prerequisites**: Tornado 4.3 runs on Python 2.7, and 3.2+
+(support for Python 3.2 is deprecated and will be removed in
 the next release). For Python 2, version 2.7.9 or newer is *strongly*
 recommended for the improved SSL support. In addition to the requirements
 which will be installed automatically by ``pip`` or ``setup.py install``,
 the following optional packages may be useful:
 
-* `unittest2 <https://pypi.python.org/pypi/unittest2>`_ is needed to run
-  Tornado's test suite on Python 2.6 (it is unnecessary on more recent
-  versions of Python)
 * `concurrent.futures <https://pypi.python.org/pypi/futures>`_ is the
   recommended thread pool for use with Tornado and enables the use of
   `~tornado.netutil.ThreadedResolver`.  It is needed only on Python 2;
index 9e07e830dcb60ae8270934003fb8840d24be2d42..5f5c3619b51a442164edc9380596e946ed5dfd7f 100644 (file)
@@ -3,13 +3,11 @@
    "outdir": "./reports/servers",
 
    "servers": [
-       {"agent": "Tornado/py26", "url": "ws://localhost:9001",
+       {"agent": "Tornado/py27", "url": "ws://localhost:9001",
         "options": {"version": 18}},
-       {"agent": "Tornado/py27", "url": "ws://localhost:9002",
+       {"agent": "Tornado/py34", "url": "ws://localhost:9002",
         "options": {"version": 18}},
-       {"agent": "Tornado/py32", "url": "ws://localhost:9003",
-        "options": {"version": 18}},
-       {"agent": "Tornado/pypy", "url": "ws://localhost:9004",
+       {"agent": "Tornado/pypy", "url": "ws://localhost:9003",
         "options": {"version": 18}}
        ],
 
index 9ed974a92364ec1117d26a6d4a27e5df0385d6a8..23b69ec9d835a944838ece5968bd0c2f663371b6 100755 (executable)
@@ -9,9 +9,8 @@ FUZZING_SERVER_PID=$!
 
 sleep 1
 
-.tox/py26/bin/python client.py --name='Tornado/py26'
 .tox/py27/bin/python client.py --name='Tornado/py27'
-.tox/py32/bin/python client.py --name='Tornado/py32'
+.tox/py34/bin/python client.py --name='Tornado/py32'
 .tox/pypy/bin/python client.py --name='Tornado/pypy'
 
 kill $FUZZING_SERVER_PID
index 95a14ea3b60c90caba42d3564de7d9b683e50966..c6624f5b4fcc084ae346e52e7137f605d3e46700 100755 (executable)
@@ -12,23 +12,19 @@ set -e
 # build/update the virtualenvs
 tox
 
-.tox/py26/bin/python server.py --port=9001 &
-PY26_SERVER_PID=$!
-
-.tox/py27/bin/python server.py --port=9002 &
+.tox/py27/bin/python server.py --port=9001 &
 PY27_SERVER_PID=$!
 
-.tox/py32/bin/python server.py --port=9003 &
+.tox/py34/bin/python server.py --port=9002 &
 PY32_SERVER_PID=$!
 
-.tox/pypy/bin/python server.py --port=9004 &
+.tox/pypy/bin/python server.py --port=9003 &
 PYPY_SERVER_PID=$!
 
 sleep 1
 
 .tox/py27/bin/wstest -m fuzzingclient
 
-kill $PY26_SERVER_PID
 kill $PY27_SERVER_PID
 kill $PY32_SERVER_PID
 kill $PYPY_SERVER_PID
index 696074102622475631c159835926e5df53c4112f..a959f6e40cea0583be9d7302defa26f33626284e 100644 (file)
@@ -2,7 +2,7 @@
 # to install autobahn and build the speedups module.
 # See run.sh for the real test runner.
 [tox]
-envlist = py27, py32, py26, pypy
+envlist = py27, py32, pypy
 setupdir=../../..
 
 [testenv]
index 21944e81956de5e8be8526f1b8bc4b1fbbba4564..25c3230386b8a7a762dc2a3f07255a179eac3a42 100644 (file)
@@ -1,21 +1,11 @@
 [tox]
-envlist = py27-full, py32, py26, py26-full, py27
+envlist = py27-full, py32, py27
 setupdir=/tornado
 toxworkdir=/home/vagrant/tox-tornado
 
 [testenv]
 commands = python -m tornado.test.runtests {posargs:}
 
-[testenv:py26]
-deps = unittest2
-
-[testenv:py26-full]
-deps =
-     futures
-     pycurl
-     twisted==11.0.0
-     unittest2
-
 [testenv:py27-full]
 basepython = python2.7
 deps =
index 669981c746e1809c33769a361a2084551a3be359..b23cf674bbe3f3b7c945cb29cf9709e9635ea852 100644 (file)
@@ -28,7 +28,6 @@ import urllib
 TMPDIR = r'c:\tornado_bootstrap'
 
 PYTHON_VERSIONS = [
-    (r'c:\python26\python.exe', 'http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi'),
     (r'c:\python27\python.exe', 'http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi'),
     (r'c:\python32\python.exe', 'http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi'),
     (r'c:\python33\python.exe', 'http://www.python.org/ftp/python/3.3.0/python-3.3.0.msi'),
index ec7c571ca3ffe74678667c652b5ea0d9725e750a..da9998f9a536539d03b096a020d3096b7ae3dafe 100644 (file)
@@ -1,21 +1,11 @@
 [tox]
-envlist = py27-full, py32-full, py26, py26-full, py27, py32, py33, py27-opt, py33-monotonic
+envlist = py27-full, py32-full, py27, py32, py33, py27-opt, py33-monotonic
 setupdir = e:\
 toxworkdir = c:\tox-tornado
 
 [testenv]
 commands = python -m tornado.test.runtests {posargs:}
 
-[testenv:py26]
-deps = unittest2
-
-[testenv:py26-full]
-basepython = python2.6
-deps =
-     futures
-     mock
-     unittest2
-
 [testenv:py27-full]
 basepython = python2.7
 deps =
index 437ae8b4a07536f85057633b13ef694c52bd15e7..cbb2397f8bb4ca292dfc5a9406f6188544abf039 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -170,7 +170,6 @@ setup(
     classifiers=[
         'License :: OSI Approved :: Apache Software License',
         'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
         'Programming Language :: Python :: 3.2',
diff --git a/tox.ini b/tox.ini
index dc3b9fb6b39200ed6f1fc6d54bd8f7c498a6a226..59c23608bd21269818d85991a7368f57ee47a1ea 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -15,8 +15,8 @@ envlist =
         # Basic configurations: Run the tests in both minimal installations
         # and with all optional dependencies.
         # (pypy3 doesn't have any optional deps yet)
-        {py26,py27,pypy,py32,py33,py34,py35,pypy3},
-        {py26,py27,pypy,py32,py33,py34,py35}-full,
+        {py27,pypy,py32,py33,py34,py35,pypy3},
+        {py27,pypy,py32,py33,py34,py35}-full,
 
         # Also run the tests with each possible replacement of a default
         # component.  Run each test on both python 2 and 3 where possible.
@@ -28,10 +28,10 @@ envlist =
 
         # Alternate IOLoops.
         {py2,py3}-select,
-        {py2,py26,py3}-full-twisted,
+        {py2,py3}-full-twisted,
         py2-twistedlayered,
         {py3,py33}-full-asyncio,
-        {py26,py2}-full-trollius,
+        py2-full-trollius,
 
         # Alternate Resolvers.
         {py2,py3}-full-{threadedresolver},
@@ -53,7 +53,6 @@ envlist =
 # Most of these are defaults, but if you specify any you can't fall back
 # defaults for the others.
 basepython =
-           py26: python2.6
            py27: python2.7
            py32: python3.2
            py33: python3.3
@@ -65,28 +64,25 @@ basepython =
            py3: python3.5
 
 deps =
-     # unittest2 is a hard requirement on py26.
-     py26: unittest2
      # unittest2 doesn't add anything we need on 2.7+, but we should ensure that
      # its existence doesn't break anything due to conditional imports.
      py27-unittest2: unittest2
      py3-unittest2: unittest2py3k
      # cpython-only deps: pycurl installs but curl_httpclient doesn't work;
      # twisted mostly works but is a bit flaky under pypy.
-     {py26,py27,py32,py33,py34,py35}-full: pycurl
+     {py27,py32,py33,py34,py35}-full: pycurl
      {py2,py3}: pycurl>=7.19.3.1
      # twisted is cpython only and doesn't support py32.
-     {py26,py27,py33,py34,py35}-full: twisted
+     {py27,py33,py34,py35}-full: twisted
      {py2,py3}: twisted
      # pycares installation currently fails on py33
      # (https://github.com/pypa/pip/pull/816)
-     {py2,py26,py27,py32,py33,py34,py35}-full: pycares
+     {py2,py27,py32,py33,py34,py35}-full: pycares
      # futures became standard in py32
-     {py2,py26,py27,pypy}-full: futures
+     {py2,py27,pypy}-full: futures
      # mock became standard in py33
-     {py2,py26,py27,pypy,py3,py32,pypy3}-full: mock
-     # singledispatch became standard in py34. It mostly works on py26
-     # but has problems with old-style classes as used in that version.
+     {py2,py27,pypy,py3,py32,pypy3}-full: mock
+     # singledispatch became standard in py34.
      {py2,py27,pypy,py3,py32,py33}-full: singledispatch
      py33-asyncio: asyncio
      trollius: trollius
@@ -96,7 +92,7 @@ deps =
 
 setenv =
        # The extension is mandatory on cpython.
-       {py2,py26,py27,py3,py32,py33,py34,py35}: TORNADO_EXTENSION=1
+       {py2,py27,py3,py32,py33,py34,py35}: TORNADO_EXTENSION=1
        # 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
@@ -105,7 +101,7 @@ setenv =
        lang_utf8: LANG=en_US.utf-8
        # tox's parser chokes if all the setenv entries are conditional.
        DUMMY=dummy
-       {py2,py26,py27,py3,py32,py33,py34,py35}-no-ext: TORNADO_EXTENSION=0
+       {py2,py27,py3,py32,py33,py34,py35}-no-ext: TORNADO_EXTENSION=0
 
 # All non-comment lines but the last must end in a backslash.
 # Tox filters line-by-line based on the environment name.