From 10e26cfa76468dea6f828dbe8031b5ffcff543cb Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Thu, 17 Jun 2021 13:36:18 +0900 Subject: [ruby/fiddle] Add MemoryView.export and MemoryView#release (https://github.com/ruby/fiddle/pull/80) fix https://github.com/ruby/fiddle/pull/79 Users can release memory views explicitly before process exit. Reported by xtkoba. Thanks!!! https://github.com/ruby/fiddle/commit/1de64b7e76 --- test/fiddle/test_memory_view.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test') diff --git a/test/fiddle/test_memory_view.rb b/test/fiddle/test_memory_view.rb index 6777a043ce..8130823fd6 100644 --- a/test/fiddle/test_memory_view.rb +++ b/test/fiddle/test_memory_view.rb @@ -114,6 +114,22 @@ module Fiddle assert_equal([-7, -8], mview[1, 3]) end + def test_export + str = "hello world" + mview_str = MemoryView.export(Pointer[str]) do |mview| + mview.to_s + end + assert_equal(str, mview_str) + end + + def test_release + ptr = Pointer["hello world"] + mview = MemoryView.new(ptr) + assert_same(ptr, mview.obj) + mview.release + assert_nil(mview.obj) + end + def test_to_s # U+3042 HIRAGANA LETTER A data = "\u{3042}" -- cgit v1.2.3