blob: b33e852dceb607e6c1a23dbd791a7ccb73b34459 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import traceback
def foo1():
foo2()
cdef foo2():
foo3()
cdef int foo3() except -1:
raise RuntimeError('my_message')
def test_traceback(cline_in_traceback=None):
"""
>>> test_traceback()
>>> test_traceback(True)
>>> test_traceback(False)
"""
if cline_in_traceback is not None:
import cython_runtime
cython_runtime.cline_in_traceback = cline_in_traceback
try:
foo1()
except:
tb_string = traceback.format_exc()
expected = (
'tracebacks.pyx',
'foo1', 'foo2', 'foo3',
'line 4', 'line 7', 'line 10',
'my_message')
for s in expected:
assert s in tb_string, s
if cline_in_traceback:
assert 'tracebacks.c' in tb_string
else:
assert 'tracebacks.c' not in tb_string
|