import datetime
import functools
-from tornado.ioloop import IOLoop
+# _Timeout is used for its timedelta_to_seconds method for py26 compatibility.
+from tornado.ioloop import IOLoop, _Timeout
from tornado import stack_context
if isinstance(deadline, (int, float)):
delay = max(deadline - self.time(), 0)
elif isinstance(deadline, datetime.timedelta):
- delay = deadline.total_seconds()
+ delay = _Timeout.timedelta_to_seconds(deadline)
else:
raise TypeError("Unsupported deadline %r", deadline)
return self.asyncio_loop.call_later(delay, self._run_callback,
# Alternate IOLoops.
py2-select, py3-select,
py2-twisted, py26-twisted, py2-twistedlayered,
- py33-asyncio, py2-trollius,
+ py33-asyncio, py26-trollius, py2-trollius,
# Other configurations; see comments below.
py2-monotonic, py3-monotonic,
asyncio
commands = python -m tornado.test.runtests --ioloop=tornado.platform.asyncio.AsyncIOLoop {posargs:}
-# Trollius is the py2.7 backport of asyncio.
+# Trollius is the py2 backport of asyncio.
[testenv:py2-trollius]
basepython = python2.7
# Pycurl tests currently fail with trollius.
trollius>=0.1.1
commands = python -m tornado.test.runtests --ioloop=tornado.platform.asyncio.AsyncIOLoop {posargs:}
+[testenv:py26-trollius]
+basepython = python2.6
+# Pycurl tests currently fail with trollius.
+deps =
+ {[testenv:py26-full]deps}
+ trollius>=0.1.3
+commands = python -m tornado.test.runtests --ioloop=tornado.platform.asyncio.AsyncIOLoop {posargs:}
+
[testenv:py2-monotonic]
basepython = python2.7
deps =