7
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
8
@cython.test_assert_path_exists('//CClassDefNode',
9
'//CClassDefNode[@scope]',
10
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
11
cdef class ExtTypeNoGC:
13
>>> obj = ExtTypeNoGC()
14
>>> obj = ExtTypeNoGC()
15
>>> obj = ExtTypeNoGC()
16
>>> obj = ExtTypeNoGC()
17
>>> obj = ExtTypeNoGC()
18
>>> obj = ExtTypeNoGC()
22
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
23
@cython.test_assert_path_exists('//CClassDefNode',
24
'//CClassDefNode[@scope]',
25
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
27
cdef class ExtTypeFinalNoGC:
29
>>> obj = ExtTypeFinalNoGC()
30
>>> obj = ExtTypeFinalNoGC()
31
>>> obj = ExtTypeFinalNoGC()
32
>>> obj = ExtTypeFinalNoGC()
33
>>> obj = ExtTypeFinalNoGC()
34
>>> obj = ExtTypeFinalNoGC()
39
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
40
@cython.test_assert_path_exists('//CClassDefNode',
41
'//CClassDefNode[@scope]',
42
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
43
cdef class ExtSubTypeNoGC(ExtTypeNoGC):
45
>>> obj = ExtSubTypeNoGC()
46
>>> obj = ExtSubTypeNoGC()
47
>>> obj = ExtSubTypeNoGC()
48
>>> obj = ExtSubTypeNoGC()
49
>>> obj = ExtSubTypeNoGC()
50
>>> obj = ExtSubTypeNoGC()
54
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
55
@cython.test_assert_path_exists('//CClassDefNode',
56
'//CClassDefNode[@scope]',
57
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
58
cdef class ExtTypePyArgsNoGC:
60
>>> obj = ExtTypePyArgsNoGC()
61
>>> obj = ExtTypePyArgsNoGC()
62
>>> obj = ExtTypePyArgsNoGC()
63
>>> obj = ExtTypePyArgsNoGC()
64
>>> obj = ExtTypePyArgsNoGC()
65
>>> obj = ExtTypePyArgsNoGC()
70
# eventually, this should work, too:
71
# cdef ExtTypeFinalNoGC x
74
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
75
@cython.test_assert_path_exists('//CClassDefNode',
76
'//CClassDefNode[@scope]',
77
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
78
cdef class ExtSubTypePyArgsNoGC(ExtTypePyArgsNoGC):
80
>>> obj = ExtSubTypePyArgsNoGC()
81
>>> obj = ExtSubTypePyArgsNoGC()
82
>>> obj = ExtSubTypePyArgsNoGC()
83
>>> obj = ExtSubTypePyArgsNoGC()
84
>>> obj = ExtSubTypePyArgsNoGC()
85
>>> obj = ExtSubTypePyArgsNoGC()
89
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
90
@cython.test_assert_path_exists('//CClassDefNode',
91
'//CClassDefNode[@scope]',
92
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
93
cdef class ExtTypePyArgsWithGC:
95
>>> obj = ExtTypePyArgsWithGC()
96
>>> obj = ExtTypePyArgsWithGC()
97
>>> obj = ExtTypePyArgsWithGC()
98
>>> obj = ExtTypePyArgsWithGC()
99
>>> obj = ExtTypePyArgsWithGC()
100
>>> obj = ExtTypePyArgsWithGC()
101
>>> obj.create_cycle()
108
def create_cycle(self):
112
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
113
@cython.test_assert_path_exists('//CClassDefNode',
114
'//CClassDefNode[@scope]',
115
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
116
cdef class ExtSubTypePyArgsWithGC(ExtTypePyArgsWithGC):
118
>>> obj = ExtSubTypePyArgsWithGC()
119
>>> obj = ExtSubTypePyArgsWithGC()
120
>>> obj = ExtSubTypePyArgsWithGC()
121
>>> obj = ExtSubTypePyArgsWithGC()
122
>>> obj = ExtSubTypePyArgsWithGC()
123
>>> obj = ExtSubTypePyArgsWithGC()
124
>>> obj.create_cycle()
128
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
129
@cython.test_assert_path_exists('//CClassDefNode',
130
'//CClassDefNode[@scope]',
131
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
132
cdef class ExtSubTypePlusPyArgsWithGC(ExtSubTypePyArgsWithGC):
134
>>> obj = ExtSubTypePlusPyArgsWithGC()
135
>>> obj = ExtSubTypePlusPyArgsWithGC()
136
>>> obj = ExtSubTypePlusPyArgsWithGC()
137
>>> obj = ExtSubTypePlusPyArgsWithGC()
138
>>> obj = ExtSubTypePlusPyArgsWithGC()
139
>>> obj = ExtSubTypePlusPyArgsWithGC()
140
>>> obj.create_cycle()
146
@cython.test_fail_if_path_exists('//CClassDefNode[@scope.has_cyclic_pyobject_attrs = False]')
147
@cython.test_assert_path_exists('//CClassDefNode',
148
'//CClassDefNode[@scope]',
149
'//CClassDefNode[@scope.has_cyclic_pyobject_attrs = True]')
150
cdef class ExtSubTypePlusGCPyArgsWithGC(ExtSubTypePlusPyArgsWithGC):
152
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
153
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
154
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
155
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
156
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
157
>>> obj = ExtSubTypePlusGCPyArgsWithGC()
158
>>> obj.create_cycle()