cython

Форк
0
/
tracebacks.pyx 
36 строк · 776.0 Байт
1
# tag: traceback
2

3
def foo1():
4
  foo2()
5

6
cdef foo2():
7
  foo3()
8

9
cdef int foo3() except -1:
10
  raise RuntimeError('my_message')
11

12
def test_traceback(cline_in_traceback=None):
13
  """
14
  >>> test_traceback()
15
  >>> test_traceback(True)
16
  >>> test_traceback(False)
17
  """
18
  if cline_in_traceback is not None:
19
    import cython_runtime
20
    cython_runtime.cline_in_traceback = cline_in_traceback
21
  try:
22
    foo1()
23
  except:
24
    import traceback
25
    tb_string = traceback.format_exc()
26
    expected = (
27
      'tracebacks.pyx',
28
      'foo1', 'foo2', 'foo3',
29
      'line 4', 'line 7', 'line 10',
30
      'my_message')
31
    for s in expected:
32
      assert s in tb_string, s
33
    if cline_in_traceback:
34
      assert 'tracebacks.c' in tb_string
35
    else:
36
      assert 'tracebacks.c' not in tb_string
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.