Skip to content
This repository has been archived by the owner on May 21, 2020. It is now read-only.

Commit

Permalink
Add trollius (py2 backport of asyncio) to tox config.
Browse files Browse the repository at this point in the history
This passes the twisted integration tests but currently has some issues
with pycurl.
  • Loading branch information
bdarnell committed Jan 7, 2014
1 parent f9c8664 commit 2b9f792
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
5 changes: 4 additions & 1 deletion tornado/platform/asyncio.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ def close(self, all_fds=False):
for fd in list(self.handlers):
self.remove_handler(fd)
if all_fds:
os.close(fd)
try:
os.close(fd)
except OSError:
pass
if self.close_loop:
self.asyncio_loop.close()

Expand Down
5 changes: 2 additions & 3 deletions tornado/test/twisted_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -470,9 +470,8 @@ def testTornadoServerTwistedClientReactor(self):
'twisted.internet.test.test_core.ObjectModelIntegrationTest': [],
'twisted.internet.test.test_core.SystemEventTestsBuilder': [
'test_iterate', # deliberately not supported
'test_runAfterCrash', # fails because TwistedIOLoop uses the global reactor
] if issubclass(IOLoop.configured_class(), TwistedIOLoop) else [
'test_iterate', # deliberately not supported
# Fails on TwistedIOLoop and AsyncIOLoop.
'test_runAfterCrash',
],
'twisted.internet.test.test_fdset.ReactorFDSetTestsBuilder': [
"test_lostFileDescriptor", # incompatible with epoll and kqueue
Expand Down
15 changes: 14 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
[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, 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]
commands = python -m tornado.test.runtests {posargs:}

Expand Down Expand Up @@ -207,6 +208,18 @@ deps =
twisted>=12.0.0
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]
basepython = python3.2
commands = python -O -m tornado.test.runtests {posargs:}
Expand Down

0 comments on commit 2b9f792

Please sign in to comment.