diff options
author | Benoit Daloze <eregontp@gmail.com> | 2022-12-20 18:21:43 +0100 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2022-12-20 19:32:23 +0100 |
commit | 0efa36ac06a14a3e2e0aca395fee6530c790bdf1 (patch) | |
tree | ea1b27a60f59fa7ce9e6f3efe5fd9934366c6f15 /test | |
parent | d557f17974384dde4ff2da021a1b38905a39bda2 (diff) | |
download | ruby-0efa36ac06a14a3e2e0aca395fee6530c790bdf1.tar.gz |
Ensure Fiber storage is only accessed from the Fiber it belongs to
Diffstat (limited to 'test')
-rw-r--r-- | test/fiber/test_storage.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/fiber/test_storage.rb b/test/fiber/test_storage.rb index 6e75b71347..3726decbdb 100644 --- a/test/fiber/test_storage.rb +++ b/test/fiber/test_storage.rb @@ -41,6 +41,18 @@ class TestFiberStorage < Test::Unit::TestCase Warning[:experimental] = old end + def test_storage_only_allow_access_from_same_fiber + old, Warning[:experimental] = Warning[:experimental], false + + f = Fiber.new do + Fiber[:a] = 1 + end + assert_raise(ArgumentError) { f.storage } + assert_raise(ArgumentError) { f.storage = {} } + ensure + Warning[:experimental] = old + end + def test_inherited_storage Fiber.new(storage: {foo: :bar}) do f = Fiber.new do |