Kouhei Sutou
kou****@cozmi*****
2008年 9月 28日 (日) 20:06:20 JST
須藤です。 In <48DF5****@razil*****> "[Senna-dev 1044] Re: 動的にメモリ割り当て関数を変更" on Sun, 28 Sep 2008 19:33:09 +0900, Tasuku SUENAGA <a****@razil*****> wrote: > >>>> 現在のconfigureオプションである--enable-fmallocをつけたときだけ > >>>> 有効になるようになると嬉しいなぁ…と。 > >>> そういうようにしてコミットしてみました。 > >> ありがとうございます!試します。 > > よろしくお願いします。 > > 試してみました。快調に?失敗してくれているようです。 よかったです。 > 1点、気になることがありました。 > test-inverted-index.cにて、 > context = sen_ctx_open(NULL, SEN_CTX_USEQL); > のようにcontextをsetup()内で設定しています。 > ここで失敗した場合にcontextがNULLになります。 > > この場合に、sen_ii系の関数を呼ぶと落ちてしまいます。 > sen_ii系の関数は直接ユーザが外部から触ることは想定していないので、 > 関数冒頭でcontextがNULLかどうかの判定を行っていません。 > > というわけで、test-inverted-indexにおいては、 > setup()内でcontext確保に失敗した場合に > テストケースを飛ばしたりしたいなぁ… > と思ったのですが、そういう機能がcutterにあったりしないでしょうか? setup()内でもcut_error()やcut_omit()などが使えるので、これで いけます。ただ、setup()ないで発生したerrorなどをUIにつなげる 部分がバグっていたのでCutter 1.0.4では表示に反映されませ ん。。。1.0.5では直しておきます。。。 Index: test/unit/test-inverted-index.c =================================================================== --- test/unit/test-inverted-index.c (リビジョン 1150) +++ test/unit/test-inverted-index.c (作業コピー) @@ -92,6 +92,8 @@ path = g_build_filename(tmp_directory, "inverted-index", NULL); context = sen_ctx_open(NULL, SEN_CTX_USEQL); + if (!context) + cut_error("sen_ctx_open() is failed"); space_path = g_build_filename(tmp_directory, "space", NULL); space = sen_space_create(context, space_path, sen_enc_utf8); > >> 失敗するテストについては > >> もうちょっと再現条件を絞ってみますね。 > > test/unit/ではUTF-8を前提に書いているので、それのせいなのかなぁ > > とも思いました。UTF-8のMecabの辞書がないとか。 > > おおー、おそらく原因はそれですね! どのエンコーディングのMecabの辞書があるかがわかるとどちらに も対応したテストがかけると思うんですが。。。 テスト用の辞書をEUC-JP/UTF-8用の両方用意して、テストではそれ らの辞書を使うようにした方がよいかもしれません。