Skip to content

Commit df17ae4

Browse files
authored
Merge pull request #896 from rhenium/ky/bn-test-fix-ractor-value
test/openssl/test_bn.rb: use Ractor#value
2 parents c48bb75 + f860a26 commit df17ae4

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

test/openssl/test_bn.rb

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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
370378
end

0 commit comments

Comments
 (0)