summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKenta Murata <mrkn@users.noreply.github.com>2020-12-16 13:43:56 +0900
committerGitHub <noreply@github.com>2020-12-16 13:43:56 +0900
commit1bafb3cb47649037cc93fec97503c18a864e3983 (patch)
tree8ba0b9c561ec84a0eff76c816b9f6cf8a038e1a8 /test
parent1e11c12a066036e85177104a9f8f5469063858a7 (diff)
[memory_view] Make MemoryView API Ractor-safe (#3911)
* memory_view.c: make Ractor-safe * test/ruby/test_memory_view.rb: Add test_ractor * memory_view: fix typo * memory_view.c: Use st_update in unregster_exported_object * memory_view: update dependency
Notes
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_memory_view.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/ruby/test_memory_view.rb b/test/ruby/test_memory_view.rb
index 9a6c834bb8..ed2f53c1e3 100644
--- a/test/ruby/test_memory_view.rb
+++ b/test/ruby/test_memory_view.rb
@@ -320,4 +320,22 @@ class TestMemoryView < Test::Unit::TestCase
assert_equal([-1, -2], mv[[1, 0]])
assert_equal([-7, -8], mv[[1, 3]])
end
+
+ def test_ractor
+ assert_in_out_err([], <<-"end;", ["[5, 6]", "[-7, -8]"], [])
+ require "-test-/memory_view"
+ require "rbconfig/sizeof"
+ $VERBOSE = nil
+ r = Ractor.new RbConfig::SIZEOF["short"] do |sizeof_short|
+ buf = [ 1, 2, 3, 4, 5, 6, 7, 8,
+ -1, -2, -3, -4, -5, -6, -7, -8].pack("s*")
+ shape = [2, 4]
+ strides = [4*sizeof_short*2, sizeof_short*2]
+ mv = MemoryViewTestUtils::MultiDimensionalView.new(buf, "ss", shape, strides)
+ p mv[[0, 2]]
+ mv[[1, 3]]
+ end
+ p r.take
+ end;
+ end
end