@@ -9,7 +9,7 @@ def setup
99 skip ( "Ractors are not supported on this Ruby version" ) unless defined? ( ::Ractor )
1010 skip ( "Hiredis is not Ractor safe" ) if RedisClient . default_driver . name == "RedisClient::HiredisConnection"
1111 begin
12- Ractor . new { RedisClient . default_driver . name } . take
12+ ractor_value ( Ractor . new { RedisClient . default_driver . name } )
1313 rescue Ractor ::RemoteError
1414 skip ( "Ractor implementation is too limited (MRI 3.0?)" )
1515 end
@@ -25,7 +25,7 @@ def test_get_and_set_within_ractor
2525 end
2626 ractor . send ( ClientTestHelper . tcp_config . freeze )
2727
28- assert_equal ( "bar" , ractor . take )
28+ assert_equal ( "bar" , ractor_value ( ractor ) )
2929 end
3030
3131 def test_multiple_ractors
@@ -37,7 +37,7 @@ def test_multiple_ractors
3737 end
3838 ractor1 . send ( ClientTestHelper . tcp_config . freeze )
3939
40- ractor1 . take # We do this to ensure that the SET has been processed
40+ ractor_value ( ractor1 ) # We do this to ensure that the SET has been processed
4141
4242 ractor2 = Ractor . new do
4343 config = Ractor . receive
@@ -48,6 +48,16 @@ def test_multiple_ractors
4848 ractor2 . send ( ClientTestHelper . tcp_config . freeze )
4949 ractor2 . send ( "foo" )
5050
51- assert_equal ( "bar" , ractor2 . take )
51+ assert_equal ( "bar" , ractor_value ( ractor2 ) )
52+ end
53+
54+ if defined? ( Ractor ) && Ractor . method_defined? ( :value ) # Ruby 3.5+
55+ def ractor_value ( ractor )
56+ ractor . value
57+ end
58+ else
59+ def ractor_value ( ractor )
60+ ractor . take
61+ end
5262 end
5363end
0 commit comments