diff options
author | Matus Valo <matusvalo@users.noreply.github.com> | 2023-04-30 15:19:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-30 15:19:32 +0200 |
commit | 0d34008a1746827519589d2e85bc3f54819d47ca (patch) | |
tree | 740d6c6ecb9de2112fc06aea2bcb0f86bccc428e /tests | |
parent | 10cf5f6e18dbce625d32407a857cc06dd2cec637 (diff) | |
download | cython-0d34008a1746827519589d2e85bc3f54819d47ca.tar.gz |
Catch ValueError when calling memoryview() to avoid leaking implementation details (GH-5406)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/memoryview/numpy_memoryview.pyx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/memoryview/numpy_memoryview.pyx b/tests/memoryview/numpy_memoryview.pyx index 2af6bfea4..7f98352a6 100644 --- a/tests/memoryview/numpy_memoryview.pyx +++ b/tests/memoryview/numpy_memoryview.pyx @@ -734,3 +734,29 @@ def same_type_after_arrays_composite(): cdef SameTypeAfterArraysStructComposite element arr = np.ones(2, np.asarray(<SameTypeAfterArraysStructComposite[:1]>&element).dtype) cdef SameTypeAfterArraysStructComposite[:] memview = arr + +ctypedef fused np_numeric_t: + np.float64_t + +def test_invalid_buffer_fused_memoryview(np_numeric_t[:] A): + """ + >>> import numpy as np + >>> zz = np.zeros([5], dtype='M') + >>> test_invalid_buffer_fused_memoryview(zz) + Traceback (most recent call last): + ... + TypeError: No matching signature found + """ + return + +ctypedef fused np_numeric_object_t: + np.float64_t[:] + object + +def test_valid_buffer_fused_memoryview(np_numeric_object_t A): + """ + >>> import numpy as np + >>> zz = np.zeros([5], dtype='M') + >>> test_valid_buffer_fused_memoryview(zz) + """ + return |