summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatus Valo <matusvalo@users.noreply.github.com>2023-04-30 15:19:32 +0200
committerGitHub <noreply@github.com>2023-04-30 15:19:32 +0200
commit0d34008a1746827519589d2e85bc3f54819d47ca (patch)
tree740d6c6ecb9de2112fc06aea2bcb0f86bccc428e /tests
parent10cf5f6e18dbce625d32407a857cc06dd2cec637 (diff)
downloadcython-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.pyx26
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