[Senna-dev 1045] Re: 動的にメモリ割り当て関数を変更

Back to archive index

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用の両方用意して、テストではそれ
らの辞書を使うようにした方がよいかもしれません。




Senna-dev メーリングリストの案内
Back to archive index