| 456 | end |
| 457 | |
| 458 | def assert_release(target) |
| 459 | # We should use sizeof(rb_memory_view_t) but it isn't available from Ruby. |
| 460 | # 256 must be larger than sizeof(rb_memory_view_t). |
| 461 | size = 256 |
| 462 | Fiddle::Pointer.malloc(size, Fiddle::RUBY_FREE) do |view| |
| 463 | size.times do |i| |
| 464 | view[i] = 0xAA |
| 465 | end |
| 466 | |
| 467 | assert do |
| 468 | @rb_memory_view_get.call(Fiddle.dlwrap(target), view, 0) |
| 469 | end |
| 470 | |
| 471 | assert do |
| 472 | @rb_memory_view_release.call(view) |
| 473 | end |
| 474 | end |
| 475 | end |
| 476 | |
| 477 | test("Int32Array") do |
| 478 | array = Arrow::Int32Array.new([1, 2, 3, 4, 5]) |