mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
test/ruby/test_env.rb: test memory leaks only on Windows
* test/ruby/test_env.rb (test_memory_leak_{aset,select,shift}): test for Windows platform specific code. (test_memory_crash_select): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
83edc945fa
commit
163c299420
1 changed files with 37 additions and 35 deletions
|
@ -509,43 +509,45 @@ class TestEnv < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_memory_leak_aset
|
if RUBY_PLATFORM =~ /bccwin|mswin|mingw/
|
||||||
bug9977 = '[ruby-dev:48323] [Bug #9977]'
|
def test_memory_leak_aset
|
||||||
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9977, limit: 2.0)
|
bug9977 = '[ruby-dev:48323] [Bug #9977]'
|
||||||
ENV.clear
|
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9977, limit: 2.0)
|
||||||
k = 'FOO'
|
ENV.clear
|
||||||
v = (ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
k = 'FOO'
|
||||||
doit = proc {ENV[k] = v}
|
v = (ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
||||||
500.times(&doit)
|
doit = proc {ENV[k] = v}
|
||||||
end;
|
500.times(&doit)
|
||||||
end
|
end;
|
||||||
|
end
|
||||||
|
|
||||||
def test_memory_leak_select
|
def test_memory_leak_select
|
||||||
bug9978 = '[ruby-dev:48325] [Bug #9978]'
|
bug9978 = '[ruby-dev:48325] [Bug #9978]'
|
||||||
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9978, limit: 2.0)
|
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9978, limit: 2.0)
|
||||||
ENV.clear
|
ENV.clear
|
||||||
k = 'FOO'
|
k = 'FOO'
|
||||||
(ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
(ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
||||||
doit = proc {ENV.select {break}}
|
doit = proc {ENV.select {break}}
|
||||||
500.times(&doit)
|
500.times(&doit)
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_memory_crash_select
|
def test_memory_crash_select
|
||||||
assert_normal_exit(<<-'end;')
|
assert_normal_exit(<<-'end;')
|
||||||
1000.times {ENV["FOO#{i}"] = 'bar'}
|
1000.times {ENV["FOO#{i}"] = 'bar'}
|
||||||
ENV.select {ENV.clear}
|
ENV.select {ENV.clear}
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_memory_leak_shift
|
def test_memory_leak_shift
|
||||||
bug9983 = '[ruby-dev:48332] [Bug #9983]'
|
bug9983 = '[ruby-dev:48332] [Bug #9983]'
|
||||||
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9983, limit: 2.0)
|
assert_no_memory_leak([], <<-'end;', "5_000.times(&doit)", bug9983, limit: 2.0)
|
||||||
ENV.clear
|
ENV.clear
|
||||||
k = 'FOO'
|
k = 'FOO'
|
||||||
v = (ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
v = (ENV[k] = 'bar'*5000 rescue 'bar'*1500)
|
||||||
doit = proc {ENV[k] = v; ENV.shift}
|
doit = proc {ENV[k] = v; ENV.shift}
|
||||||
500.times(&doit)
|
500.times(&doit)
|
||||||
end;
|
end;
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue