1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/core/random/default_spec.rb
Koichi Sasada 2db2fb9f6c per-ractor Random::DEFAULT
Random generators are not Ractor-safe, so we need to prepare
per-ractor default random genearators. This patch set
`Random::DEFAULT = Randm` (not a Random instance, but the Random
class) and singleton methods like `Random.rand()` use a per-ractor
random generator.

[Feature #17322]
2020-11-27 17:03:30 +09:00

26 lines
656 B
Ruby

require_relative '../../spec_helper'
describe "Random::DEFAULT" do
it "returns a random number generator" do
Random::DEFAULT.should respond_to(:rand)
end
ruby_version_is ''...'3.0' do
it "returns a Random instance" do
Random::DEFAULT.should be_an_instance_of(Random)
end
end
ruby_version_is '3.0' do
it "returns a Random instance" do
Random::DEFAULT.should be_an_instance_of(Class)
end
end
it "changes seed on reboot" do
seed1 = ruby_exe('p Random::DEFAULT.seed', options: '--disable-gems')
seed2 = ruby_exe('p Random::DEFAULT.seed', options: '--disable-gems')
seed1.should != seed2
end
end