1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Add a test

and rename from b.rb

[ruby-core:95055] [Bug #16177]
This commit is contained in:
Kazuhiro NISHIYAMA 2019-11-19 17:34:43 +09:00
parent 0b8c73aa65
commit 822d7ae316
No known key found for this signature in database
GPG key ID: 262ED8DBB4222F7A

View file

@ -323,7 +323,7 @@ p Foo::Bar
def test_autoload_same_file
Dir.mktmpdir('autoload') do |tmpdir|
File.write("#{tmpdir}/b.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
File.write("#{tmpdir}/bug14742.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
begin;
module Foo; end
module Bar; end
@ -331,8 +331,8 @@ p Foo::Bar
3.times do # timing-dependent, needs a few times to hit [Bug #14742]
assert_separately(%W[-I #{tmpdir}], "#{<<-'begin;'}\n#{<<-'end;'}")
begin;
autoload :Foo, 'b'
autoload :Bar, 'b'
autoload :Foo, 'bug14742'
autoload :Bar, 'bug14742'
t1 = Thread.new do Foo end
t2 = Thread.new do Bar end
t1.join
@ -345,6 +345,26 @@ p Foo::Bar
end
end
def test_autoload_same_file_with_raise
Dir.mktmpdir('autoload') do |tmpdir|
File.write("#{tmpdir}/bug16177.rb", "#{<<~'begin;'}\n#{<<~'end;'}")
begin;
raise '[ruby-core:95055] [Bug #16177]'
end;
assert_raise(RuntimeError, '[ruby-core:95055] [Bug #16177]') do
assert_separately(%W[-I #{tmpdir}], "#{<<-'begin;'}\n#{<<-'end;'}")
begin;
autoload :Foo, 'bug16177'
autoload :Bar, 'bug16177'
t1 = Thread.new do Foo end
t2 = Thread.new do Bar end
t1.join
t2.join
end;
end
end
end
def test_no_leak
assert_no_memory_leak([], '', <<~'end;', 'many autoloads', timeout: 60)
200000.times do |i|