DRb test leaves ut_eval.rb process

DRb e$B$N%F%9%H$r$9$k$H!“e(B(e$B%F%9%H$,$$$m$$$m$H<:GT$9$kB>$Ke(B)
e$B%W%me(B
e$B%;%9$,;D$k$3$H$,$”$j$^$9!#e(B

% ./ruby test/runner.rb drb

107 tests, 454 assertions, 3 failures, 19 errors
% ps auxww|grep ut_eval
akr 10687 0.0 0.2 8628 3552 pts/6 Sl 21:20 0:00
/home/akr/ruby/yarvo0/ruby/ruby
/home/akr/ruby/yarvo0/ruby/test/drb/ut_eval.rb druby://localhost:33972
ut_eval.rb
akr 11319 0.0 0.0 4256 760 pts/6 R+ 21:21 0:00 grep
ut_eval
%

boron e$B$G$d$C$F$$$ke(B chkbuild e$B$G$O!"$=$&$$$&%W%m%;%9$,$?$^$k$Ne(B
e$B$G$?$^$K<jF0$Ge(B kill e$B$9$kI,MW$,$"$j$^$9!#e(B

e$B$3$l$OLLE]$J$N$G!"%W%m%;%9$,;D$i$J$$$h$&$K$G$-$J$$$b$N$G$7$ge(B
e$B$&$+e(B?

咳といいます。

On 2007/11/24, at 21:27, Tanaka A. wrote:

ut_eval.rb druby://localhost:33972 ut_eval.rb
akr 11319 0.0 0.0 4256 760 pts/6 R+ 21:21 0:00
grep ut_eval
%

boron でやっている chkbuild では、そういうプロセスが
たまるの
でたまに手動で kill する必要があります。

これは面倒なので、プロセスが残らないようにできないものでしょ
うか?

ぜひそうしたいです。どこでも動きそうな、なにかうまい方法はな
いでしょうか?
プロセスの制御もdRubyで実装しているのがだめな気がします。
(dRubyのテストなのに)

In article [email protected],
Masatoshi SEKI [email protected] writes:

e$B$<$R$=$&$7$?$$$G$9!#$I$3$G$bF0$-$=$&$J!"$J$K$+$&$^$$J}K!$O$Je(B
e$B$$$G$7$g$&$+e(B?
e$B%W%m%;%9$N@)8f$be(BdRubye$B$G<BAu$7$F$$$k$N$,$@$a$J5$$,$7$^$9!#e(B
(dRubye$B$N%F%9%H$J$N$Ke(B)

Process.kill e$B$G;&$9$H$$$&$N$G$O$@$a$J$s$G$7$g$&$+!#e(B

咳といいます。

On 2007/11/26, at 7:42, Tanaka A. wrote:

In article [email protected],
Masatoshi SEKI [email protected] writes:

ぜひそうしたいです。どこでも動きそうな、なにかうまい方法はな
いでしょうか?
プロセスの制御もdRubyで実装しているのがだめな気がします。
(dRubyのテストなのに)

Process.kill で殺すというのではだめなんでしょうか。

現在、Windows環境でも動くのではないかと期待して
system()を使ってサブプロセスを起動してます。
そのためProcess.killに必要なpidが手に入らないよう
な気がします。
open3などをうまくつかえばできたりしますか?

それから
問題のut_eval.rbなんですが、うまく起動できていませんでした。
ut_eval.rbを起動するテストを無効にしました。

また、それ以外のサブプロセスについてもうまく終了できない、
teardownがEになるケースを見つけたのでそれも修正しました。

retry周りのエラー、どうしよう‥

e$B$J$+$@$G$9!#e(B

At Mon, 26 Nov 2007 23:53:45 +0900,
Masatoshi SEKI wrote in [ruby-dev:32368]:

e$B8=:_!"e(BWindowse$B4D6-$G$bF0$/$N$G$O$J$$$+$H4|BT$7$Fe(B
system()e$B$r;H$C$F%5%V%W%m%;%9$r5/F0$7$F$^$9!#e(B
e$B$=$N$?$ae(BProcess.kille$B$KI,MW$Je(Bpide$B$,<j$KF~$i$J$$$h$&e(B
e$B$J5$$,$7$^$9!#e(B

Windowse$B$K8B$i$:!"%7%’%k7PM3$G%P%C%/%0%i%&%s%I$K2s$7$F$$$k8B$j!“e(B
e$BD>@\e(Bpide$B$rF@$kJ}K!$O$”$j$^$;$s!#e(B1.9e$B8BDj$J$ie(B
Process.spawn e$B!“e(B1.8e$B$He(B
e$B6&DL$K$7$?$$$J$ie(BIO.popen(…, “w”).pid
e$B$”$?$j$G$I$&$G$7$g$&$+!#e(B

open3e$B$J$I$r$&$^$/$D$+$($P$G$-$?$j$7$^$9$+e(B?

e$B$$$^$N$H$3$m!"e(Bopen3e$B<+BN$,e(BWindowse$B$G$OF0$-$^$;$s!#e(B