summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-11 10:06:58 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-11 10:06:58 +0000
commitc030326a09e5b46f5d0223fb8506723a055953e3 (patch)
tree56396e3914110915bcd4899fae4de2b7bf78e4b2
parent65d1a419d9b11cf386b92ad0394d6e8ddf9cba70 (diff)
* test/ruby/test_thread.rb: kill and join temporal threads that are
created in each test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_thread.rb16
2 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 07aeb1171d..925504cb60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun May 11 19:04:06 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * test/ruby/test_thread.rb: kill and join temporal threads that are
+ created in each test.
+
Sun May 11 17:58:45 2008 Tanaka Akira <akr@fsij.org>
* test/ruby/test_process.rb (TestProcess#with_stdin): defined.
diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb
index bdb9ec24f5..9abe39b104 100644
--- a/test/ruby/test_thread.rb
+++ b/test/ruby/test_thread.rb
@@ -8,13 +8,29 @@ class TestThread < Test::Unit::TestCase
end
class Thread < ::Thread
+ Threads = []
def self.new(*)
th = super
th.abort_on_exception = true
+ Threads << th
th
end
end
+ def setup
+ Thread::Threads.clear
+ end
+
+ def teardown
+ Thread::Threads.each do |t|
+ t.kill if t.alive?
+ begin
+ t.join
+ rescue Exception
+ end
+ end
+ end
+
def test_mutex_synchronize
m = Mutex.new
r = 0