mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
36 lines
530 B
Ruby
36 lines
530 B
Ruby
|
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
|