Add trollius (py2 backport of asyncio) to tox config.

This passes the twisted integration tests but currently has some issues
with pycurl.
This commit is contained in:
Ben Darnell 2014-01-07 01:14:37 -05:00
parent f9c8664e0f
commit 2b9f7925d3
3 changed files with 20 additions and 5 deletions

View File

@ -36,7 +36,10 @@ class BaseAsyncIOLoop(IOLoop):
for fd in list(self.handlers): for fd in list(self.handlers):
self.remove_handler(fd) self.remove_handler(fd)
if all_fds: if all_fds:
try:
os.close(fd) os.close(fd)
except OSError:
pass
if self.close_loop: if self.close_loop:
self.asyncio_loop.close() self.asyncio_loop.close()

View File

@ -470,9 +470,8 @@ if have_twisted:
'twisted.internet.test.test_core.ObjectModelIntegrationTest': [], 'twisted.internet.test.test_core.ObjectModelIntegrationTest': [],
'twisted.internet.test.test_core.SystemEventTestsBuilder': [ 'twisted.internet.test.test_core.SystemEventTestsBuilder': [
'test_iterate', # deliberately not supported 'test_iterate', # deliberately not supported
'test_runAfterCrash', # fails because TwistedIOLoop uses the global reactor # Fails on TwistedIOLoop and AsyncIOLoop.
] if issubclass(IOLoop.configured_class(), TwistedIOLoop) else [ 'test_runAfterCrash',
'test_iterate', # deliberately not supported
], ],
'twisted.internet.test.test_fdset.ReactorFDSetTestsBuilder': [ 'twisted.internet.test.test_fdset.ReactorFDSetTestsBuilder': [
"test_lostFileDescriptor", # incompatible with epoll and kqueue "test_lostFileDescriptor", # incompatible with epoll and kqueue

15
tox.ini
View File

@ -10,7 +10,8 @@
[tox] [tox]
# "-full" variants include optional dependencies, to ensure # "-full" variants include optional dependencies, to ensure
# that things work both in a bare install and with all the extras. # that things work both in a bare install and with all the extras.
envlist = py27-full, py27-curl, py32-full, pypy, py26, py26-full, py27, py32, py32-utf8, py33, py27-opt, py32-opt, pypy-full, py27-select, py27-monotonic, py33-monotonic, py33-asyncio, py27-twisted, py27-threadedresolver, py27-twistedresolver, py27-twistedlayered, py27-caresresolver, py32-caresresolver, py27-locale, py27-docs envlist = py27-full, py27-curl, py32-full, pypy, py26, py26-full, py27, py32, py32-utf8, py33, py27-opt, py32-opt, pypy-full, py27-select, py27-monotonic, py33-monotonic, py33-asyncio, py27-twisted, py27-threadedresolver, py27-twistedresolver, py27-twistedlayered, py27-caresresolver, py32-caresresolver, py27-locale, py27-trollius, py27-docs
[testenv] [testenv]
commands = python -m tornado.test.runtests {posargs:} commands = python -m tornado.test.runtests {posargs:}
@ -207,6 +208,18 @@ deps =
twisted>=12.0.0 twisted>=12.0.0
commands = python -O -m tornado.test.runtests {posargs:} commands = python -O -m tornado.test.runtests {posargs:}
# Trollius is the py2.7 backport of asyncio.
[testenv:py27-trollius]
basepython = python2.7
commands = python -m tornado.test.runtests --ioloop=tornado.platform.asyncio.AsyncIOLoop {posargs:}
# Pycurl tests currently fail with trollius.
deps =
futures
mock
# pycurl
trollius>=0.1.1
twisted
[testenv:py32-opt] [testenv:py32-opt]
basepython = python3.2 basepython = python3.2
commands = python -O -m tornado.test.runtests {posargs:} commands = python -O -m tornado.test.runtests {posargs:}