ruby--ruby/test/ruby/test_gc.rb

36 lines
530 B
Ruby
Raw Normal View History

require 'test/unit'
$KCODE = 'none'
class TestGc < Test::Unit::TestCase
class S
def initialize(a)
@a = a
end
end
def test_gc
begin
1.upto(10000) {
tmp = [0,1,2,3,4,5,6,7,8,9]
}
tmp = nil
assert true
rescue
assert false
end
l=nil
100000.times {
l = S.new(l)
}
GC.start
assert true # reach here or dumps core
l = []
100000.times {
l.push([l])
}
GC.start
assert true # reach here or dumps core
end
end