@@ -343,28 +343,36 @@ def test_get_flags_and_set_flags
343343 assert_equal ( 4 , e . get_flags ( OpenSSL ::BN ::CONSTTIME ) )
344344 end
345345
346- if respond_to? ( :ractor )
346+ if defined? ( Ractor ) && respond_to? ( :ractor )
347+ unless Ractor . method_defined? ( :value ) # Ruby 3.4 or earlier
348+ using Module . new {
349+ refine Ractor do
350+ alias value take
351+ end
352+ }
353+ end
354+
347355 ractor
348356 def test_ractor
349- assert_equal ( @e1 , Ractor . new { OpenSSL ::BN . new ( "999" ) } . take )
350- assert_equal ( @e3 , Ractor . new { OpenSSL ::BN . new ( "\a \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF " , 2 ) } . take )
351- assert_equal ( "999" , Ractor . new ( @e1 ) { |e1 | e1 . to_s } . take )
352- assert_equal ( "07FFFFFFFFFFFFFFFFFFFFFFFFFF" , Ractor . new ( @e3 ) { |e3 | e3 . to_s ( 16 ) } . take )
353- assert_equal ( 2 **107 -1 , Ractor . new ( @e3 ) { _1 . to_i } . take )
354- assert_equal ( [ 1000 , -999 ] , Ractor . new ( @e2 ) { _1 . coerce ( 1000 ) } . take )
355- assert_equal ( false , Ractor . new { 1 . to_bn . zero? } . take )
356- assert_equal ( true , Ractor . new { 1 . to_bn . one? } . take )
357- assert_equal ( true , Ractor . new ( @e2 ) { _1 . negative? } . take )
358- assert_equal ( "-03E7" , Ractor . new ( @e2 ) { _1 . to_s ( 16 ) } . take )
359- assert_equal ( 2 **107 -1 , Ractor . new ( @e3 ) { _1 . to_i } . take )
360- assert_equal ( [ 1000 , -999 ] , Ractor . new ( @e2 ) { _1 . coerce ( 1000 ) } . take )
361- assert_equal ( true , Ractor . new { 0 . to_bn . zero? } . take )
362- assert_equal ( true , Ractor . new { 1 . to_bn . one? } . take )
363- assert_equal ( false , Ractor . new { 2 . to_bn . odd? } . take )
364- assert_equal ( true , Ractor . new ( @e2 ) { _1 . negative? } . take )
365- assert_include ( 128 ..255 , Ractor . new { OpenSSL ::BN . rand ( 8 ) } . take )
366- assert_include ( 0 ...2 **32 , Ractor . new { OpenSSL ::BN . generate_prime ( 32 ) } . take )
367- assert_equal ( 0 , Ractor . new { OpenSSL ::BN . new ( 999 ) . get_flags ( OpenSSL ::BN ::CONSTTIME ) } . take )
357+ assert_equal ( @e1 , Ractor . new { OpenSSL ::BN . new ( "999" ) } . value )
358+ assert_equal ( @e3 , Ractor . new { OpenSSL ::BN . new ( "\a \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF \xFF " , 2 ) } . value )
359+ assert_equal ( "999" , Ractor . new ( @e1 ) { |e1 | e1 . to_s } . value )
360+ assert_equal ( "07FFFFFFFFFFFFFFFFFFFFFFFFFF" , Ractor . new ( @e3 ) { |e3 | e3 . to_s ( 16 ) } . value )
361+ assert_equal ( 2 **107 -1 , Ractor . new ( @e3 ) { _1 . to_i } . value )
362+ assert_equal ( [ 1000 , -999 ] , Ractor . new ( @e2 ) { _1 . coerce ( 1000 ) } . value )
363+ assert_equal ( false , Ractor . new { 1 . to_bn . zero? } . value )
364+ assert_equal ( true , Ractor . new { 1 . to_bn . one? } . value )
365+ assert_equal ( true , Ractor . new ( @e2 ) { _1 . negative? } . value )
366+ assert_equal ( "-03E7" , Ractor . new ( @e2 ) { _1 . to_s ( 16 ) } . value )
367+ assert_equal ( 2 **107 -1 , Ractor . new ( @e3 ) { _1 . to_i } . value )
368+ assert_equal ( [ 1000 , -999 ] , Ractor . new ( @e2 ) { _1 . coerce ( 1000 ) } . value )
369+ assert_equal ( true , Ractor . new { 0 . to_bn . zero? } . value )
370+ assert_equal ( true , Ractor . new { 1 . to_bn . one? } . value )
371+ assert_equal ( false , Ractor . new { 2 . to_bn . odd? } . value )
372+ assert_equal ( true , Ractor . new ( @e2 ) { _1 . negative? } . value )
373+ assert_include ( 128 ..255 , Ractor . new { OpenSSL ::BN . rand ( 8 ) } . value )
374+ assert_include ( 0 ...2 **32 , Ractor . new { OpenSSL ::BN . generate_prime ( 32 ) } . value )
375+ assert_equal ( 0 , Ractor . new { OpenSSL ::BN . new ( 999 ) . get_flags ( OpenSSL ::BN ::CONSTTIME ) } . value )
368376 end
369377 end
370378end
0 commit comments