]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Add a py26-trollius test case and fix a bug with timedelta on 2.6.
authorBen Darnell <ben@bendarnell.com>
Mon, 17 Feb 2014 04:41:15 +0000 (23:41 -0500)
committerBen Darnell <ben@bendarnell.com>
Mon, 17 Feb 2014 04:41:15 +0000 (23:41 -0500)
tornado/platform/asyncio.py
tox.ini

index 0a3fba3f73e90cfde0bfc688e0a64ab6203fc151..3f86cc7d1c999fa5424ac832f6c899093276ce84 100644 (file)
@@ -14,7 +14,8 @@ import asyncio
 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
 
 
@@ -108,7 +109,7 @@ class BaseAsyncIOLoop(IOLoop):
         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,
diff --git a/tox.ini b/tox.ini
index 92fbcabdd9de36146bb426a94b33add69de80ba9..a82bbc4e59f06f67bd6a1588348040fa03790a81 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -28,7 +28,7 @@ envlist =
         # 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,
@@ -164,7 +164,7 @@ deps =
      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.
@@ -173,6 +173,14 @@ deps =
      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 =