issue #477: Python 2.4 type(exc) returns old-style instance.

issue510
David Wilson 6 years ago
parent 2ead451277
commit 07401d767a

@ -263,7 +263,8 @@ class CallError(Error, object):
Error.__init__(self, fmt, *args) Error.__init__(self, fmt, *args)
else: else:
e = fmt e = fmt
fmt = '%s.%s: %s' % (type(e).__module__, type(e).__name__, e) cls = e.__class__
fmt = '%s.%s: %s' % (cls.__module__, cls.__name__, e)
tb = sys.exc_info()[2] tb = sys.exc_info()[2]
if tb: if tb:
fmt += '\n' fmt += '\n'

@ -31,9 +31,10 @@ class ConstructorTest(testlib.TestCase):
def test_form_base_exc(self): def test_form_base_exc(self):
ve = SystemExit('eek') ve = SystemExit('eek')
e = self.klass(ve) e = self.klass(ve)
cls = ve.__class__
self.assertEquals(e.args[0], self.assertEquals(e.args[0],
# varies across 2/3. # varies across 2/3.
'%s.%s: eek' % (type(ve).__module__, type(ve).__name__)) '%s.%s: eek' % (cls.__module__, cls.__name__))
self.assertTrue(isinstance(e.args[0], mitogen.core.UnicodeType)) self.assertTrue(isinstance(e.args[0], mitogen.core.UnicodeType))
def test_from_exc_tb(self): def test_from_exc_tb(self):

Loading…
Cancel
Save