Skip to content

Commit 7541a66

Browse files
committed
Add tast cases to OpenSSL::BN using ractor
OpenSSL::BN has been make ractor-safed in 9e7cf9e , but there was no test. And to use 'ractor' annotation, update test-unit to v3.4.6 or higher.
1 parent 4beb383 commit 7541a66

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ gemspec
44

55
gem "rake"
66
gem "rake-compiler"
7-
gem "test-unit", "~> 3.0", ">= 3.4.3"
7+
gem "test-unit", "~> 3.0", ">= 3.4.6"
88
gem "rdoc"

test/openssl/test_bn.rb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,31 @@ def test_get_flags_and_set_flags
334334
e.set_flags(0)
335335
assert_equal(4, e.get_flags(OpenSSL::BN::CONSTTIME))
336336
end
337+
338+
if respond_to?(:ractor)
339+
ractor
340+
def test_ractor
341+
assert_equal(@e1, Ractor.new { OpenSSL::BN.new("999") }.take)
342+
assert_equal(@e3, Ractor.new { OpenSSL::BN.new("\a\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 2) }.take)
343+
assert_equal("999", Ractor.new(@e1) { |e1| e1.to_s }.take)
344+
assert_equal("07FFFFFFFFFFFFFFFFFFFFFFFFFF", Ractor.new(@e3) { |e3| e3.to_s(16) }.take)
345+
assert_equal(2**107-1, Ractor.new(@e3) { _1.to_i }.take)
346+
assert_equal([1000, -999], Ractor.new(@e2) { _1.coerce(1000) }.take)
347+
assert_equal(false, Ractor.new { 1.to_bn.zero? }.take)
348+
assert_equal(true, Ractor.new { 1.to_bn.one? }.take)
349+
assert_equal(true, Ractor.new(@e2) { _1.negative? }.take)
350+
assert_equal("-03E7", Ractor.new(@e2) { _1.to_s(16) }.take)
351+
assert_equal(2**107-1, Ractor.new(@e3) { _1.to_i }.take)
352+
assert_equal([1000, -999], Ractor.new(@e2) { _1.coerce(1000) }.take)
353+
assert_equal(true, Ractor.new { 0.to_bn.zero? }.take)
354+
assert_equal(true, Ractor.new { 1.to_bn.one? }.take )
355+
assert_equal(false,Ractor.new { 2.to_bn.odd? }.take)
356+
assert_equal(true, Ractor.new(@e2) { _1.negative? }.take)
357+
assert_include(128..255, Ractor.new { OpenSSL::BN.rand(8)}.take)
358+
assert_include(0...2**32, Ractor.new { OpenSSL::BN.generate_prime(32) }.take)
359+
assert_equal(0, Ractor.new { OpenSSL::BN.new(999).get_flags(OpenSSL::BN::CONSTTIME) }.take)
360+
end
361+
end
337362
end
338363

339364
end

0 commit comments

Comments
 (0)