summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2011-11-10 08:40:19 +0100
committerFlorian Frank <flori@ping.de>2011-11-10 08:40:19 +0100
commit1239442670908599655dda950a959123bce09485 (patch)
tree118649d775a70f1089c9f0970fb2fa20db5ccc38
parent75a3b423f28088db9c90c338200fbffc2354c9f3 (diff)
parentf1f0090a8b4bf3afd1f8e7d790236691386fd398 (diff)
downloadjson-1239442670908599655dda950a959123bce09485.tar.gz
Merge branch 'configurable-initial-buffer-length' of gate.dyna.ping.de:/git/json into configurable-initial-buffer-length
-rwxr-xr-xtests/test_json_generate.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb
index 58deb3b..29ea7ce 100755
--- a/tests/test_json_generate.rb
+++ b/tests/test_json_generate.rb
@@ -224,4 +224,24 @@ EOT
ensure
GC.stress = stress
end if GC.respond_to?(:stress=)
+
+ def test_broken_bignum # [ruby-core:38867]
+ pid = fork do
+ Bignum.class_eval do
+ def to_s
+ end
+ end
+ begin
+ JSON::Ext::Generator::State.new.generate(1<<64)
+ exit 1
+ rescue TypeError
+ exit 0
+ end
+ end
+ _, status = Process.waitpid2(pid)
+ assert status.success?
+ rescue NotImplementedError
+ # forking to avoid modifying core class of a parent process and
+ # introducing race conditions of tests are run in parallel
+ end if defined?(JSON::Ext)
end