Kouhei Sutou
kou****@clear*****
2009年 9月 30日 (水) 20:57:47 JST
須藤です。 grn_expr_snip()するgrn_exprがANDを含んでいるとunmatched parenthesisとエラーを吐いちゃうみたいです。 例えば、こんな風にテストを変更して diff --git a/test/unit/core/test-expr.c b/test/unit/core/test-expr.c index cb741fd..cd30dbb 100644 --- a/test/unit/core/test-expr.c +++ b/test/unit/core/test-expr.c @@ -1172,7 +1172,7 @@ test_expr_snip(void) GRN_EXPR_CREATE_FOR_QUERY(&context, docs, expr, v); cut_assert_not_null(expr); - PARSE(expr, "search OR engine OR column", 1); + PARSE(expr, "search engine column", 1); { grn_snip *snip; 実行すると、 % test/unit/run-test.sh -n /expr_snip/ こんな風になって、 F 1) Failure: test_expr_snip expected: <snip> is not NULL test/unit/core/test-expr.c:1202: test_expr_snip(): cut_assert_not_null(snip, ) Finished in 0.111184 seconds (total: 0.031137 seconds) 1 test(s), 27 assertion(s), 1 failure(s), 0 error(s), 0 pending(s), 0 omission(s), 0 notification(s) 0% passed /var/log/groonga/groonga.logに 2009-09-30 20:50:57.559826|n| grn_init 2009-09-30 20:50:57.656092|e| unmatched parenthesis 2009-09-30 20:50:57.656487|e| /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0 [0x7f6e6d1c2e65] <= /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0 [0x7f6e6d1c3b1d] <= /home/kou/work/c/groonga/lib/.libs/libgroonga.so.0(grn_expr_snip+0xb6) [0x7f6e6d1d01bb] <= test/unit/core/.libs/test-expr.so(test_expr_snip+0x358) [0x7f6e6870756d] <= /usr/lib/libcutter.so.0 [0x7f6e6f26731d] <= /usr/lib/libcutter.so.0 [0x7f6e6f269d48] <= /usr/lib/libcutter.so.0(cut_test_case_run_with_filter+0x62) [0x7f6e6f269dc2] <= /usr/lib/libcutter.so.0 [0x7f6e6f26a7d9] <= /usr/lib/libcutter.so.0 [0x7f6e6f26ac08] <= /usr/lib/libcutter.so.0(cut_test_suite_run_with_filter+0x70) [0x7f6e6f26aeb0] <= /usr/lib/libcutter.so.0 [0x7f6e6f2657d0] <= /usr/lib/libcutter.so.0(cut_runner_run+0x38) [0x7f6e6f263d28] <= /usr/lib/libcutter.so.0(cut_run_context_start+0x42) [0x7f6e6f260a82] <= /usr/lib/libcutter.so.0(cut_start_run_context+0x14b) [0x7f6e6f265b9b] <= /usr/lib/libcutter.so.0(cut_run+0x2c) [0x7f6e6f265d3c] <= /usr/bin/cutter [0x40072f] 2009-09-30 20:50:57.668563|n| grn_fin (1) とでます。 エラーになるとしても「unmatched parenthesis」ではないメッセー ジの方がよいかと思います。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)