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
|
* Improved double error check
|
||||||
|
* Restored support for exc_info is True.
|
||||||
|
|
||||||
Version 5.10.2
|
Version 5.10.2
|
||||||
--------------
|
--------------
|
||||||
|
|
|
@ -724,7 +724,7 @@ class Client(object):
|
||||||
|
|
||||||
``kwargs`` are passed through to ``.capture``.
|
``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()
|
exc_info = sys.exc_info()
|
||||||
return self.capture(
|
return self.capture(
|
||||||
'raven.events.Exception', exc_info=exc_info, **kwargs)
|
'raven.events.Exception', exc_info=exc_info, **kwargs)
|
||||||
|
|
|
@ -296,6 +296,24 @@ class ClientTest(TestCase):
|
||||||
self.assertEquals(frame['function'], 'test_exception_event')
|
self.assertEquals(frame['function'], 'test_exception_event')
|
||||||
self.assertTrue('timestamp' in 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):
|
def test_decorator_preserves_function(self):
|
||||||
@self.client.capture_exceptions
|
@self.client.capture_exceptions
|
||||||
def test1():
|
def test1():
|
||||||
|
|
Loading…
Reference in New Issue