From a198bb3929a4562a12b4aa245a297c7d3695149f Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 19 Aug 2014 01:13:24 +0000 Subject: thread.c: check initialized * ext/thread/thread.c (get_array): check instance variables are initialized properly. [ruby-core:63826][Bug #10062] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/thread/test_cv.rb | 6 ++++++ test/thread/test_queue.rb | 12 ++++++++++++ 2 files changed, 18 insertions(+) (limited to 'test/thread') diff --git a/test/thread/test_cv.rb b/test/thread/test_cv.rb index 49fee24249..db6067e71c 100644 --- a/test/thread/test_cv.rb +++ b/test/thread/test_cv.rb @@ -4,6 +4,12 @@ require 'tmpdir' require_relative '../ruby/envutil' class TestConditionVariable < Test::Unit::TestCase + def test_initialized + assert_raise(TypeError) { + ConditionVariable.allocate.wait(nil) + } + end + def test_condvar_signal_and_wait mutex = Mutex.new condvar = ConditionVariable.new diff --git a/test/thread/test_queue.rb b/test/thread/test_queue.rb index b886fcc27a..6a3397734a 100644 --- a/test/thread/test_queue.rb +++ b/test/thread/test_queue.rb @@ -5,6 +5,18 @@ require 'timeout' require_relative '../ruby/envutil' class TestQueue < Test::Unit::TestCase + def test_queue_initialized + assert_raise(TypeError) { + Queue.allocate.push(nil) + } + end + + def test_sized_queue_initialized + assert_raise(TypeError) { + SizedQueue.allocate.push(nil) + } + end + def test_queue grind(5, 1000, 15, Queue) end -- cgit v1.2.3