A big +1 to Nick for pushing the C bindings to the place they are. Great work.

Nick asked on #lucy_dev for testers. Here's my feedback:

on OS X 10.6:

./configure ... ok
make        ... ok
make test   ... fail:

RegexTokenizer is not available because Lucy was compiled without PCRE.
        lucy_RegexTokenizer_init at src/Lucy/Analysis/RegexTokenizer.c line 148
  Bad plan: You planned 68 tests but ran 0.
3/71 batches failed. 0/5029 tests failed.
Result: FAIL
make: *** [test] Error 1
[karpet@pekmac:~/projects/lucy/c]$ uname -a
Darwin pekmac.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT
2011; root:xnu-1504.15.3~1/RELEASE_I386 i386


seems like it would be most ideal to detect the lack of PCRE at configure time.

on CentOS 5:

./configure ... ok
make        ... ok
make test   ... fail:

[karpet@ira:~/src/lucy/c]$ make test
gcc -std=gnu99 -D_GNU_SOURCE -O2 -I . -I src -I ../core -I autogen/include -I
../modules/analysis/snowstem/source/include -I ../modules/unicode/ucd -I
../modules/unicode/utf8proc   -c -o t/test_lucy.o t/test_lucy.c
gcc  t/test_lucy.o -L. -llucy -o t/test_lucy
LD_LIBRARY_PATH=. t/test_lucy
Running Lucy::Test::Util::TestPriorityQueue...
Running Lucy::Test::Object::TestBitVector...
Running Lucy::Test::Object::TestVArray...
Running Lucy::Test::Object::TestHash...
Running Lucy::Test::Object::TestObj...
Running Lucy::Test::Object::TestErr...
Running Lucy::Test::Object::TestByteBuf...
Running Lucy::Test::Util::TestMemoryPool...
Running Lucy::Test::Object::TestCharBuf...
Running Lucy::Test::Util::TestNumberUtils...
Running Lucy::Test::Object::TestNum...
  Failed test 8: F64 Set_Value Get_Value
  Failed test 11: Float32_To_F64
  2/58 tests failed.
Running Lucy::Test::Util::TestStringHelper...
Running Lucy::Test::Util::TestIndexFileNames...
Running Lucy::Test::Util::TestJson...
Running Lucy::Test::Object::TestI32Array...
Running Lucy::Test::Util::TestAtomic...
Running Lucy::Test::Object::TestLockFreeRegistry...
Running Lucy::Test::Util::TestMemory...
Running Lucy::Test::Store::TestRAMFileHandle...
Running Lucy::Test::Store::TestFSFileHandle...
Running Lucy::Test::Store::TestInStream...
Running Lucy::Test::Store::TestFileHandle...
Running Lucy::Test::Store::TestIOPrimitives...
Running Lucy::Test::Store::TestIOChunks...
Running Lucy::Test::Store::TestRAMDirHandle...
Running Lucy::Test::Store::TestFSDirHandle...
Running Lucy::Test::Store::TestFSFolder...
Running Lucy::Test::Store::TestRAMFolder...
Running Lucy::Test::Store::TestFolder...
Running Lucy::Test::Index::TestIndexManager...
Running Lucy::Test::Store::TestCompoundFileWriter...
Running Lucy::Test::Store::TestCompoundFileReader...
Running Lucy::Test::Analysis::TestAnalyzer...
Running Lucy::Test::Analysis::TestPolyAnalyzer...
RegexTokenizer is not available because Lucy was compiled without PCRE.
        lucy_RegexTokenizer_init at src/Lucy/Analysis/RegexTokenizer.c line 148
  Bad plan: You planned 19 tests but ran 0.
Running Lucy::Test::Analysis::TestCaseFolder...
Running Lucy::Test::Analysis::TestRegexTokenizer...
RegexTokenizer is not available because Lucy was compiled without PCRE.
        lucy_RegexTokenizer_init at src/Lucy/Analysis/RegexTokenizer.c line 148
  Bad plan: You planned 3 tests but ran 0.
Running Lucy::Test::Analysis::TestSnowballStopFilter...
Running Lucy::Test::Analysis::TestSnowballStemmer...
Running Lucy::Test::Analysis::TestNormalizer...
Running Lucy::Test::Analysis::TestStandardTokenizer...
Running Lucy::Test::Index::TestSnapshot...
Running Lucy::Test::Index::TestTermInfo...
Running Lucy::Test::Plan::TestFieldMisc...
Running Lucy::Test::TestBatchSchema...
Running Lucy::Test::Index::TestDocWriter...
Running Lucy::Test::Index::TestHighlightWriter...
Running Lucy::Test::Index::TestPostingListWriter...
Running Lucy::Test::Index::TestSegWriter...
Running Lucy::Test::Index::TestPolyReader...
Running Lucy::Test::Plan::TestFullTextType...
Running Lucy::Test::Plan::TestBlobType...
Running Lucy::Test::Plan::TestNumericType...
Running Lucy::Test::Plan::TestFieldType...
Running Lucy::Test::Index::TestSegment...
Running Lucy::Test::Highlight::TestHighlighter...
Invalid UTF-8 header byte: 00000094
        lucy_StrHelp_decode_utf8_char at ../core/Clownfish/Util/StringHelper.c 
line 216
  Bad plan: You planned 35 tests but ran 22.
Running Lucy::Test::Search::TestSpan...
Running Lucy::Test::Highlight::TestHeatMap...
Running Lucy::Test::Search::TestTermQuery...
Running Lucy::Test::Search::TestPhraseQuery...
Running Lucy::Test::Search::TestSortSpec...
Running Lucy::Test::Search::TestRangeQuery...
Running Lucy::Test::Search::TestANDQuery...
Running Lucy::Test::Search::TestMatchAllQuery...
Running Lucy::Test::Search::TestNOTQuery...
Running Lucy::Test::Search::TestReqOptQuery...
Running Lucy::Test::Search::TestLeafQuery...
Running Lucy::Test::Search::TestNoMatchQuery...
Running Lucy::Test::Search::TestSeriesMatcher...
Running Lucy::Test::Search::TestORQuery...
Running Lucy::Test::Search::TestQueryParserLogic...
Running Lucy::Test::Search::TestQueryParserSyntax...
RegexTokenizer is not available because Lucy was compiled without PCRE.
        lucy_RegexTokenizer_init at src/Lucy/Analysis/RegexTokenizer.c line 148
  Bad plan: You planned 68 tests but ran 0.
5/71 batches failed. 2/5016 tests failed.
Result: FAIL
make: *** [test] Error 1
[karpet@ira:~/src/lucy/c]$ uname -a
Linux ira.peknet.com 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:42:30 EST 2012 i686
i686 i386 GNU/Linux


-- 
Peter Karman  .  http://peknet.com/  .  [email protected]

Reply via email to