Commit c48d7bb7 authored by Stefan Behnel's avatar Stefan Behnel

Enable some tests that were unintentionally not being executed because...

Enable some tests that were unintentionally not being executed because docstrings in cdef functions are not visible to Python.
parent eae37760
...@@ -209,6 +209,10 @@ def test_declare_c_types(n): ...@@ -209,6 +209,10 @@ def test_declare_c_types(n):
@cython.ccall @cython.ccall
@cython.returns(cython.double) @cython.returns(cython.double)
def c_call(x): def c_call(x):
return x
def call_ccall(x):
""" """
Test that a declared return type is honoured when compiled. Test that a declared return type is honoured when compiled.
...@@ -224,10 +228,6 @@ def c_call(x): ...@@ -224,10 +228,6 @@ def c_call(x):
>>> (is_compiled and 1) or result >>> (is_compiled and 1) or result
1 1
""" """
return x
def call_ccall(x):
ret = c_call(x) ret = c_call(x)
return ret, cython.typeof(ret) return ret, cython.typeof(ret)
...@@ -236,9 +236,13 @@ def call_ccall(x): ...@@ -236,9 +236,13 @@ def call_ccall(x):
@cython.inline @cython.inline
@cython.returns(cython.double) @cython.returns(cython.double)
def cdef_inline(x): def cdef_inline(x):
return x + 1
def call_cdef_inline(x):
""" """
>>> result, return_type = call_cdef_inline(1) >>> result, return_type = call_cdef_inline(1)
>>> (not is_compiled and 'float') or type(return_type).__name__ >>> (not is_compiled and 'float') or type(result).__name__
'float' 'float'
>>> (not is_compiled and 'double') or return_type >>> (not is_compiled and 'double') or return_type
'double' 'double'
...@@ -247,10 +251,6 @@ def cdef_inline(x): ...@@ -247,10 +251,6 @@ def cdef_inline(x):
>>> result == 2.0 or result >>> result == 2.0 or result
True True
""" """
return x + 1
def call_cdef_inline(x):
ret = cdef_inline(x) ret = cdef_inline(x)
return ret, cython.typeof(ret) return ret, cython.typeof(ret)
...@@ -293,6 +293,12 @@ def ccall_except(x): ...@@ -293,6 +293,12 @@ def ccall_except(x):
@cython.returns(cython.long) @cython.returns(cython.long)
@cython.exceptval(-1) @cython.exceptval(-1)
def cdef_except(x): def cdef_except(x):
if x == 0:
raise ValueError
return x+1
def call_cdef_except(x):
""" """
>>> call_cdef_except(41) >>> call_cdef_except(41)
42 42
...@@ -300,12 +306,6 @@ def cdef_except(x): ...@@ -300,12 +306,6 @@ def cdef_except(x):
Traceback (most recent call last): Traceback (most recent call last):
ValueError ValueError
""" """
if x == 0:
raise ValueError
return x+1
def call_cdef_except(x):
return cdef_except(x) return cdef_except(x)
......
...@@ -42,6 +42,10 @@ def test_struct(n: cython.int, x: cython.double) -> MyStruct2: ...@@ -42,6 +42,10 @@ def test_struct(n: cython.int, x: cython.double) -> MyStruct2:
@cython.ccall @cython.ccall
def c_call(x) -> cython.double: def c_call(x) -> cython.double:
return x
def call_ccall(x):
""" """
Test that a declared return type is honoured when compiled. Test that a declared return type is honoured when compiled.
...@@ -57,10 +61,6 @@ def c_call(x) -> cython.double: ...@@ -57,10 +61,6 @@ def c_call(x) -> cython.double:
>>> (is_compiled and 1) or result >>> (is_compiled and 1) or result
1 1
""" """
return x
def call_ccall(x):
ret = c_call(x) ret = c_call(x)
return ret, cython.typeof(ret) return ret, cython.typeof(ret)
...@@ -68,9 +68,13 @@ def call_ccall(x): ...@@ -68,9 +68,13 @@ def call_ccall(x):
@cython.cfunc @cython.cfunc
@cython.inline @cython.inline
def cdef_inline(x) -> cython.double: def cdef_inline(x) -> cython.double:
return x + 1
def call_cdef_inline(x):
""" """
>>> result, return_type = call_cdef_inline(1) >>> result, return_type = call_cdef_inline(1)
>>> (not is_compiled and 'float') or type(return_type).__name__ >>> (not is_compiled and 'float') or type(result).__name__
'float' 'float'
>>> (not is_compiled and 'double') or return_type >>> (not is_compiled and 'double') or return_type
'double' 'double'
...@@ -79,9 +83,5 @@ def cdef_inline(x) -> cython.double: ...@@ -79,9 +83,5 @@ def cdef_inline(x) -> cython.double:
>>> result == 2.0 or result >>> result == 2.0 or result
True True
""" """
return x + 1
def call_cdef_inline(x):
ret = cdef_inline(x) ret = cdef_inline(x)
return ret, cython.typeof(ret) return ret, cython.typeof(ret)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment