Commit 2e1565e4 by Ivan Smirnov

Add empty recarray test, check for calloc fail

parent f10c84eb
...@@ -17,3 +17,8 @@ arr = create_rec_simple(3) ...@@ -17,3 +17,8 @@ arr = create_rec_simple(3)
assert arr.dtype == dtype assert arr.dtype == dtype
check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], dtype) check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], dtype)
check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], base_dtype) check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], base_dtype)
arr = create_rec_simple(0)
assert arr.dtype == dtype
check_eq(arr, [], dtype)
check_eq(arr, [], base_dtype)
...@@ -116,6 +116,8 @@ public: ...@@ -116,6 +116,8 @@ public:
auto buf_info = info; auto buf_info = info;
if (!buf_info.ptr) if (!buf_info.ptr)
buf_info.ptr = std::calloc(info.size, info.itemsize); buf_info.ptr = std::calloc(info.size, info.itemsize);
if (!buf_info.ptr)
pybind11_fail("NumPy: failed to allocate memory for buffer");
auto view = py::memoryview(buf_info); auto view = py::memoryview(buf_info);
API& api = lookup_api(); API& api = lookup_api();
......
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