diff options
Diffstat (limited to 'test/rinda/test_rinda.rb')
-rw-r--r-- | test/rinda/test_rinda.rb | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/test/rinda/test_rinda.rb b/test/rinda/test_rinda.rb index 553d3078fe..8ec7f0bc0a 100644 --- a/test/rinda/test_rinda.rb +++ b/test/rinda/test_rinda.rb @@ -312,8 +312,8 @@ module TupleSpaceTestModule def test_core_03_notify notify1 = @ts.notify(nil, [:req, Integer]) - notify2 = @ts.notify(nil, [:ans, Integer], 5) - notify3 = @ts.notify(nil, {"message"=>String, "name"=>String}, 5) + notify2 = @ts.notify(nil, [:ans, Integer], 8) + notify3 = @ts.notify(nil, {"message"=>String, "name"=>String}, 8) @ts.write({"message"=>"first", "name"=>"3"}, 3) @ts.write({"message"=>"second", "name"=>"1"}, 1) @@ -342,19 +342,19 @@ module TupleSpaceTestModule result = nil lv = 0 n = 0 - notify2.each do |ev| + notify2.each do |ev, tuple| n += 1 - if ev[0] == 'write' + if ev == 'write' lv = lv + 1 - elsif ev[0] == 'take' + elsif ev == 'take' lv = lv - 1 - elsif ev[0] == 'close' + elsif ev == 'close' result = [lv, n] else break end assert(lv >= 0) - assert_equal([:ans, 10], ev[1]) + assert_equal([:ans, 10], tuple) end result end @@ -383,14 +383,16 @@ module TupleSpaceTestModule @ts.take({"message"=>"first", "name"=>"3"}) sleep(4) + # notify2 must not expire until this @ts.take. + # sleep(4) might be short enough for the timeout of notify2 (8 secs) tuple = @ts.take([:ans, nil]) assert_equal(10, tuple[1]) assert_equal(10, taker.value) assert_equal([], @ts.read_all([nil, nil])) - + notify1.cancel - sleep(3) # notify2 expired - + sleep(7) # notify2 expired (sleep(4)+sleep(7) > 8) + assert_equal([0, 11], listener1.value) assert_equal([0, 3], listener2.value) |