test case for ticket #601
authorStefan Behnel <scoder@users.berlios.de>
Sun, 28 Nov 2010 15:55:56 +0000 (16:55 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Sun, 28 Nov 2010 15:55:56 +0000 (16:55 +0100)
tests/bugs.txt
tests/run/for_from_pyvar_loop_T601.pyx [new file with mode: 0644]
tests/run/for_from_pyvar_loop_T601_extern_def.h [new file with mode: 0644]

index 0f6ecba0058b39c571ddd4b5f460cc50ffe5a367..8c69c30d9e229b88eeeeb8ce5312a366933ad548 100644 (file)
@@ -17,6 +17,7 @@ closure_inside_cdef_T554
 ipow_crash_T562
 pure_mode_cmethod_inheritance_T583
 genexpr_iterable_lookup_T600
+for_from_pyvar_loop_T601
 
 # CPython regression tests that don't current work:
 pyregr.test_threadsignals
diff --git a/tests/run/for_from_pyvar_loop_T601.pyx b/tests/run/for_from_pyvar_loop_T601.pyx
new file mode 100644 (file)
index 0000000..11b7e19
--- /dev/null
@@ -0,0 +1,54 @@
+
+cdef unsigned long size2():
+    return 3
+
+def for_from_plain_ulong():
+    """
+    >>> for_from_plain_ulong()
+    0
+    1
+    2
+    """
+    cdef object j = 0
+    for j from 0 <= j < size2():
+        print j
+
+def for_in_plain_ulong():
+    """
+    >>> for_in_plain_ulong()
+    0
+    1
+    2
+    """
+    cdef object j = 0
+    for j in range(size2()):
+        print j
+
+
+cdef extern from "for_from_pyvar_loop_T601_extern_def.h":
+    ctypedef unsigned long Ulong
+
+cdef Ulong size():
+    return 3
+
+def for_from_ctypedef_ulong():
+    """
+    >>> for_from_ctypedef_ulong()
+    0
+    1
+    2
+    """
+    cdef object j = 0
+    for j from 0 <= j < size():
+        print j
+
+def for_in_ctypedef_ulong():
+    """
+    >>> for_in_ctypedef_ulong()
+    0
+    1
+    2
+    """
+    cdef object j = 0
+    for j in range(size()):
+        print j
diff --git a/tests/run/for_from_pyvar_loop_T601_extern_def.h b/tests/run/for_from_pyvar_loop_T601_extern_def.h
new file mode 100644 (file)
index 0000000..b6330a9
--- /dev/null
@@ -0,0 +1,2 @@
+
+typedef unsigned long Ulong;