Ryo Onodera
onode****@clear*****
2009年 10月 27日 (火) 10:24:15 JST
小野寺です。 別のスレッド([groonga-dev,00236] test_expr_parse()を各parse_levelについ てテストするように変更)で話していたアサート強化のコミットを作成しまし た。 test-expr.c内のprepare_data()を呼ぶテスト関数では、grn_table_select()か ら返されてきたresはgrn_table_size()でしかアサートされていませんでした。 私は今後grn式周りのテストを追加していく予定なので、早い段階でしっかりと したアサート関数が必要だと思いました。よってGListを作成し、要素の数と内 容をしっかりチェックするアサート関数を定義し、現時点のテスト関数をその新 しいアサート関数を使うように変更しました。これらの変更点が入っているコ ミットが次のものです。 add grn_test_assert_select() http://github.com/ryoqun/groonga/commit/e8f1f4c80f29f5bb9d12ff2e5cd438941b693eed それと、このパッチを作成している時に、非常に小さい修正を二つほど作成しま した。 次のコミットはPARSE()内のgrn_expr_parse()の返り値であるgrn_rcを grn_test_assert()でチェックするようにします。 wrap grn_expr_parse() with grn_test_assert() in PARSE() http://github.com/ryoqun/groonga/commit/04d7b9345b1bb53e59152063c154114161b82dbf 次のコミットはtest-expr.cのコンパイル時にGRN_EXPR_CREATE_FOR_QUERY()内で 必ずvを初期化するようにし、gccから警告を出ないようにします。 fix gcc warning in GRN_EXPR_CREATE_FOR_QUERY() http://github.com/ryoqun/groonga/commit/24d0261b9941b5eca30ff25da7707fe55de7a6dc これら三つのコミットは私のgroongaフォークの次のブランチにpushしてありま す。 http://github.com/ryoqun/groonga/commits/grn_test_assert_select_v3 最後の二つを除き、最初のコミットは少し大きめなので、確認お願いします。問 題がないようならばpushしたいと考えています。 確認の方法: まったく新しいローカルgitレポジトリを作る方法です。全てをリ ビルドする必要がありますが、他のローカルリポジトリにまったく影響を与えな いので、間違ったとしても安全です。 git clone git://github.com/ryoqun/groonga.git groonga-ryoqun cd groonga-ryoqun/ git checkout origin/grn_test_assert_select_v3 ./autogen.sh ./configure make make check 上から三番目のコマンドでメッセージが表示されますが、動作テストをするだけ ならば特に気にしなくて大丈夫です。 それではよろしくお願いします。 -- 小野寺 諒 <onode****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)