Handle exc_info is True. This fixes #735
This commit is contained in:
parent
246b3ff591
commit
d6caa99bfd
1
CHANGES
1
CHANGES
|
@ -2,6 +2,7 @@ Version 5.10.3
|
|||
--------------
|
||||
|
||||
* Improved double error check
|
||||
* Restored support for exc_info is True.
|
||||
|
||||
Version 5.10.2
|
||||
--------------
|
||||
|
|
|
@ -724,7 +724,7 @@ class Client(object):
|
|||
|
||||
``kwargs`` are passed through to ``.capture``.
|
||||
"""
|
||||
if exc_info is None:
|
||||
if exc_info is None or exc_info is True:
|
||||
exc_info = sys.exc_info()
|
||||
return self.capture(
|
||||
'raven.events.Exception', exc_info=exc_info, **kwargs)
|
||||
|
|
|
@ -296,6 +296,24 @@ class ClientTest(TestCase):
|
|||
self.assertEquals(frame['function'], 'test_exception_event')
|
||||
self.assertTrue('timestamp' in event)
|
||||
|
||||
def test_exception_event_true_exc_info(self):
|
||||
try:
|
||||
raise ValueError('foo')
|
||||
except ValueError:
|
||||
self.client.captureException(exc_info=True)
|
||||
|
||||
self.assertEquals(len(self.client.events), 1)
|
||||
event = self.client.events.pop(0)
|
||||
self.assertEquals(event['message'], 'ValueError: foo')
|
||||
self.assertTrue('exception' in event)
|
||||
exc = event['exception']['values'][0]
|
||||
stacktrace = exc['stacktrace']
|
||||
self.assertEquals(len(stacktrace['frames']), 1)
|
||||
frame = stacktrace['frames'][0]
|
||||
self.assertEquals(frame['abs_path'], __file__.replace('.pyc', '.py'))
|
||||
self.assertEquals(frame['filename'], 'tests/base/tests.py')
|
||||
self.assertEquals(frame['module'], __name__)
|
||||
|
||||
def test_decorator_preserves_function(self):
|
||||
@self.client.capture_exceptions
|
||||
def test1():
|
||||
|
|
Loading…
Reference in New Issue