Forum: Ruby-dev test/rinda/test_rinda / test_core_03_notify

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
14241518f54227e47a3bc49cf0bdb10c?d=identicon&s=25 TAKANO Mitsuhiro (Guest)
on 2008-10-21 10:08
(Received via mailing list)
こんにちは
高野です。

RindaのテストがFailしているので少し状況を見てみました。

----
Loaded suite test/rinda/test_rinda
Started
........F............F...
Finished in 1.184625 seconds.

1) Failure:
test_core_03_notify(Rinda::TupleSpaceProxyTest)
[test/rinda/test_rinda.rb:363]:
<[:ans, 10]> expected but was
<nil>.

2) Failure:
test_core_03_notify(Rinda::TupleSpaceTest)
[test/rinda/test_rinda.rb:363]:
<[:ans, 10]> expected but was
<nil>.

25 tests, 292 assertions, 2 failures, 0 errors, 0 skips
----

これに添付のようなパッチを適用して、printfデバッグしました。
該当の出力部分だけ抜き出してみます(p [ev, 
tuple]のところ)。

----
["write", [:ans, 10]]
["take", [:ans, 10]]
["close", nil]
["write", [:ans, 10]]
["take", [:ans, 10]]
["close", nil]
----

write => take => close が二回繰り返されているので
lv の値は +1 -1 +1 -1 で 0 が期待されます。

ここまではよいのですが、何度繰り返しても
["close", nil]
を最後に終わっているので、tupleは常にnilとなります。
そのため、[:ans, 10]と一致することはありません。


また、n の値(繰り返した回数)を比較しているところ
assert_equal([0, 3], thread_join(listener2))
もあるのですが、
notify2 = @ts.notify(nil, [:ans, Integer], 5)
ほどではタイムアウトしてしまうことがあり、 n 
の値が一致(3にならない)し
ないことがあります。
notify2 = @ts.notify(nil, [:ans, Integer], 10)
くらいが適当な値なのかな、と思いました。


このテストの意味について分かっていないので、何をテストしようとしていて、
どういう挙動が正しいのかがわかりませんでした。とりあえず、情報を共有した
いと思い、メールを送ります。

すみません・・・
Bdcb9af0b168cf425bac2d3772164bee?d=identicon&s=25 Masatoshi SEKI (Guest)
on 2008-10-21 11:07
(Received via mailing list)
$B31$H$$$$$^$9!#(B

On 2008/10/21, at 17:06, TAKANO Mitsuhiro wrote:

> $B$3$s$K$A$O(B
> $B9bLn$G$9!#(B
>
> Rinda$B$N%F%9%H$,(BFail$B$7$F$$$k$N$G>/$7>u67$r8+$F$_$^$7$?!#(B

$B$"$j$,$H$&$4$6$$$^$9!#(B
$B>u67$rG'<1$7$^$7$?!#(B
$B$3$l$+$iD4$Y$^$9$M!#(B

# "close"$B$N%1!<%9$G(Bbreak$B$7$?$+$C$?$O$:$J$N$G!"(B
# else$B$,ITMW$J5$$,$9$k!E(B
Bdcb9af0b168cf425bac2d3772164bee?d=identicon&s=25 Masatoshi SEKI (Guest)
on 2008-10-21 11:39
(Received via mailing list)
$B31$H$$$$$^$9!#(B

$B$?$S$?$S$9$_$^$;$s!#(B

On 2008/10/21, at 17:06, TAKANO Mitsuhiro wrote:

> $B$3$s$K$A$O(B
> $B9bLn$G$9!#(B
>
> Rinda$B$N%F%9%H$,(BFail$B$7$F$$$k$N$G>/$7>u67$r8+$F$_$^$7$?!#(B

$B$3$N%Q%C%A$G$I$&$G$7$g$&$+!)(B

Index: test_rinda.rb
===================================================================
--- test_rinda.rb  (revision 19868)
+++ test_rinda.rb  (working copy)
@@ -355,7 +355,6 @@
      lv = lv - 1
    elsif ev[0] == 'close'
      result = [lv, n]
-  else
      break
    end
    assert(lv >= 0)
14241518f54227e47a3bc49cf0bdb10c?d=identicon&s=25 TAKANO Mitsuhiro (Guest)
on 2008-10-21 23:39
(Received via mailing list)
$B9bLn$G$9!#(B

$BDL$k$3$H$r3NG'$7$^$7$?!#(B
$B$"$j$,$H$&$4$6$$$^$9!A!#(B

Masatoshi SEKI $B$5$s$O=q$-$^$7$?(B:
This topic is locked and can not be replied to.