summaryrefslogtreecommitdiff
path: root/tests/run/cdef_class_order.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/cdef_class_order.pyx')
-rw-r--r--tests/run/cdef_class_order.pyx24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/run/cdef_class_order.pyx b/tests/run/cdef_class_order.pyx
index 42f0b4248..dad892d5f 100644
--- a/tests/run/cdef_class_order.pyx
+++ b/tests/run/cdef_class_order.pyx
@@ -5,11 +5,33 @@ cdef class B
cdef class A(object):
cdef list dealloc1
+cdef class Y(X): pass
+cdef class X(C): pass
+cdef class C: pass
+
cdef class B(A):
cdef list dealloc2
+cdef class Z(A): pass
+
+
def test():
"""
>>> test()
+ A
+ B
+ C
+ X
+ Y
+ Z
"""
- A(), B()
+ A(), B(), C(), X(), Y(), Z()
+ import sys
+ py_version = sys.version_info[:2]
+ if py_version >= (3, 7): # built-in dict is insertion-ordered
+ global_values = list(globals().values())
+ else:
+ global_values = [A, B, C, X, Y, Z]
+ for value in global_values:
+ if isinstance(value, type):
+ print(value.__name__)