Permalink
Browse files

Disable tests when old versions of twisted are installed.

Twisted 10.0 (on an older version of Ubuntu) doesn't seem to work with class
decorators, even on python 2.6.  This makes the tests fail with a TypeError:

Traceback (most recent call last):
  File "tornado/test/import_test.py", line 59, in test_import_twisted
    import tornado.platform.twisted
  File "tornado/platform/twisted.py", line 108, in <module>
    TornadoDelayedCall = implementer(IDelayedCall)(TornadoDelayedCall)
  File "/usr/lib/python2.6/dist-packages/zope/interface/declarations.py",
line 496, in __call__
    raise TypeError("Can't use implementer with classes.  Use one of "
TypeError: Can't use implementer with classes.  Use one of the
class-declaration functions instead.

If we catch a typeerror while importing twisted, act like twisted is not
installed.
  • Loading branch information...
1 parent 4daeaeb commit a5bc9b5aa5c78fee20311b2a65db64d1b45c9a98 @apenwarr committed Aug 14, 2012
Showing with 5 additions and 2 deletions.
  1. +4 −1 tornado/test/import_test.py
  2. +1 −1 tornado/test/twisted_test.py
@@ -56,4 +56,7 @@ def test_import_twisted(self):
except ImportError:
pass
else:
- import tornado.platform.twisted
+ try:
+ import tornado.platform.twisted
+ except TypeError:
+ pass
@@ -37,7 +37,7 @@
from tornado.platform.twisted import TornadoReactor
from zope.interface import implementer
have_twisted = True
-except ImportError:
+except (ImportError, TypeError):
have_twisted = False
from tornado.httpclient import AsyncHTTPClient

0 comments on commit a5bc9b5

Please sign in to comment.