summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/monitor/test_monitor.rb12
-rw-r--r--test/ruby/test_file.rb3
-rw-r--r--test/ruby/test_process.rb3
3 files changed, 12 insertions, 6 deletions
diff --git a/test/monitor/test_monitor.rb b/test/monitor/test_monitor.rb
index 8bd15ff55a..313ef23a95 100644
--- a/test/monitor/test_monitor.rb
+++ b/test/monitor/test_monitor.rb
@@ -86,7 +86,7 @@ class TestMonitor < Test::Unit::TestCase
def test_try_enter
queue1 = Queue.new
queue2 = Queue.new
- Thread.start {
+ th = Thread.start {
queue1.deq
@monitor.enter
queue2.enq(nil)
@@ -102,6 +102,7 @@ class TestMonitor < Test::Unit::TestCase
queue1.enq(nil)
queue2.deq
assert_equal(true, @monitor.try_enter)
+ th.join
end
def test_cond
@@ -109,7 +110,7 @@ class TestMonitor < Test::Unit::TestCase
a = "foo"
queue1 = Queue.new
- Thread.start do
+ th = Thread.start do
queue1.deq
@monitor.synchronize do
a = "bar"
@@ -123,13 +124,14 @@ class TestMonitor < Test::Unit::TestCase
assert_equal(true, result1)
assert_equal("bar", a)
end
+ th.join
end
def test_timedwait
cond = @monitor.new_cond
b = "foo"
queue2 = Queue.new
- Thread.start do
+ th = Thread.start do
queue2.deq
@monitor.synchronize do
b = "bar"
@@ -143,10 +145,11 @@ class TestMonitor < Test::Unit::TestCase
assert_equal(true, result2)
assert_equal("bar", b)
end
+ th.join
c = "foo"
queue3 = Queue.new
- Thread.start do
+ th = Thread.start do
queue3.deq
@monitor.synchronize do
c = "bar"
@@ -163,6 +166,7 @@ class TestMonitor < Test::Unit::TestCase
assert_equal(true, result4)
assert_equal("bar", c)
end
+ th.join
# d = "foo"
# cumber_thread = Thread.start {
diff --git a/test/ruby/test_file.rb b/test/ruby/test_file.rb
index 9462ae597b..974752c853 100644
--- a/test/ruby/test_file.rb
+++ b/test/ruby/test_file.rb
@@ -124,7 +124,7 @@ class TestFile < Test::Unit::TestCase
q1 = Queue.new
q2 = Queue.new
- Thread.new do
+ th = Thread.new do
data = ''
64.times do |i|
data << i.to_s
@@ -142,6 +142,7 @@ class TestFile < Test::Unit::TestCase
assert_equal size, f.size
q2.push true
end
+ th.join
end
end
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb
index 75657ab894..ccd5676171 100644
--- a/test/ruby/test_process.rb
+++ b/test/ruby/test_process.rb
@@ -1237,8 +1237,9 @@ class TestProcess < Test::Unit::TestCase
IO.pipe do |r, w|
pid = spawn(RUBY, "foo", out: w)
w.close
- Thread.new { r.read(1); Process.kill(:SIGQUIT, pid) }
+ th = Thread.new { r.read(1); Process.kill(:SIGQUIT, pid) }
Process.wait(pid)
+ th.join
end
t = Time.now
s = $?