なひです。

> From: "Kouhei Sutou" <kou / cozmixng.org>
> Sent: Thursday, January 29, 2004 1:06 AM

> あと,テストに関してです.
> 
> テストはtest/runner.rbで全て実行するようですが,別プロセスを
> 走らせてテストを実行することは推奨されませんよね?

そんなことはありませんです。drbが別プロセスでやっているのは
drb/extserv*のテストという面もあると思いますし、soapのCGIのテストも、
rubyのBEGINとENDのテストも、別プロセスで動かしてます。

危ないことをすればするほど、各種バグ(実装のバグや仕様のバグ ...
たとえば「このプラットフォームではsystemは動かないのだが、どこにも
仕様として明記されてなかった」など)が見つかると思います。
メンテが大変になるのは確実ですが(^^;)、チャレンジングなテストを
書いて欲しいと思います。

ここまでテストの一般論。

> 現在のRSS Parserの仕様ではrequireの順序に依存しているので今
> まではtest/test_*.rbをそれぞれ別プロセスで実行していました.

> requireの順序に依存しているのは以下の二点です.
> 
>   * rss/parser.rbがrss/{0.9,1.0}.rbなどより先にrequireされて
>     いるか.
> 
>   * rss/{xmlparser,xmlscanner,rexmlparser}.rbのどれが最初に
>     requireされるか.
> 
> 前者は必ずrss/parser.rbを先にrequireするようにしたので別にい
> いとして,後者では最初にrequireできたものをXMLパーサとして使
> 用することにしています.

soap4r、wsdl4r、xsd4rも全て、同じ問題を抱えています。これらは
現在、「xmlscan、xmlparser、rexmlの順にloadを試みて、先にみつ
かったものを使う。xmlscanがあるのにrexmlを使いたい場合、
ユーザが明示的にrexml用パーザをrequireすること」となっています。
rssモジュールとの違いは、順番だけかな。^^;

> 使用する側にしてみればどのXMLパーサを使っているかなんて気に
> したくないと思うのでこのままでもいいと思っていましたが,テス
> トのしやすさを考えると使用する側が明示的に使用するXMLパーサ
> を選べるようにもなっていた方がいいでしょう.

やっぱりそうですか? そうなったら、soapも真似しようかな。

# RAXPとか、誰か立ち上げないかなぁ。
# どうですか、XML parser書きのみなさん。