cython

Форк
0
/
__debug__.srctree 
94 строки · 1.8 Кб
1
"""
2
PYTHON setup.py build_ext -i
3
PYTHON debug_test.py
4
PYTHON -O debug_test.py
5
PYTHON -OO debug_test.py
6
"""
7

8
######## setup.py ########
9

10
from distutils.core import setup
11
from Cython.Build import cythonize
12

13
setup(ext_modules = cythonize('*.pyx'))
14

15
######## debug_test.py ########
16

17
if __debug__:
18
    DBG = True
19
else:
20
    DBG = False
21

22
import sys
23
try:
24
    optimised = bool(sys.flags.optimize)
25
except AttributeError:
26
    # Py2.[45]
27
    optimised = eval('not __debug__')
28

29
if DBG == optimised:
30
    raise RuntimeError(
31
        "PYTHON: unexpected debug value %s, expected %s" % (
32
        DBG, optimised))
33

34
ASSERT_CALLED = False
35
def sideeffect():
36
    global ASSERT_CALLED
37
    ASSERT_CALLED = True
38
    return True
39

40
assert sideeffect()
41
if ASSERT_CALLED == optimised:
42
    raise RuntimeError("Assert called in optimised Python run")
43

44
import debug_test_cython
45
if debug_test_cython.DBG == optimised:
46
    raise RuntimeError(
47
        "CYTHON: unexpected debug value %s, expected %s" % (
48
        debug_test_cython.DBG, optimised))
49

50
try:
51
    import plain_debug
52
except ValueError:
53
    assert DBG
54
except IndexError:
55
    assert not DBG
56
else:
57
    assert False
58

59

60
######## plain_debug.pyx ########
61

62
if __debug__:
63
    raise ValueError("DEBUG!")
64
else:
65
    raise IndexError("NOT DEBUG!")
66

67

68
######## debug_test_cython.pyx ########
69

70
if __debug__:
71
    DBG = True
72
else:
73
    DBG = False
74

75
import sys
76
try:
77
    optimised = bool(sys.flags.optimize)
78
except AttributeError:
79
    # Py2.[45]
80
    optimised = eval('not __debug__')
81

82
ASSERT_CALLED = False
83
def sideeffect():
84
    global ASSERT_CALLED
85
    ASSERT_CALLED = True
86
    return True
87

88
if DBG == optimised:
89
    raise RuntimeError("Unexpected debug value %s, expected %s" % (
90
                       DBG, optimised))
91

92
assert sideeffect()
93
if ASSERT_CALLED == optimised:
94
    raise RuntimeError("Assert called in optimised Python run")
95

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

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

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

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