]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Help 2to3 with a tricky three-argument raise statement
authorBen Darnell <ben@bendarnell.com>
Sun, 15 May 2011 23:30:13 +0000 (16:30 -0700)
committerBen Darnell <ben@bendarnell.com>
Sun, 15 May 2011 23:30:13 +0000 (16:30 -0700)
tornado/testing.py

index a92f337f4069ecb84c99500489a5e300ebb464da..1b6ee9af0260e5645575beb2c7869bdb0a4f7b9e 100644 (file)
@@ -179,7 +179,12 @@ class AsyncTestCase(unittest.TestCase):
         assert self.__stopped
         self.__stopped = False
         if self.__failure is not None:
-            raise self.__failure[0], self.__failure[1], self.__failure[2]
+            # 2to3 isn't smart enough to convert three-argument raise
+            # statements correctly in some cases.
+            if isinstance(self.__failure[1], self.__failure[0]):
+                raise self.__failure[1], None, self.__failure[2]
+            else:
+                raise self.__failure[0], self.__failure[1], self.__failure[2]
         result = self.__stop_args
         self.__stop_args = None
         return result