mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Run TC_JSONGenerate#test_gc in a separate process.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c1903a9f17
commit
ec0bd633e2
1 changed files with 10 additions and 19 deletions
|
@ -215,26 +215,17 @@ EOT
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_gc
|
def test_gc
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
require_relative '../ruby/envutil.rb'
|
||||||
|
assert_in_out_err(%w[-rjson --disable-gems], <<-EOS, [], [])
|
||||||
bignum_too_long_to_embed_as_string = 1234567890123456789012345
|
bignum_too_long_to_embed_as_string = 1234567890123456789012345
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
|
||||||
expect = bignum_too_long_to_embed_as_string.to_s
|
expect = bignum_too_long_to_embed_as_string.to_s
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
GC.stress = true
|
||||||
GC.start
|
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
|
||||||
stress, GC.stress = GC.stress, true
|
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
|
||||||
|
|
||||||
10.times do |i|
|
10.times do |i|
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
|
||||||
tmp = bignum_too_long_to_embed_as_string.to_json
|
tmp = bignum_too_long_to_embed_as_string.to_json
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
raise "'\#{expect}' is expected, but '\#{tmp}'" unless tmp == expect
|
||||||
assert_equal expect, tmp
|
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
|
||||||
end
|
end
|
||||||
$stdout.puts 'debug: %s:%d:' % [__FILE__, __LINE__]
|
EOS
|
||||||
ensure
|
|
||||||
GC.stress = stress
|
|
||||||
end if GC.respond_to?(:stress=)
|
end if GC.respond_to?(:stress=)
|
||||||
|
|
||||||
if defined?(JSON::Ext::Generator)
|
if defined?(JSON::Ext::Generator)
|
||||||
|
|
Loading…
Reference in a new issue