Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
nexedi
cython
Commits
86b46c1b
Commit
86b46c1b
authored
Nov 03, 2010
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drop tests from pure_py.py test file that do not work in pure mode
parent
c2da6d1a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
110 additions
and
80 deletions
+110
-80
tests/run/pure.pyx
tests/run/pure.pyx
+49
-1
tests/run/pure_py.py
tests/run/pure_py.py
+61
-79
No files found.
tests/run/pure.pyx
View file @
86b46c1b
...
...
@@ -69,7 +69,55 @@ def test_locals(x):
"""
y
=
x
return
y
@
cython
.
test_assert_path_exists
(
"//TryFinallyStatNode"
,
"//TryFinallyStatNode//GILStatNode"
)
@
cython
.
test_fail_if_path_exists
(
"//TryFinallyStatNode//TryFinallyStatNode"
)
def
test_with_nogil
(
nogil
):
"""
>>> raised = []
>>> class nogil(object):
... def __enter__(self):
... pass
... def __exit__(self, exc_class, exc, tb):
... raised.append(exc)
... return exc_class is None
>>> test_with_nogil(nogil())
WORKS
True
>>> raised
[None]
"""
result
=
False
with
nogil
:
print
"WORKS"
with
cython
.
nogil
:
result
=
True
return
result
@
cython
.
test_assert_path_exists
(
"//TryFinallyStatNode"
,
"//TryFinallyStatNode//GILStatNode"
)
@
cython
.
test_fail_if_path_exists
(
"//TryFinallyStatNode//TryFinallyStatNode"
)
def
test_with_nogil_multiple
(
nogil
):
"""
>>> raised = []
>>> class nogil(object):
... def __enter__(self):
... pass
... def __exit__(self, exc_class, exc, tb):
... raised.append(exc)
... return exc_class is None
>>> test_with_nogil_multiple(nogil())
True
>>> raised
[None]
"""
result
=
False
with
nogil
,
cython
.
nogil
:
result
=
True
return
result
MyUnion
=
cython
.
union
(
n
=
cython
.
int
,
x
=
cython
.
double
)
MyStruct
=
cython
.
struct
(
is_integral
=
cython
.
bint
,
data
=
MyUnion
)
...
...
tests/run/pure_py.py
View file @
86b46c1b
...
...
@@ -10,43 +10,41 @@ def test_sizeof():
True
"""
x
=
cython
.
declare
(
cython
.
bint
)
print
sizeof
(
x
)
==
sizeof
(
cython
.
bint
)
print
sizeof
(
cython
.
char
)
<=
sizeof
(
cython
.
short
)
<=
sizeof
(
cython
.
int
)
<=
sizeof
(
cython
.
long
)
<=
sizeof
(
cython
.
longlong
)
print
sizeof
(
cython
.
uint
)
==
sizeof
(
cython
.
int
)
print
sizeof
(
cython
.
p_int
)
==
sizeof
(
cython
.
p_double
)
print
cython
.
sizeof
(
x
)
==
cython
.
sizeof
(
cython
.
bint
)
print
cython
.
sizeof
(
cython
.
char
)
<=
cython
.
sizeof
(
cython
.
short
)
<=
cython
.
sizeof
(
cython
.
int
)
<=
cython
.
sizeof
(
cython
.
long
)
<=
cython
.
sizeof
(
cython
.
longlong
)
print
cython
.
sizeof
(
cython
.
uint
)
==
cython
.
sizeof
(
cython
.
int
)
print
cython
.
sizeof
(
cython
.
p_int
)
==
cython
.
sizeof
(
cython
.
p_double
)
if
cython
.
compiled
:
print
sizeof
(
cython
.
char
)
<
sizeof
(
cython
.
longlong
)
print
cython
.
sizeof
(
cython
.
char
)
<
cython
.
sizeof
(
cython
.
longlong
)
else
:
print
sizeof
(
cython
.
char
)
==
1
print
cython
.
sizeof
(
cython
.
char
)
==
1
def
test_declare
(
n
):
"""
>>> test_declare(100)
(100, 100)
>>> test_declare(100.5)
(100, 100)
>>> test_declare(None)
Traceback (most recent call last):
...
TypeError: an integer is required
"""
x
=
cython
.
declare
(
cython
.
int
)
y
=
cython
.
declare
(
cython
.
int
,
n
)
if
cython
.
compiled
:
cython
.
declare
(
xx
=
cython
.
int
,
yy
=
cython
.
long
)
i
=
sizeof
(
xx
)
ptr
=
cython
.
declare
(
cython
.
p_int
,
cython
.
address
(
y
))
return
y
,
ptr
[
0
]
## CURRENTLY BROKEN - FIXME!!
## def test_declare(n):
## """
## >>> test_declare(100)
## (100, 100)
## >>> test_declare(100.5)
## (100, 100)
## >>> test_declare(None)
## Traceback (most recent call last):
## ...
## TypeError: an integer is required
## """
## x = cython.declare(cython.int)
## y = cython.declare(cython.int, n)
## if cython.compiled:
## cython.declare(xx=cython.int, yy=cython.long)
## i = sizeof(xx)
## ptr = cython.declare(cython.p_int, cython.address(y))
## return y, ptr[0]
@
cython
.
locals
(
x
=
cython
.
double
,
n
=
cython
.
int
)
def
test_cast
(
x
):
"""
>>> test_cast(1.5)
1
>>> test_cast(None)
Traceback (most recent call last):
...
TypeError: a float is required
"""
n
=
cython
.
cast
(
cython
.
int
,
x
)
return
n
...
...
@@ -60,19 +58,18 @@ def test_address(x):
y
=
cython
.
address
(
x
)
return
y
[
0
]
@
cython
.
locals
(
x
=
cython
.
int
)
@
cython
.
locals
(
y
=
cython
.
bint
)
def
test_locals
(
x
):
"""
>>> test_locals(5)
True
"""
y
=
x
return
y
## CURRENTLY BROKEN - FIXME!!
## @cython.locals(x=cython.int)
## @cython.locals(y=cython.bint)
## def test_locals(x):
## """
## >>> test_locals(5)
## True
## """
## y = x
## return y
@
cython
.
test_assert_path_exists
(
"//TryFinallyStatNode"
,
"//TryFinallyStatNode//GILStatNode"
)
@
cython
.
test_fail_if_path_exists
(
"//TryFinallyStatNode//TryFinallyStatNode"
)
def
test_with_nogil
(
nogil
):
"""
>>> raised = []
...
...
@@ -96,42 +93,21 @@ def test_with_nogil(nogil):
result
=
True
return
result
@
cython
.
test_assert_path_exists
(
"//TryFinallyStatNode"
,
"//TryFinallyStatNode//GILStatNode"
)
@
cython
.
test_fail_if_path_exists
(
"//TryFinallyStatNode//TryFinallyStatNode"
)
def
test_with_nogil_multiple
(
nogil
):
"""
>>> raised = []
>>> class nogil(object):
... def __enter__(self):
... pass
... def __exit__(self, exc_class, exc, tb):
... raised.append(exc)
... return exc_class is None
>>> test_with_nogil_multiple(nogil())
True
>>> raised
[None]
"""
result
=
False
with
nogil
,
cython
.
nogil
:
result
=
True
return
result
## CURRENTLY BROKEN - FIXME!!
MyUnion
=
cython
.
union
(
n
=
cython
.
int
,
x
=
cython
.
double
)
MyStruct
=
cython
.
struct
(
is_integral
=
cython
.
bint
,
data
=
MyUnion
)
MyStruct2
=
cython
.
typedef
(
MyStruct
[
2
])
##
MyUnion = cython.union(n=cython.int, x=cython.double)
##
MyStruct = cython.struct(is_integral=cython.bint, data=MyUnion)
##
MyStruct2 = cython.typedef(MyStruct[2])
def
test_struct
(
n
,
x
):
"""
>>> test_struct(389, 1.64493)
(389, 1.64493)
"""
a
=
cython
.
declare
(
MyStruct2
)
a
[
0
]
=
MyStruct
(
True
,
data
=
MyUnion
(
n
=
n
))
a
[
1
]
=
MyStruct
(
is_integral
=
False
,
data
=
{
'x'
:
x
})
return
a
[
0
].
data
.
n
,
a
[
1
].
data
.
x
##
def test_struct(n, x):
##
"""
##
>>> test_struct(389, 1.64493)
##
(389, 1.64493)
##
"""
##
a = cython.declare(MyStruct2)
##
a[0] = MyStruct(True, data=MyUnion(n=n))
##
a[1] = MyStruct(is_integral=False, data={'x': x})
##
return a[0].data.n, a[1].data.x
import
cython
as
cy
from
cython
import
declare
,
cast
,
locals
,
address
,
typedef
,
p_void
,
compiled
...
...
@@ -140,18 +116,24 @@ from cython import declare as my_declare, locals as my_locals, p_void as my_void
@
my_locals
(
a
=
cython
.
p_void
)
def
test_imports
():
"""
>>> test_imports()
>>> test_imports()
# (True, True)
True
"""
a
=
cython
.
NULL
b
=
declare
(
p_void
,
cython
.
NULL
)
c
=
my_declare
(
my_void_star
,
cython
.
NULL
)
d
=
cy
.
declare
(
cy
.
p_void
,
cython
.
NULL
)
return
a
==
d
and
compiled
and
my_compiled
MyStruct3
=
typedef
(
MyStruct
[
3
])
MyStruct4
=
my_typedef
(
MyStruct
[
4
])
MyStruct5
=
cy
.
typedef
(
MyStruct
[
5
])
## CURRENTLY BROKEN - FIXME!!
#return a == d, compiled == my_compiled
return
compiled
==
my_compiled
## CURRENTLY BROKEN - FIXME!!
## MyStruct3 = typedef(MyStruct[3])
## MyStruct4 = my_typedef(MyStruct[4])
## MyStruct5 = cy.typedef(MyStruct[5])
def
test_declare_c_types
(
n
):
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment