summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-05 00:36:47 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-05 00:36:47 +0000
commitaf49aecff16d6969551eec0072e0713702aac18f (patch)
tree789124cff51e317ee3edecf51080ea6e01af7e44 /test/ruby
parentd43872e7dfb8446aa7bfbb6a21cdd3bc3b3d48f4 (diff)
* test/ruby/test_gc.rb: added. splitter.rb which I made to split
sample/test.rb into test/ruby/test_* kindly removed GC test (the last section in the original test) to reduce things to be worried. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_gc.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/ruby/test_gc.rb b/test/ruby/test_gc.rb
new file mode 100644
index 0000000000..b513e44dc6
--- /dev/null
+++ b/test/ruby/test_gc.rb
@@ -0,0 +1,41 @@
+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
+
+ if $failed > 0
+ printf "test: %d failed %d\n", $ntest, $failed
+ else
+ printf "end of test(test: %d)\n", $ntest
+ end
+ end
+end