ruby-changes:21147
From: seki <ko1@a...>
Date: Tue, 6 Sep 2011 05:40:05 +0900 (JST)
Subject: [ruby-changes:21147] seki:r33196 (trunk): * test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures
seki 2011-09-06 05:39:54 +0900 (Tue, 06 Sep 2011) New Revision: 33196 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33196 Log: * test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures [ruby-dev:44430] [Ruby 1.9 - Bug #372] Modified files: trunk/ChangeLog trunk/test/rinda/test_rinda.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 33195) +++ ChangeLog (revision 33196) @@ -1,3 +1,8 @@ +Tue Sep 6 05:37:11 2011 Masatoshi SEKI <m_seki@m...> + + * test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures + [ruby-dev:44430] [Ruby 1.9 - Bug #372] + Mon Sep 5 20:59:30 2011 CHIKANAGA Tomoyuki <nagachika00@g...> * insns.def: change encoding pragma for emacs (shift_jis to utf-8). Index: test/rinda/test_rinda.rb =================================================================== --- test/rinda/test_rinda.rb (revision 33195) +++ test/rinda/test_rinda.rb (revision 33196) @@ -308,70 +308,35 @@ def test_core_03_notify notify1 = @ts.notify(nil, [:req, Integer]) - notify2 = @ts.notify(nil, {"message"=>String, "name"=>String}, 8) + notify2 = @ts.notify(nil, {"message"=>String, "name"=>String}) - @ts.write({"message"=>"first", "name"=>"3"}, 3) - @ts.write({"message"=>"second", "name"=>"1"}, 1) - @ts.write({"message"=>"third", "name"=>"0"}) - @ts.take({"message"=>"third", "name"=>"0"}) - - listener = Thread.new do - lv = 0 - n = 0 - notify1.each do |ev, tuple| - n += 1 - if ev == 'write' - lv = lv + 1 - elsif ev == 'take' - lv = lv - 1 - else - break - end - assert(lv >= 0) - assert_equal([:req, 2], tuple) - end - [lv, n] + 5.times do |n| + @ts.write([:req, 2]) end - taker = Thread.new(5) do |count| - s = 0 - count.times do - tuple = @ts.take([:req, Integer]) - assert_equal(2, tuple[1]) - s += tuple[1] - end - @ts.write([:ans, s]) - s + 5.times do + tuple = @ts.take([:req, Integer]) + assert_equal(2, tuple[1]) end - 5.times do |n| - @ts.write([:req, 2]) + 5.times do + assert_equal(['write', [:req, 2]], notify1.pop) end + 5.times do + assert_equal(['take', [:req, 2]], notify1.pop) + end + @ts.write({"message"=>"first", "name"=>"3"}) + @ts.write({"message"=>"second", "name"=>"1"}) + @ts.write({"message"=>"third", "name"=>"0"}) + @ts.take({"message"=>"third", "name"=>"0"}) @ts.take({"message"=>"first", "name"=>"3"}) - assert_equal(10, thread_join(taker)) - assert_equal([:ans, 10], @ts.take([:ans, 10])) - assert_equal([], @ts.read_all([nil, nil])) - - notify1.cancel - sleep(8) - - assert_equal([0, 11], thread_join(listener)) - - ary = [] - ary.push(["write", {"message"=>"first", "name"=>"3"}]) - ary.push(["write", {"message"=>"second", "name"=>"1"}]) - ary.push(["write", {"message"=>"third", "name"=>"0"}]) - ary.push(["take", {"message"=>"third", "name"=>"0"}]) - ary.push(["take", {"message"=>"first", "name"=>"3"}]) - ary.push(["delete", {"message"=>"second", "name"=>"1"}]) - ary.push(["close"]) - - notify2.each do |ev| - assert_equal(ary.shift, ev) - end - assert_equal([], ary) + assert_equal(["write", {"message"=>"first", "name"=>"3"}], notify2.pop) + assert_equal(["write", {"message"=>"second", "name"=>"1"}], notify2.pop) + assert_equal(["write", {"message"=>"third", "name"=>"0"}], notify2.pop) + assert_equal(["take", {"message"=>"third", "name"=>"0"}], notify2.pop) + assert_equal(["take", {"message"=>"first", "name"=>"3"}], notify2.pop) end def test_cancel_01 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/